你不需要任何插件。只需在tsconfig.json
中启用typeAcquisition,方法如下:
{
...
"typeAcquisition": {
"enable": true
}
}
这使得TypeScript的定义文件可以自动检测并下载。 当我更改设置时,我经常重新加载窗口(重启VSCode)以确保读取了设置,但并非总是必要的。
如果使用tsconfig.json配置文件,则默认情况下禁用此功能,但可以按照以下说明将其设置为启用状态。 来源
之前它位于typingOptions.enableAutoDiscovery下,但已被重构为typeAcquisition.enable,如该Github问题所示。您仍然可以在这些网站上找到有关typingOptions.enableAutoDiscovery的参考信息。我发现在typeAcquisition上查找信息较困难,但模式证明它的存在。
缺失 tsconfig.json
?按照此处的顶部答案创建一个。
我不确定这是否完全解决了所提出的问题,但是我在我的TypeScript项目(Vue 3、Vite和TypeScript)中遇到了一些IntelliSense问题。我收到了一个警告,说“Partial mode - Project wide IntelliSense not available”,并附带了一个指向此信息页面的链接:https://code.visualstudio.com/docs/nodejs/working-with-javascript#_partial-intellisense-mode
经过一些研究,我发现我在我的设置中使用了下一个选项:
"typescript.tsserver.useSyntaxServer": "always",
该选项使用较轻的服务器来处理 IntelliSense,但仅限于打开的文件。如果您有此行,请将其删除以再次拥有“项目范围内 IntelliSense”。
你能分享你的 tsconfig.json 和 VSCode 设置吗?
如果需要,我可以为此打开一个单独的问题或将其删除。 我认为这可能很有用。
"typescript.tsserver.useSyntaxServer": "auto",
并参考了这个页面。
感谢 @Wandeber - MoonTaeTae也许你有选项 "typescript.suggest.completeJSDocs": false
。
在这种情况下,将其改为true
可能会有所帮助。
https://code.visualstudio.com/docs/languages/typescript#_jsdoc-support
请记住,在使用 JSDoc 编写 TypeScript 代码时,不应包含类型注释。TypeScript 编译器仅使用 TypeScript 类型注释,并忽略 JSDoc 中的类型注释。我遇到了一个与npm模块相关的问题,该模块没有来自definitely typed的类型定义。
刚刚我发现,如果在你的.ts文件中添加对.js文件的引用,你就可以获得所引用文件的智能提示。
我的文件顶部看起来像这样:
///<reference path="../node_modules/tinkerforge/Tinkerforge.js" />
///<reference path="../node_modules/tinkerforge/lib/IPConnection.js" />
import * as tinkerforge from "tinkerforge";
let ip = new tinkerforge.IPConnection();
ip.connect();
对我来说,这似乎是一种黑客方式,但它可以在不编写此模块的d.ts文件的情况下实现我想要的功能。
还有其他人可以尝试并确认它是否有效吗?