如何在 VSCode 中启用 Node.js 代码自动完成?

How to enable Node.js code autocompletion in VSCode?

我已经安装了 Visual Studio Code 和 Node.js 并且两者基本上都可以工作,但是自动完成没有(完全)工作。如果我键入 'console.',我确实会看到一个列表弹出窗口。同样,如果我这样做: const http = require("http"); http.

但是,如果我只输入 'process.',我什么也看不到。事实上,只要我输入“。”代码自动完成 'process' 到 'ProcessingInstruction'。我期待看到 argv 弹出,以及在 Node 提示符下键入 'process' 时看到的所有其他内容。

这是我在键入 'console.' 时看到的内容: 耶 - 它有效!

但这是我在输入 'process.' 时看到的内容(我必须将自动完成的 'ProcessingInstruction' 改回 'process'): 嘘——它不知道 'process'! :(

您需要告诉 VS Code 关于 Node JS 中的类型(因为您在评论中自言自语)。为此,您可以通过以下命令为节点 运行 安装类型(假设您已经 运行 npm init):

npm install --save-dev @types/node

它将安装 Node JS 的类型,VS Code 会自动选择这些类型,您将自动完成所有特定于 Node JS 的事情。您甚至不必重新启动 VS Code。

当您向项目添加更多依赖项时(如果您将这样做)。他们中的许多人也有一个 @types/X 包(如果他们没有已经包含在包中),这也将允许自动完成。

如果您的节点应用程序使用纯 javascript,则在包含所需模块时,应使用单引号而不是 double-quotes 来定义它们。如果您使用的是代码格式化程序扩展程序,例如“Prettier”,默认情况下它会在 IntelliSense 之前添加它,那么您必须更新您的设置以使用单引号。

根据 Microsoft 文档:https://code.visualstudio.com/docs/nodejs/working-with-javascript

IntelliSense for JavaScript libraries and frameworks is powered by TypeScript type declaration (typings) files.

Automatic type acquisition requires npmjs, the Node.js package manager, which is included with the Node.js runtime.

在我的情况下,我没有安装 npmjs,这就是自动类型获取失败的原因。

*编辑,也就是说,在安装 npm 之后,我的自动完成功能开始成功用于节点相关提示。