2016-03-26 38 views
15

我在Windows和Mac上使用Visual Studio代码(VSC)0.10.11。对于这个问题的目的,我有这个小JavaScript片段:Visual Studio代码智能感知不适用于Javascript

'use strict'; 

const os = require('os'); 
console.log(os.homedir()); 

我跟约翰爸爸在Visual Studio代码(Blog entryPluralsight Visual Studio Code JavaScript Intellisense - 为那些谁拥有一个帐户),因此我预计VSC提供智能感知和快速修复选项可用时。

在上述VSC的片段识别consolelog()(I使用胡佛,但它是与智能感知相同):

console log

但不oshomedir()

os homedir

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

所以我的问题是

  • 我如何可以使智能感知所有已知的分型?
  • 我需要做什么,VSC为我提供快速修复(缺少类型的模块下的绿线)?

回答

16

上述链接已过时。在旧版本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

更新:

由于1.7版本有他们不需要手动安装类型应该自动下载。 Better JavaScript IntelliSense

+2

用适当的'jsconfig。json'智能感知工作。但是,当您在第一个链接中阅读文档时,即使没有“jsconfig.json”可用,它也应该是默认行为:*注意:如果您的工作空间中没有jsconfig.json,VS Code将默认排除node_modules文件夹和由out属性定义的文件夹。* + * IntelliSense会自动提供给项目文件夹中的CommonJS和AMD模块。*因此,我认为这只是一个错误,它不能在没有配置文件的情况下工作。无论如何,现在它的工作。感谢您的回答! – ChrLipp

+4

https://code.visualstudio.com/updates/ 他们已经改变了这种行为为jsconfig.json。 >如果您的工作空间中没有jsconfig.json,则使用以下默认值: 排除列表包含node_modules文件夹和由out属性定义的文件夹。 请注意,如果您没有定义jsconfig.json来标记项目的根目录,则每个JavaScript文件都被Salsa视为一个岛。如果没有jsconfig.json文件,交叉文件和类型文件IntelliSense将不起作用。 –

+2

我认为这是使用测试版软件的缺点,事情变化很快。 –