利用types增強vscode中js代碼提示功能詳解
使用 types 增強vscode中javascript代碼提示功能
微軟的vscode編輯器是開發(fā)typescript項目的不二首選,其本身也是采用typescript開發(fā)的。
使用過ts的同學(xué)都知道 *.d.ts 類型聲明文件,其管理工具,從最初的 tsd,到后來的 typings,一直到現(xiàn)在的@types,類型聲明文件為ts的智能提示,類型檢查提供了有力支持。
我們也可以使用類型聲明文件,增強vscode編輯javascript時的智能提示。
關(guān)于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 文件
現(xiàn)在,我們可以不依賴typings直接使用npm安裝所需要的types類型文件。
比如,我們要安裝sequelize的類型文件,可以直接使用:
npm install @types/sequelize --save-dev
安裝完成后,我們在 node_modules目錄下發(fā)現(xiàn)有一個@types目錄,該目錄里就是所安裝的所有的類型聲明文件。
如果有的第三方npm包官方未提供類型聲明文件時,可能會安裝出錯,找不到相應(yīng)的包。這時,就沒法利用其增強js代碼的提示功能。
如果你熟悉使用ts如何編寫*.d.ts文件,也可以自己寫一個。
配置 jsconfig.json 文件
對于jsconfig.json文件的詳細說明,請參照這里。
在jsconfig.json文件中添加:
"include": [ "model/**", "service/**" ], "typeAcquisition": { "include": [ "sequelize" ] }
其中typeAcquisition參數(shù)是必配的,標(biāo)識啟用類型感知功能,里面的include標(biāo)識對哪個包啟用。
上面的include不是必須的,只是用來標(biāo)識jsconfig.json文件對哪些文件起作用。
開啟后,如圖:
我們上圖中例子提示的就是sequelize包中Model類的實例方法和屬性。
vscode對智能感知的圖標(biāo),也給了一定的匯總:
在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" ] }
詳情請參閱文檔
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
ES6?關(guān)鍵字?let?和?ES5?及關(guān)鍵字?var?的區(qū)別解析
var可以穿透控制語句、條件語句這樣的作用域,導(dǎo)致變量沖突經(jīng)常發(fā)生,這篇文章主要介紹了ES6?關(guān)鍵字?let?和?ES5?及關(guān)鍵字?var?的區(qū)別,需要的朋友可以參考下2022-09-09JS數(shù)組去重常用方法實例小結(jié)【4種方法】
這篇文章主要介紹了JS數(shù)組去重常用方法,結(jié)合實例形式總結(jié)分析了4種常用的數(shù)據(jù)去重實現(xiàn)方法,涉及javascript數(shù)組的遍歷、判斷、追加等相關(guān)操作技巧,需要的朋友可以參考下2018-05-05