VS Code 中的自动完成

原文

vscode 1.6.x 发布了,有一系列的新特性,我个人比较开心见到 ts/js 语法着色有提升,我还专门搞了个 issue 吐槽过这个。

当然今天不是扯 vscode 的更新节奏很快的梗,而是扒一扒它的自动完成上一篇文章已经介绍过,自动完成typings 紧密相关。

typings 官网描述:

The TypeScript Definition Manager.

显然是要扯到 typescript 了,有些哥们发誓说这辈子都不用 typescript ,忍一忍,一会就要说到 js 了。

Typescript Definition

Typescript Definition 是啥?官网 上也没瞧出个所以然来,不了解 ts 显然不能理解这鬼。这个时候就该我出场了。

随意搞点 ts 的代码:

报错了,设置严格一点,甚至编译不会通过。想象下如果 abcde 是第三方库如 jQuery 等就尴尬了。

如上图,简单地 declare 下就能解决这个问题,这个过程可以称作 define,将上述 declare 代码抽到一个 .d.ts 结尾的文件中单独维护,这个文件叫声明文件(declaration file),也可以称之为 definition 。 报错的问题解决了,现在有新的问题,一大堆第三方库的 definition 怎样维护更新?怎样查找安装?

管理 definition

最早的一款工具叫 tsd ,因为它只能安装全局类型声明,于是就被抛弃了。

这个时候我们的 typings 隆重登场,它可以解决几乎所有 definition 的问题,唯一蛋疼的地方是要安装一下,以及各种奇怪的命令行参数。

ts 2.0 之后,可以用 npm 来管理 definition ,你只需这样:

npm install @types/jquery -S

详情可以参阅这篇文章

VS Code 中的 definition

definition 的作用当然远不止给 ts 本身来用,编辑器可以利用它来做非常强大的代码提示。 下图就是安装 definition 之前和之后的效果。

definition 当然在其他编辑器中也有类似的实现,但体验没有哪个能比得上 vscode

参考文章

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java帮帮-微信公众号-技术文章全总结

solr使用教程【面试+工作】

solr使用教程一【面试+工作】 Solr调研总结 开发类型全文检索相关开发 Solr版本4.2文件内容本文介绍solr的功能使用及相关注意事项;主要包括以下内...

1.9K6
来自专栏机器学习从入门到成神

Java 进阶面试问题列表

601
来自专栏木宛城主

Unity应用架构设计(4)——设计可复用的SubView和SubViewModel(Part 2)

在我们设计和开发应用程序时,经常要用到控件。比如开发一个客户端WinForm应用程序时,微软就为我们提供了若干控件,这些控件为我们提供了可被定制的属性和事件。...

1917
来自专栏Golang语言社区

开发者必备的12个JavaScript库

现在 web 设计是最有趣的了,做好 web 设计不仅要熟练使用 Javascript,css 和 html 等,还要有自己的创意设计。为了方便大家发挥自己的创...

2679
来自专栏葡萄城控件技术团队

如何使用纯前端控件集 WijmoJS 中的可视化在线设计器

WijmoJS Designer,一种全新的在线Web托管工具,为WijmoJS纯前端控件集提供了可视化设计图面和 Java代码生成器。 WijmoJS Des...

722
来自专栏智能大石头

多线程带智能采集策略的采集系统

    去年年底的时候曾经发过一个数据采集器《网页数据采集器》,那是专门针对某一个网站来进行采集的,如果需要采集新的网站内容,就需要修改代码并重新编译。    ...

1878
来自专栏QQ会员技术团队的专栏

从 0 实现一个延迟代理服务

部门会定期进行容灾演习,也期望能够验证到各个服务的\"最差服务能力\"。即验证被调出现较高延迟或者过载的时候,主调的服务能力是否符合预期。要想做这种演习,其核心...

1932
来自专栏Albert陈凯

Apache Avro是什么干什么用的(RPC/序列化)

Avro总结(RPC/序列化) Avro(读音类似于[ævrə])是Hadoop的一个子项目, 由Hadoop的创始人Doug Cutting(也是Lucene...

2814
来自专栏玉树芝兰

Ulysses一键发送文章到Day One

我是从2015年夏天开始用Ulysses的。这个编辑器的设计哲学是“所有的文字都放在一处”。这令我很欣喜,因为它非常适合我这种懒人。

762
来自专栏大数据人工智能

2018年 阿里云大牛工程师经历过的20道大数据面试题!

1.Java中Class.forName和ClassLoader.loadClass的区别

3744

扫码关注云+社区