sublime python自动补全,sublimetext自动补全

  sublime python自动补全,sublimetext自动补全

  Visual Studio Code(简称VS Code)是一个很棒的代码编辑器,内置了多种语言的自动补全功能,写JavaScript也不例外。VS代码提供的自动补全还是很优秀的。

  但是,自动完成功能在某些情况下会失败。例如,由document.getElementById()或document.querySelector()返回的对象不是自动完成的:

  如图所示,画布节点应该有一个getContext()方法。但是在编码阶段,VS代码无法确定document . query selector( # canvas )返回的是什么类型的节点,自动补全也无能为力。

  面对这种情况,我们可以在代码注释中添加这一行:

  /* * @ type { HTMLCanvasElement } */var canvas=document . query selector( # canvas );通过注释中的@type指令,我们可以告诉VSCode,canvas变量是HTMLCanvasElement类型的DOM节点。这样,自动完成功能又“复活”了。

  注@type,实际上是一条JSDoc指令,表示下一行的变量属于什么类型,方便编辑器或IDE做语法检查或自动补全。

  另外,在使用JS库函数时,VS代码的自动补全很难生效。这时候我们可以给VS代码“一个提示”。具体怎么做?

  有一个项目叫DefinitelyTyped(http://definitelytyped . org/)。这个项目的任务是提供和更新各种常用JS库的接口定义。有了接口定义,VS代码或IDE可以很容易地自动完成。

  如何获取一个库的接口定义?的官方用法是通过npm获取,比如获取THREE.js的接口定义:

  M install-save-dev @ types/three,其中@types/后跟JS库的名称。你会发现node_modules下面多了一个@types/three目录,里面的index.d.tsDefinitelyTyped给我们写的接口文件。

  使用trislash指令引用代码中的接口文件:

  ///referencepath=。/node _ modules/@ types/three/index . d . ts /这一行是触发自动提示的关键。有了这一行,参考JS库可以有自动补全,甚至参数列表:

  是不是感觉一下子方便了很多:-)?如果稍微研究一下VS代码的安装目录,就会发现有一个lib目录,里面存放了很多接口文件:

  Ls [VS Code]安装目录\ resources \ app \ extensions \ node _ modules \ typescript \ lib 2018/06/06 17:36 4,505 lib . DOM . iterable . d . ts 2018/06/06 17:36 2,902 lib . es 2015 . collection . d . ts 2018/06/06 17:36 19,608 lib . es 2015 . core . d . ts 2018/06/015

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: