溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用types增強(qiáng)vscode中javascript代碼提示功能

發(fā)布時(shí)間:2021-02-22 11:46:12 來(lái)源:億速云 閱讀:2008 作者:清風(fēng) 欄目:web開(kāi)發(fā)

這篇“使用types增強(qiáng)vscode中javascript代碼提示功能”除了程序員外大部分人都不太理解,今天小編為了讓大家更加理解“使用types增強(qiáng)vscode中javascript代碼提示功能”,給大家總結(jié)了以下內(nèi)容,具有一定借鑒價(jià)值,內(nèi)容詳細(xì)步驟清晰,細(xì)節(jié)處理妥當(dāng),希望大家通過(guò)這篇文章有所收獲,下面讓我們一起來(lái)看看具體內(nèi)容吧。

vscode有什么用

Visual Studio Code 是一個(gè)運(yùn)行于 OS X,Windows和 Linux 之上的,針對(duì)于編寫(xiě)現(xiàn)代 web 和云應(yīng)用的跨平臺(tái)編輯器,它為開(kāi)發(fā)者們提供了對(duì)多種編程語(yǔ)言的內(nèi)置支持,并且正如 Microsoft 在Build 大會(huì)的 keynote 中所指出的,這款編輯器也會(huì)為這些語(yǔ)言都提供了豐富的代碼補(bǔ)全和導(dǎo)航功能。

使用 types 增強(qiáng)vscode中javascript代碼提示功能

微軟的vscode編輯器是開(kāi)發(fā)typescript項(xiàng)目的不二首選,其本身也是采用typescript開(kāi)發(fā)的。

使用過(guò)ts的同學(xué)都知道 *.d.ts 類型聲明文件,其管理工具,從最初的 tsd,到后來(lái)的 typings,一直到現(xiàn)在的@types,類型聲明文件為ts的智能提示,類型檢查提供了有力支持。

我們也可以使用類型聲明文件,增強(qiáng)vscode編輯javascript時(shí)的智能提示。

關(guān)于vscode這方面更深的說(shuō)明,請(qǐng)?jiān)L問(wèn)以下鏈接:

      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

安裝完成后,我們?cè)?node_modules目錄下發(fā)現(xiàn)有一個(gè)@types目錄,該目錄里就是所安裝的所有的類型聲明文件。

如果有的第三方npm包官方未提供類型聲明文件時(shí),可能會(huì)安裝出錯(cuò),找不到相應(yīng)的包。這時(shí),就沒(méi)法利用其增強(qiáng)js代碼的提示功能。

如果你熟悉使用ts如何編寫(xiě)*.d.ts文件,也可以自己寫(xiě)一個(gè)。

配置 jsconfig.json 文件

對(duì)于jsconfig.json文件的詳細(xì)說(shuō)明,請(qǐng)參照這里。

在jsconfig.json文件中添加:

"include": [
 "model/**",
 "service/**"
],
"typeAcquisition": {
 "include": [
  "sequelize"
 ]
}

其中typeAcquisition參數(shù)是必配的,標(biāo)識(shí)啟用類型感知功能,里面的include標(biāo)識(shí)對(duì)哪個(gè)包啟用。

上面的include不是必須的,只是用來(lái)標(biāo)識(shí)jsconfig.json文件對(duì)哪些文件起作用。

開(kāi)啟后,如圖:

使用types增強(qiáng)vscode中javascript代碼提示功能

我們上圖中例子提示的就是sequelize包中Model類的實(shí)例方法和屬性。

vscode對(duì)智能感知的圖標(biāo),也給了一定的匯總:

使用types增強(qiáng)vscode中javascript代碼提示功能

在js文件中啟用語(yǔ)義檢查

如果要在js中啟用類型檢查,可以在文件最上面添加 // @ts-check 注釋。

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

或者在 jsconfig.json中進(jìn)行配置:

{
  "compilerOptions": {
    "checkJs": true
  },
  "exclude": [
    "node_modules"
  ]
}

感謝你的閱讀,希望你對(duì)“使用types增強(qiáng)vscode中javascript代碼提示功能”這一關(guān)鍵問(wèn)題有了一定的理解,具體使用情況還需要大家自己動(dòng)手實(shí)驗(yàn)使用過(guò)才能領(lǐng)會(huì),快去試試吧,如果想閱讀更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI