有一個vite+react+typescript項目,在工作電腦上一切正常。但是,在我家里的電腦運行,始終無法檢測到typescript環境。即使出現錯誤的ts語法,也不會有報錯提示,效果如下:
我故意將一個string類型,傳入一個boolean,但是vscode編輯沒有出現任何錯誤提示,并且將鼠標放在ant design UI 標簽上,也不會有任何反應。找了很大一會兒,也未能發現問題出現在哪里。即使重新裝vscode結果依然如此,對于個已經習慣ts開發者來說,無法檢測到ts環境開發,會是一件很難受的事情。后來,通過ChatGPT才知道,原來是@builtin typescript-language-features
這個擴展插件
沒有啟用!
@builtin typescript-language-features是vscode內置的一個自帶的一個插件,無需安裝。在擴展商店當中搜索,@builtin typescript-language-features,就會發現:
處于禁用狀態。
在 VSCode 中:
@builtin
代表這是 VSCode 內置的擴展,不是你自己從 Marketplace 裝的。typescript-language-features
就是 VSCode 自帶的 TypeScript/JavaScript 語言服務插件,它提供了:類型檢查
自動補全
跳轉定義 / 查找引用
懸停提示
重構、格式化
IntelliSense
👉 所以你在 VSCode 的擴展面板搜索 @builtin typescript-language-features
,會看到它,通常是默認啟用的。
有時候開發者會遇到 TS 提示失效 的情況,就是因為這個內置插件被 禁用 或者被其他插件(比如 vscode-typescript-next
、volar
等)接管了。
當@builtin typescript-language-features處于禁用狀態的時候,會出現
TS 提示失效 的情況,在setting當中,搜索typescript,就會發現很多關于ts的東西都沒有出現:
搞清楚該插件的作用以后,點擊啟用,效果如下:
這是時候,再回頭看剛才的typescript就會發現,很多之前看到不到的列表都出現了。然后,再看項目當中剛才設置為string類型,但是初始化傳入一個false的值,就會發現很明顯的錯誤類型錯誤提示,如下:
至此,該問題圓滿解決,同時希望本文能夠對出現類似問題的開發者,提供幫助。