Visual Studio Code 使用 Typings 实现智能提示功能
前言
我们知道在IDE中代码的智能提示几乎都是标配,虽然一些文本编辑器也有一些简单的提示,但这是通过代码片段提供的。功能上远不能和IDE相比。不过最近兴起的文本编辑器的新锐 Visual Studio Code 可以通过 Typings 来对 JavaScript 实现智能提示功能,对于一个文本编辑器来说,这点很难得。所以Visual Studio Code 特别适合用来编写 JavaScript(Node.js)程序; 同时,如果我们需要编写一些尝试性的小代码片段,例如:Lodash.js 某个函数的小Demo,因为我们不想研究一个函数的使用方式而去使用IDE新建一个项目,这时候Visual Studio Code 就是一个非常好的选择,而且它同样可以运行和调试 JavaScript 代码(依赖于 Node.js),并且还包含非常方便的代码提示功能。
从这点来说,我觉得Visual Studio Code 已经算得上是一个精悍的小型IDE了。
通过NPM安装Typings
通过 NPM 我们可以很容易的安装 Typings ,在命令行中输入:
npm install -g typings
安装完成后,在命令行中输入:
typings --version
看到版本信息就表示 typings 工具安装完成了:
NPM是和Node.js一起安装的,如果你想使用NPM的话,那么你应该先安装Node.js。
安装相关提示信息文件
安装完成后,我们需要安装相应的需要提示功能库或者框架的类型信息文件,在这里我们新建一个文件夹 NodeSnippet,使用命令行进入到该目录中,分别输入下面两个命令来安装Node和Lodash的类型接口信息文件:
typings install dt~node --global --save
typings install lodash --save
什么时候需要使用 --global 参数:
- 如果安装的包使用
script标记来引用(如jQuery)(也就是在浏览器中使用)- 这个包是属于环境的一部分(如
node)时- 该包没有使用
--global安装失败时
这时候我们可以看到我们的 NodeSnippet目录中多了一些文件:
这些文件就是为我们提供提示信息的类型类型文件(使用TypeScript定义)。查看Typings是否支持某个库或框架的智能提示,我们可以使用下面的命令:
typings search exampleName
启用智能提示功能
通过两种方式来启动提示功能:
- 第一种是在需要进行只能提示的文件最上行增加提示信息文件所在目录,格式如下:
/// <reference path="./typings/index.d.ts" />
- 第二种是在项目所在目录(在这里是
NodeSnippet文件夹中)增加一个名为jsconfig.json的空文件。
更多
jsconfig.json文件的内容可以参考:https://code.visualstudio.com/docs/languages/javascript
启用提示功能后我们就可以非常愉快的使用Visual Studio Code 为我们提供的智能提示功能了。如下所示:

