如何让ASP.NET Core MVC项目中JSDoc的@typedef和@type显示智能提示?
在ASP.NET Core MVC项目中让JSDoc智能提示正常工作的方法
我在VS Code和Visual Studio 2022的ASP.NET Core MVC项目里成功用过JSDoc,你遇到的类型未解析问题可以通过以下几个步骤解决:
添加jsconfig.json配置文件
在项目根目录新建jsconfig.json,内容如下:{ "compilerOptions": { "checkJs": true, "strict": false }, "include": ["**/*.js", "wwwroot/**/*.js"] }这个文件会触发TypeScript语言服务对JS文件的类型检查,识别JSDoc定义的类型。VS Code会自动读取这个配置,Visual Studio 2022重启后也会生效。
修正@typedef的语法错误
你写的@typedef {Region}是错误的,正确的定义方式应该是@typedef {Object} Region(或者直接@typedef Region,明确标注Object更清晰),修改后的代码:/** * Grid column data for mapping/region * @typedef {Object} Region * @property {string} regionId - Region ID * @property {string} regionName - Region name * @property {string} updatedBy - User name that last updated the record * @property {string} updatedDate - String version of date the record was last updated */ /** @type {Region[]} */ const gridData = oracleData.map((item) => { /** @type {Region} */ const gridItem = { regionId: item.regionId, regionName: item.regionName, updatedBy: item.lastUpdateUserId, updatedDate: item.lastUpdateDtmText } return gridItem })原来的写法相当于引用一个不存在的
Region类型,自然会显示未解析。检查Visual Studio 2022的TypeScript配置
如果用Visual Studio 2022,确保:- 安装了最新的TypeScript SDK(通过Visual Studio Installer的单个组件安装)
- 项目属性→TypeScript Build中,
Enable JavaScript IntelliSense设为True,并选择合适的TypeScript版本
按照这些步骤操作后,hover变量时就能正确显示JSDoc定义的类型信息了。
内容的提问来源于stack exchange,提问作者clubside
相关产品推荐
相关产品推荐

