Visual Studio Code Intellisense 不适用于 NPM 包

Aji*_*oel 6 visual-studio-code

我在 Windows 上使用 Visual Studio Code 1.20.0。我的智能感知无法正常工作,例如:Visual Studio 代码无法检测到 youtubedl 包具有 getinfo 方法。社区是否可以就我需要做什么才能使智能感知正常工作提供意见?如果没有,我如何浏览 NPM 包以查找它公开的各种方法(在 .Net 中,我们可以使用对象资源管理器执行相同的操作)?

在此输入图像描述

yuy*_*han 2

我也遇到同样的问题。我在 macOS High Sierra 上使用 VS Code v1.24.0。

从页面引用:https://code.visualstudio.com/docs/languages/javascript#_fixing-npm-not-installed-warning-for-automatic-type-acquisition。VS Code 通过 ATA(自动类型获取)功能自动下载和管理 JS 的类型声明文件(*.d.ts),但它对我来说也不起作用。

所以我发现这个: https://github.com/DefinitelyTyped/DefinitelyTyped。我们可以使用这种命令手动下载类型声明文件:

npm install --save-dev @types/name_for_the_ package

并且您可以选择使用 VS Code 中的扩展Types 自动安装程序来帮助您在运行时下载类型声明文件npm install。也许有时Types auto installer也不起作用,但您无论如何都可以手动下载类型文件。

安装类型文件后,您将再次获得智能感知。

在此输入图像描述

大多数情况下,类型声明包的名称应始终与 npm 上的包名称相同,但以 @types/ 为前缀,但如果需要,可以查看http://microsoft.github.io/TypeSearch/来查看找到您最喜欢的库的包。

TypeScript-声明文件-消耗

在某些情况下,您可能需要将jsconfig.json文件添加到项目中。

目录中存在 jsconfig.json 文件表明该目录是 JavaScript 项目的根目录。jsconfig.json 指定 JavaScript 语言服务提供的语言功能的根文件和选项。对于常见设置,不需要 jsconfig.json 文件,但是,在某些情况下您需要添加 jsconfig.json。

并非所有文件都应该位于您的 JavaScript 项目中(例如,您想要从显示 IntelliSense 中排除某些文件)。这种情况在前端和后端代码中很常见。

您的工作区包含多个项目上下文。在这种情况下,您应该在每个项目的根文件夹中添加一个jsconfig.json文件。(jsconfig.json可以没有内容。)

您正在使用 TypeScript 编译器来向下编译 JavaScript 源代码。