利用types增强vscode中js代码提示功能详解

使用 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的类型文件,可以直接使用:

rush:bash;"> npm install @types/sequelize --save-dev

安装完成后,我们在 node_modules目录下发现有一个@types目录,该目录里就是所安装的所有的类型声明文件

如果有的第三方npm包官方未提供类型声明文件时,可能会安装出错,找不到相应的包。这时,就没法利用其增强js代码提示功能

如果你熟悉使用ts如何编写*.d.ts文件,也可以自己写一个

配置 jsconfig.json 文件

对于jsconfig.json文件的详细说明,请参照这里。

在jsconfig.json文件添加

rush:plain;"> "include": [ "model/**","service/**" ],"typeAcquisition": { "include": [ "sequelize" ] }

其中typeAcquisition参数是必配的,标识启用类型感知功能,里面的include标识对哪个包启用。

上面的include不是必须的,只是用来标识jsconfig.json文件对哪些文件起作用。

开启后,如图:

我们上图中例子提示的就是sequelize包中Model类的实例方法属性

vscode对智能感知的图标,也给了一定的汇总:

在js文件中启用语义检查

如果要在js中启用类型检查,可以在文件最上面添加 // @ts-check 注释。

rush:js;"> // @ts-check let easy = 'abc' easy = 123 // Error: Type '123' is not assignable to type 'string'

或者在 jsconfig.json中进行配置:

rush:js;"> { "compilerOptions": { "checkJs": true },"exclude": [ "node_modules" ] }

详情请参阅nofollow" target="_blank" href="https://code.visualstudio.com/docs/languages/javascript#_type-checking-and-quick-fixes-for-javascript-files">文档

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程之家的支持

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...