Visual Studio Code Intellisense不适用于Javascript

Chr*_*ipp 24 javascript node.js visual-studio-code

我在Windows和Mac上使用Visual Studio Code(VSC)0.10.11.出于这个问题的目的,我有一个小的JavaScript代码段:

'use strict';

const os = require('os');
console.log(os.homedir());
Run Code Online (Sandbox Code Playgroud)

我在Visual Studio Code(博客条目Pluralsight Visual Studio代码JavaScript智能感知 - 对于那些拥有帐户的人)上关注了John Papa ,因此我希望VSC在打字时提供Intellisense和Quick fix选项.

在VSC上面的片段中识别consolelog()(我使用胡佛,但它与Intellisense相同):

安慰 日志

但不是oshomedir():

口 主目录

但所有4种类型都可用typings/main/ambient/node/index.d.ts.我知道不同之处require在于os,但在John Papa的视频课程中,VSC还为所需的模块提供了IntelliSense.不同之处在于John Papa tsd在我使用时使用typings.

所以我的问题是

  • 如何为所有已知类型启用Intellisense?
  • 我有什么办法,VSC为我提供快速修复(绿色线条模块下缺少打字)?

Dau*_*kov 26

以上链接已过时.在旧版本的VS Code中,您需要引用您的类型/// <reference path> for somelibrary.d.ts.

对于新版本,您需要通过jsconfig.json在项目的根目录创建并在内部添加以下内容来初始化项目:

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs"
    },
    "exclude": [
      "node_modules"
    ]
}
Run Code Online (Sandbox Code Playgroud)

接下来安装你需要的打字.您可以使用tsd或typings.在您的情况下,您需要安装tsd install nodetypings install node --ambient.确保已typings/tsd安装.重启项目.

请参考文档:

  1. 安装JS项目 - https://code.visualstudio.com/docs/languages/javascript
  2. Node.js - https://code.visualstudio.com/docs/runtimes/nodejs
  3. 调试 - https://code.visualstudio.com/docs/editor/debugging

更新:

从版本1.7开始,无需手动安装打字,应自动下载.更好的JavaScript IntelliSense

  • https://code.visualstudio.com/updates/他们为jsconfig.json改变了这种行为.>如果工作空间中没有jsconfig.json,则使用以下默认值:排除列表包括node_modules文件夹和out属性定义的文件夹.请注意,如果您没有定义jsconfig.json来标记项目的根目录,那么Salsa会将每个JavaScript文件视为一个岛屿.如果没有jsconfig.json文件,则交叉文件和Typings文件IntelliSense将无法运行. (4认同)
  • 使用正确的`jsconfig.json`,IntelliSense正在运行.但是,当您在第一个链接上阅读文档时,它应该是默认行为,即使没有`jsconfig.json'可用:*注意:如果您的工作区中没有jsconfig.json,则VS Code将默认排除node_modules文件夹和out属性定义的文件夹.*+*IntelliSense会自动提供给项目文件夹中的CommonJS和AMD模块.*所以我认为这只是一个没有配置文件就无法运行的错误.无论如何,现在它的工作原理.感谢您的回答! (2认同)
  • 我认为这是使用测试版软件的缺点,事情变化很快. (2认同)

小智 16

有一个名为TypeScript 和 JavaScript 语言功能(vscode.typescript-language-features) 的内置扩展已被禁用。

要启用它,请打开“扩展”面板,搜索“@built-in JavaScript”,然后启用所需的扩展。

现在您应该能够使用自动完成功能。

  • 现在是“@builtin Javascript”。Flow 扩展中有关于禁用内置语言功能的说明,您可能会在卸载后忘记将其重新打开。 (4认同)