Visual Studio Code Intellisense不适用于Javascript

时间:2016-03-26 12:24:00

标签: 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());

我跟随John Papa使用Visual Studio Code(Blog entryPluralsight Visual Studio Code JavaScript Intellisense - 对于那些拥有帐户的人),因此我希望VSC在打字时提供Intellisense和Quick fix选项。< / p>

在上面的代码段中,VSC会识别consolelog()(我使用胡佛,但与智能感知相同):

console log

但不是oshomedir()

os homedir

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

所以我的问题是

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

4 个答案:

答案 0 :(得分:24)

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

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

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs"
    },
    "exclude": [
      "node_modules"
    ]
}

接下来安装您需要的输入。您可以使用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
  4. 更新

    从版本1.7开始,无需手动安装打字,应自动下载。 Better JavaScript IntelliSense

答案 1 :(得分:1)

我在全局“进程”对象上遇到过这种情况。 Vscode 为进程对象启用智能感知,仅当我向文件中添加任何“require”语句时。

所以如果没有任何其他的require语句,你可以添加

const process = require('process');

在脚本的开头获取智能感知。

答案 2 :(得分:0)

好吧,在经过4个小时的谷歌搜索之后,我决定卸载nodejs,npm和typescript,然后再次安装它们。上一次我使用 nvm 安装它们,但是这次我决定不使用nvm只是从节点源安装它们,因为我使用的是Ubuntu,我执行了波纹管命令,对于Windows或mac来说,它们无需安装任何软件包即可安装或版本管理器。

npm cache clean --force
npm install -g  @vue/cli

上面的命令同时安装了nodejs和npm,然后安装打字稿后我运行了波纹管命令

curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs

我将VSCode更新为最新版本。

enter image description here

然后,在我的VSCode的右下角,我单击了javascript来更改语言模式,我在搜索栏上写了“ type”,然后选择Typescript作为我新选择的语言模式.....宾果游戏

enter image description here

答案 3 :(得分:0)

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

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

现在,您应该可以使用自动完成功能了。