Visual Studio Code 使用的是哪個 TypeScript 版本?如何更新它?
我如何判斷在 Visual Studio Code 中使用的是哪個版本的 TypeScript?特別是,我之前使用的是 TypeScript 1.8.10 和 VSCode 1.4.0。我首先將 VSCode 更新到最新版本,也就是 1.5.3。但從命令行檢查時,我看到我的 TypeScript 版本仍然是 1.8.10。於是我從命令行更新了 TypeScript,現在是 2.0.3。
有沒有辦法確定 Visual Studio Code 是否正在使用版本 2.0.3?
是否有一種更新 Visual Studio Code 的方法可以自動將 TypeScript 更新到最新發布的版本,還是 TypeScript 的更新必須單獨進行?
答案#1
TypeScript 可以自動更新嗎?
VS Code 內建了最新的穩定版本 TypeScript。
- 來自 VS Code 文件
這意味著沒有辦法自動升級 VS Code 使用的 TypeScript 版本。不過,你可以透過修改使用者設定或工作區設定來覆寫 VS Code 使用的 TypeScript 版本。
VS Code 使用的是哪個 TypeScript 版本?
當你打開 TypeScript 檔案時,VS Code 應該會在畫面右下角的狀態列顯示 TypeScript 版本:
在較新的版本中(或當狀態列擁擠時?),你可能需要將滑鼠懸停在 {} 靠近 TypeScript 上,才能看到帶有信息的彈出視窗:
更改全域 TypeScript 版本
- 在全域安裝所需的 TypeScript 版本,例如
npm install -g [email - 打開 VS Code 使用者設定 (F1 >
打開使用者設定) - 更新/插入
"typescript.tsdk": "{GLOBAL_NPM_PATH}/typescript/lib"
小提示:你可以透過執行 npm 根 -g 來找出 {GLOBAL_NPM_PATH}。
現在你用 VS Code 開啟的所有專案都會使用這個 TypeScript 版本,除非當然有工作區設定覆蓋了它。
更改本地 TypeScript 版本
在 VS Code 中打開專案
在本地安裝所需的 TypeScript 版本,例如
npm install --save-dev [email--save-dev會更新您專案的package.json,將您安裝的 TypeScript 版本新增為devDependency。打開 VS Code 工作區設定 (F1 >
打開工作區設定)更新/插入
"typescript.tsdk": "./node_modules/typescript/lib"現在只有你在此專案中安裝的 TypeScript 版本會被使用,VS Code 將會忽略此專案中的全域安裝版本。
在添加了
typescript.tsdk條目後,還需要使用 VS Code 的使用者介面來選擇新的版本:在使用者介面中選擇它:
另見:
- 使用較新的 TypeScript 版本
- 改進
typescript.tsdk的文件,使工作區使用更清楚
答案#2
Visual Studio Code 自帶其穩定版本的 TypeScript,但你可以按照他們的文件說明切換到更新的版本
VS Code 隨附了最新的穩定版 TypeScript。如果你想使用更新版本的 TypeScript,你可以定義 typescript.tsdk 設定(檔案 > 偏好設定 > 使用者/工作區設定),指向包含 TypeScript tsserver.js 檔案的目錄。
...
例如:{ "typescript.tsdk": "node_modules/typescript/lib" }
答案#3
有辦法確定 Visual Studio Code 是否正在使用版本 2.0.3 嗎?
在 Visual Studio Code 中打開一個 TypeScript 檔案,在右下角你會看到它使用的 TypeScript 版本:
有沒有一種更新 Visual Studio Code 的方法可以自動將 TypeScript 更新到最新發布版本,還是 TypeScript 的更新必須單獨進行?
我一直以來的做法是明確告訴 Visual Studio Code 你的 TypeScript npm 模組安裝在哪個資料夾。我使用的是 Windows,所以在你執行 npm 命令來安裝 TypeScript(npm install -g typescript)之後,它會安裝在這個資料夾:
C:\Users\username\AppData\Roaming\npm\node_modules\typescript\
所以你需要告訴 Visual Studio Code 使用你 TypeScript npm 安裝的 lib 資料夾。你可以這樣做:
打開 VS Code 設定(檔案 -> 偏好設定 -> 設定)
搜尋
typescript.tsdk設定使用以下命令找到 npm 安裝 TypeScript 的位置:
npm list -g typescript。在我的情況下,它返回了C:\Users\username\AppData\Roaming\npm覆寫
typescript.tsdk設定的值為:C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib請注意使用雙反斜線以正確轉義包含反斜線的字串。通過打開 TypeScript 檔案,點擊右下角的 TypeScript 版本號,並在任務視窗中查看 VS Code 是否正在從步驟 4 中指定的目錄加載 TypeScript,以確認 VS Code 正在使用 npm 版本的 TypeScript 來提供智能感知功能:
- 透過進入此資料夾並更改檔案名稱,確認 VS Code 是否使用正確版本的 TypeScript 進行編譯:
C:\Users\username\AppData\Roaming\npm\tsc.cmd(改成像 tsc1.cmd 之類的東西)
現在嘗試在 VS Code 中進行建置(任務 -> 執行任務 -> tsc:build - tsconfig.json),你應該會在 VS Code 終端機視窗中看到這個錯誤訊息:
'tsc' is not recognized as an internal or external command, operable program or batch file.
The terminal process terminated with exit code: 1
- 將檔案改回 tsc.cmd,現在你應該可以在 VS Code 中建置並對全域安裝的 TypeScript Node 套件使用 Intellisense
答案#4
要自動使用安裝在工作區 node_modules 中的 Typescript 版本,而無需每次設置新工作區時都進行配置,您可以在 使用者設定 JSON(非工作區)中將預設 Typescript 設定為使用相對路徑:
{
// ... other User settings
"typescript.tsdk": "./node_modules/typescript/lib"
}
現在,當你執行“選擇 TypeScript 版本...”命令時,“VS Code 的版本”將始終與“工作區版本”相同:
這唯一的潛在缺點是,這意味著你在工作的工作區中總是需要安裝 Typescript。不過,如果你在任何地方都在編寫 Typescript,我認為這是一個合理的期望。







