網站搜尋

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 版本

  1. 在全域安裝所需的 TypeScript 版本,例如 npm install -g [email 
  2. 打開 VS Code 使用者設定 (F1 > 打開使用者設定)
  3. 更新/插入 "typescript.tsdk": "{GLOBAL_NPM_PATH}/typescript/lib"

小提示:你可以透過執行 npm 根 -g 來找出 {GLOBAL_NPM_PATH}。

現在你用 VS Code 開啟的所有專案都會使用這個 TypeScript 版本,除非當然有工作區設定覆蓋了它。


更改本地 TypeScript 版本

  1. 在 VS Code 中打開專案

  2. 在本地安裝所需的 TypeScript 版本,例如 npm install --save-dev [email

    --save-dev 會更新您專案的 package.json,將您安裝的 TypeScript 版本新增為 devDependency。

  3. 打開 VS Code 工作區設定 (F1 > 打開工作區設定)

  4. 更新/插入 "typescript.tsdk": "./node_modules/typescript/lib"

    現在只有你在此專案中安裝的 TypeScript 版本會被使用,VS Code 將會忽略此專案中的全域安裝版本。

  5. 在添加了 typescript.tsdk 條目後,還需要使用 VS Code 的使用者介面來選擇新的版本:

    • 點擊 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 資料夾。你可以這樣做:

  1. 打開 VS Code 設定(檔案 -> 偏好設定 -> 設定)

  2. 搜尋 typescript.tsdk 設定

  3. 使用以下命令找到 npm 安裝 TypeScript 的位置:npm list -g typescript。在我的情況下,它返回了 C:\Users\username\AppData\Roaming\npm

  4. 覆寫 typescript.tsdk 設定的值為:C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib 請注意使用雙反斜線以正確轉義包含反斜線的字串。

  5. 通過打開 TypeScript 檔案,點擊右下角的 TypeScript 版本號,並在任務視窗中查看 VS Code 是否正在從步驟 4 中指定的目錄加載 TypeScript,以確認 VS Code 正在使用 npm 版本的 TypeScript 來提供智能感知功能:

  1. 透過進入此資料夾並更改檔案名稱,確認 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
  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,我認為這是一個合理的期望。