注意事项
Typings VS TSD
Typings是作为TSD的替代者而出现的,如果你已经安装了TSD,那么需要知道现在TSD已经不推荐使用了。如果已经安装TSD请执行下面的命令来移除它:
npm rm -g tsd
使用 CNPM
在国内由于墙的原因,有时候使用NPM安装模块的速度上会很慢,这时候我们其实可以选择国内淘宝的NPM镜像,使用下面的命令来进行安装:
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装完成后使用cnpm来代替npm命令即可,例如下面安装一个lodash模块的示例:
cnpm install lodash
可以看到除了cnpm替代了npm其他的并没有任何区别。
参考&进一步阅读
https://github.com/typings/typings
https://code.visualstudio.com/docs/languages/javascript
https://npm.taobao.org/
Visual Studio Code 使用 Typings 实现智能提示功能的更多相关文章
- 让Visual Studio Code对jQuery支持智能提示!
本人新手,对代码各种不熟悉,记不准确,总是打错,造成各种失误!! 其实这个方法应该适合大部分前端开发工具!! 园里子有前人写了一篇文章对智能提示的实现!不过很多新手看不懂吧. http://www.c ...
- Visual Studio 2013开启JavaScript的智能提示功能
在前一次的发布的时候,我们共享了Visual Studio 2013中Windows Azure移动服务的集成和功能.其中包含了移动服务表脚本的编辑能力的介绍.这一次的发布,我们将描述在Visual ...
- Visual Studio Code使用typings拓展自动补全功能
转自:http://blog.csdn.net/liyijun4114/article/details/51658087 参考来源: 官方介绍: https://code.visualstudio.c ...
- Visual Studio 2012设置Jquery/Javascript智能提示
Visual Studio 2012设置Jquery/Javascript智能提示 在Visual Studio 2008 Visual Studio 2010中微软已经开始支持jquery/java ...
- Visual studio 2017 中的Javascript智能提示与调试
1.智能提示 对于JS文件中的API,你若需要让那个JS文件中的方法能够在你写的那个JS文件中能够智能显示的话,直接把它拉进你的JS文件中就好了. 举个例子:你想 在你正在写的a.js文件中引用b.j ...
- Visual Studio Code python 代码快速自动提示
1.file --> setting->设置 搜索 python 或者auto_complete setting.json { "explorer.confirmDelete&q ...
- Visual Studio Code(VS code)你们都在用吗?或许你们需要看一下这篇博文
写在前面 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code. 都不用我安利VS code,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VS code比德 ...
- 【转】Visual Studio Code(VS code)你们都在用吗?或许你们需要看一下这篇博文
写在前面 在前端开发中,有一个非常好用的工具,Visual Studio Code,简称VS code. 都不用我安利VS code,大家就会乖乖的去用,无数个大言不惭的攻城狮,都被VS code比德 ...
- Visual Studio Code(VS code)介绍
一.日常安利 VS code VS vode特点: 开源,免费: 自定义配置 集成git 智能提示强大 支持各种文件格式(html/jade/css/less/sass/xml) 调试功能强大 各种方 ...
随机推荐
- Java EE开发平台随手记4——Mybatis扩展3
接着昨天的Mybatis扩展——IDaoTemplate接口. 扩展9:批量执行 1.明确什么是批量执行 首先说明一下,这里的批量执行不是利用<foreach>标签生成一长串的sql字符串 ...
- hibernate(四) 双向多对多映射关系
序言 莫名长了几颗痘,真TM疼,可能是现在运动太少了,天天对着电脑,决定了,今天下午花两小时去跑步了, 现在继上一章节的一对多的映射关系讲解后,今天来讲讲多对多的映射关系把,明白了一对多,多对多个人感 ...
- wamp2.5 配置Apache允许外网访问
找到<Directory "e:/wamp/www/">节点,在里面添加Require all granted
- Android入门(三)Activity-生命周期与启动模式
原文链接:http://www.orlion.ga/432/ 一.活动的生命周期 1.返回栈 Android中的活动是可以重叠的,我们每启动一个新的活动,就会覆盖在原活动之上,然后点击Back键会销毁 ...
- (4) PIVOT 和 UPIVOT 的使用
最近项目中用到了行转列,使用SQL SERVER 提供的PIVOT实现起来非常容易. 官方解释:详见这里 可以使用 PIVOT 和 UNPIVOT 关系运算符将表值表达式更改为另一个表. PIVOT ...
- 天气webservices
Web现状 Web服务 概念 具有web服务 构成 UDDI WSDL 天气预报 web服务现状 记的以前看VB.NET时中间就介绍了WSDL,而今又学到web服务,所以用天气预报的实例学习一 ...
- Struts2 源码分析——项目分析
项目知识点分析 从上一章中我们知道了接下来我们要去了解源码的项目(struts2-showcase).而这一章将讲述我三年后在次接触struts2-showcase项目是一个什么样子的情况.我有一个工 ...
- MVC中Action参数绑定的过程
一.题外话 上一篇:MVC中Action的执行过程 ControllerContext 封装有了与指定的 RouteBase 和 ControllerBase 实例匹配的 HTTP 请求的信息. 二. ...
- 15天玩转redis —— 第八篇 你不得不会的事务玩法
我们都知道redis追求的是简单,快速,高效,在这种情况下也就拒绝了支持window平台,学sqlserver的时候,我们知道事务还算是个比较复杂的东西, 所以这吊毛要是照搬到redis中去,理所当然 ...
- LeetCode5:Longest Palindromic Substring
题目: Given a string S, find the longest palindromic substring in S. You may assume that the maximum l ...