Может быть JSDoc это вариант? Вам может понадобиться npm i @types/express -D
(но я думаю, vscode все равно делает это в фоновом режиме)
// The require is painful. I wonder if there is a away to do without it?
const Express = require("express");
/** @type {Express.RequestHandler} */
module.exports = function (req, res, next) {
req.???
next();
}
Или вместо этого вы можете начать использовать машинопись. ;)
https://github.com/Microsoft/TypeScript/wiki/JSDoc-support-in-JavaScript
Я обнаружил, что вы можете использовать файл объявления машинописного текста:
myTypes.d.ts
import Express from "express";
declare global {
type RequestHandler = Express.RequestHandler;
}
Типы шрифтов обычно связаны с областью действия модуля, но вы можете импортировать любой тип и повторно объявить его в глобальной области.
Теперь vscode находит типы без добавления импорта.
myMiddleware.js
/** @type RequestHandler */
module.exports = function (req, res, next) {
req. // intellisense works
}