近日,Vue 官方語言工具釋出了 2.0 版本,該版本已經將 VS Code 外掛程式名稱由
Volar Language Features (Volar)
改為了
Vue - Official
,
TypeScript Vue Plugin
擴充套件也已經被棄用。下面就來看看該版本都帶來了哪些更新。
新功能
支持透過拖拽匯入元件
混合模式:
棄用了 Takeover 模式,但擴充套件現在預設擁有與 Takeover 模式相當的效能。
TypeScript 語言支持已從 Vue 語言伺服器遷移至 TypeScript 外掛程式,實作了所有 TypeScript 編輯器功能的整合。若內部 TypeScript 擴充套件被禁用或安裝了「TypeScript Vue Plugin」擴充套件,將發出警告。
使用 TypeScript LanguageService 將服務遷移至命名管道伺服器。
在 TypeScript 外掛程式中,重新實作了元件標簽的語意令牌和自動匯入修補程式,並確保了在請求自動插入
.value
時,
tsserver
處於就緒狀態。
language-server
:不再支持
ignoreTriggerCharacters
、
reverseConfigFilePriority
和
fullCompletionList
選項。
tsc
:支持
vueCompilerOptions.extensions
選項
language-core :實作了與 Vue 3.4 型別更改的相容性
升級到了 Volar 2.1 版本,使擴充套件與 Volar Labs v2 相容。在 vscode 中,移除了
volar.format.initialIndent選項
,並引入了三個新選項:
vue.format.template.initialIndent
、
vue.format.script.initialIndent
和
vue.format. style.initialIndent
。
重構
tsc :基於官方 TypeScript API 進行了重寫,不再依賴TypeScript模組。除此之外,還棄用了hooks API,以簡化程式碼結構和提高可維護性。
language-core:
基於 Generator 實作了程式碼生成功能
在單個虛擬檔中生成全域型別
實作了外掛程式 API v2
忽略了 Markdown 檔中的巢狀程式碼塊
移除了
experimentalAdditionalLanguageModules
和已棄用的API
language-service:
使服務外掛程式獨立於計畫上下文
不再支持
volar.config.js
配置檔
typescript-plugin
: 將包重新命名為@vue/typescript-plugin
用
typescript
替換了
typescript/lib/tsserverlibrary
的匯入
將原始碼從
src
目錄移至
lib
目錄
小插曲
在 Vue-Official 升級到 2.0 之後,不少使用者反饋 2.x 版本啟動後會崩潰。
作者目前只給出了兩個臨時解決方案:嘗試使用 VSCode Insiders ,或者暫時降級到 1.8.27。
如果出現誤報,可以嘗試在工作區根目錄中建立一個空的 jsconfig。
希望能盡快修復這個問題,目前看起來影響還是挺大的。