使用 types 增强vscode中javascript代码提示功能
微软的vscode编辑器是开发typescript项目的不二首选,其本身也是采用typescript开发的。
使用过ts的同学都知道 *.d.ts 类型声明文件,其管理工具,从最初的 tsd,到后来的 typings,一直到现在的@types,类型声明文件为ts的智能提示,类型检查提供了有力支持。
我们也可以使用类型声明文件,增强vscode编辑javascript时的智能提示。
关于vscode这方面更深的说明,请访问以下链接:
1、https://code.visualstudio.com/docs/languages/javascript
2、https://github.com/Microsoft/TypeScript/wiki/JavaScript-Language-Service-in-Visual-Studio
3、https://code.visualstudio.com/docs/editor/intellisense
安装 types 文件
现在,我们可以不依赖typings直接使用npm安装所需要的types类型文件。
比如,我们要安装sequelize的类型文件,可以直接使用:
npm install @types/sequelize --save-dev
安装完成后,我们在 node_modules目录下发现有一个@types目录,该目录里就是所安装的所有的类型声明文件。
如果有的第三方npm包官方未提供类型声明文件时,可能会安装出错,找不到相应的包。这时,就没法利用其增强js代码的提示功能。
如果你熟悉使用ts如何编写*.d.ts文件,也可以自己写一个。
配置 jsconfig.json 文件
对于jsconfig.json文件的详细说明,请参照这里。
在jsconfig.json文件中添加:
"include": [ "model/**", "service/**" ], "typeAcquisition": { "include": [ "sequelize" ] }
其中typeAcquisition参数是必配的,标识启用类型感知功能,里面的include标识对哪个包启用。
上面的include不是必须的,只是用来标识jsconfig.json文件对哪些文件起作用。
开启后,如图:
我们上图中例子提示的就是sequelize包中Model类的实例方法和属性。
vscode对智能感知的图标,也给了一定的汇总:
在js文件中启用语义检查
如果要在js中启用类型检查,可以在文件最上面添加 // @ts-check 注释。
// @ts-check let easy = 'abc' easy = 123 // Error: Type '123' is not assignable to type 'string'
或者在 jsconfig.json中进行配置:
{ "compilerOptions": { "checkJs": true }, "exclude": [ "node_modules" ] }
详情请参阅文档
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 草蜢.2001-《真经典》环球唱片[WAV+CUE]
- 群星.2009-第4届2008十大发烧唱片精选[FLAC+CUE]
- 丁红《女儿情》[DTS-WAV]
- 陈惠婷.2017-Voyager3【亚神音乐】【FLAC分轨】
- 群星.2001-华纳歌声魅影【华纳】【WAV+CUE】
- 张雨生.2016-雨后星空2CD【丰华】【WAV+CUE】
- 李雨寰《Break Free》[FLAC/分轨][533MB]
- 廖也欧《面朝大海》[320K/MP3][18.35MB]
- 廖也欧《面朝大海》[Hi-Res][24bit 48kHz][FLAC/分轨][170.14MB]
- s13T1夺冠五人名单都有谁 s13T1夺冠五人名单一览
- 英雄联盟T1战队队长都有谁 T1战队所有队长介绍
- skt历届战队成员都有哪些 skt历届战队成员名单盘点
- 妙音唱片《大热唱片3》[WAV+CUE]
- 费玉清《跟着地球旋转》滚石时代经典复刻[正版原抓WAV+CUE]
- 罗文甄妮-射雕英雄传(AMCD)(限量版)[WAV+CUE]