如何将Intellisense文件导入vsCode(Visual Studio代码)

kur*_*ett 32 javascript-intellisense node.js express visual-studio-code

我不确定我是否理解intellisense如何为Microsoft的新vsCode文本编辑器工作.在"Great Code Editing Experience"标题下的文档中,它在节点全局变量下显示警告,并提供灯泡建议以添加对d.ts文件的引用,以便您可以获取节点的智能感知:__dir

在此输入图像描述

我有两个问题:

1 - 如何直接导入DefinitelyTyped文件(d.ts)(没有编辑器建议)或者我是否必须从github源复制它们并将它们放在typings目录中?

2 - 我可以获得任何具有打字稿定义的库的智能感知吗?我尝试了以下,但是当我输入express.或者when.,我没有得到任何intellisense.但是,我确实得到了节点intellisense.

/// <reference path="../typings/node/node.d.ts"/>
/// <reference path="../typings/express/express.d.ts" />

var when    = require('when')
  , express = require('express')
  , gulp    = require('gulp')
Run Code Online (Sandbox Code Playgroud)

kur*_*ett 49

更新:2016年8月:TSD现已折旧.而是使用 https://www.npmjs.com/package/typings

npm install typings --global
Run Code Online (Sandbox Code Playgroud)

要么

如果使用2016年7月29日发布的VS2015 NodeJS v1.2,则首次使用时会自动安装typings-core@1.3.1:

Executing command 'npm install "C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 14.0\COMMON7\IDE\EXTENSIONS\MICROSOFT\NODE.JS TOOLS FOR VISUAL STUDIO\1.2\TypingsAcquisitionTool"
ntvs-typings-acquisition-tool@1.0.0 ..\..\..\..\..\node_modules\ntvs-typings-acquisition-tool
??? minimist@1.2.0
??? typings-core@1.3.1 (array-uniq@1.0.3, thenify@3.2.0, zip-object@0.1.0, popsicle-status@2.0.0, popsicle-retry@3.2.1, listify@1.0.0, promise-finally@2.2.1, xtend@4.0.1, graceful-fs@4.1.5, throat@3.0.0, lockfile@1.0.1, strip-bom@2.0.0, sort-keys@1.1.2, string-template@1.0.0, make-error-cause@1.2.1, any-promise@1.3.0, has@1.0.1, rc@1.1.6, object.pick@1.1.2, debug@2.2.0, mkdirp@0.5.1, invariant@2.2.1, configstore@2.0.0, parse-json@2.2.0, touch@1.0.0, detect-indent@4.0.0, is-absolute@0.2.5, popsicle-proxy-agent@3.0.0, rimraf@2.5.4, popsicle@8.0.4, typescript@1.8.7)
Run Code Online (Sandbox Code Playgroud)

-----原创答案-----

有一个Typescript Definition Files的包管理器.这是一个社区驱动的存储库,包含许多流行库的Typescript定义.

您可以按照此处的说明安装tsd .

在全局安装tsd之后,您可以在命令行中从项目根目录安装软件包,如下所示:

$ tsd install express --save
Run Code Online (Sandbox Code Playgroud)

如果一个目录不存在,这将创建一个typings目录,并添加一个带有express.d.ts文件的express目录.

截图

它还会创建一个tsd.d.ts包含对所有tsd文件的引用的文件.如果我再安装几个tsd,这就是它的样子.

在此输入图像描述

现在要访问我的tsd文件,我需要做的就是在我的代码顶部引用它们的路径 /// <reference path="typings/tsd.d.ts" />

在此输入图像描述

现在我得到了智能感知.

在此输入图像描述

  • 对不起,但这并没有回答这个问题.我有同样的问题并使用TSD.当使用TypeScript时,似乎无法使用语法"var xxx = require('yyy');"导入的模块获得intellisense.intellisense只在使用语法"import xxx = require('yyy');"时出现.但随后生成的JS包含一个不存在的"define(...)"函数......(更不用说"require"关键字不会显示为蓝色,如屏幕截图所示). (2认同)

Dim*_*min 16

在2016年1月,"tsd"包被弃用了.请改用"typings"包.

请参阅https://github.com/DefinitelyTyped/tsd/issues/269

你可以在VS Code(ext install)中找到两个扩展 - Typings InstallerTypings,它有助于从VS Code轻松安装d.ts定义文件.