什麼是 VS Code 工作區?

Visual Studio Code 的工作區是 VS Code 視窗 (實例) 中開啟的一個或多個資料夾的集合。在大多數情況下,您會開啟一個單一資料夾作為工作區。然而,根據您的開發工作流程,您可以使用稱為多根目錄工作區的進階設定來包含多個資料夾。

工作區的概念讓 VS Code 能夠

  • 設定僅適用於特定資料夾,而非其他資料夾。
  • 持續保存僅在該工作區環境中有效的任務偵錯器啟動設定。
  • 儲存並還原與該工作區相關聯的 UI 狀態 (例如,已開啟的檔案)。
  • 選擇性地僅針對該工作區啟用或停用擴充功能。

您可能會在 VS Code 文件、問題和社群討論中看到「資料夾」和「工作區」這兩個術語互換使用。請將工作區視為具有額外 VS Code 知識和功能的專案根目錄。

注意:也可以在沒有工作區的情況下開啟 VS Code。例如,當您從平台上的檔案功能表選擇檔案來開啟新的 VS Code 視窗時,您將不會在工作區內。在此模式下,VS Code 的某些功能會受限,但您仍然可以開啟文字檔並編輯它們。

如何開啟 VS Code「工作區」?

您可以使用檔案 > 開啟資料夾... 功能表,然後選擇一個資料夾來開啟工作區。

或者,如果您從終端機啟動 VS Code,您可以將資料夾的路徑作為第一個引數傳遞給 code 命令來開啟。例如,使用以下命令在 VS Code 中開啟目前資料夾 (.):

code .

單一資料夾工作區

除了使用 VS Code 開啟資料夾之外,您不需要做任何事就能讓資料夾成為 VS Code 工作區。一旦您開啟資料夾,VS Code 會自動追蹤設定,例如您開啟的檔案或編輯器版面配置。當您在 VS Code 中重新開啟該資料夾時,編輯器將會是您之前離開時的狀態。

您還可以新增其他資料夾特定的設定,例如工作區特定的設定 (相對於全域使用者設定)、任務定義偵錯啟動檔案 (請參閱下方工作區設定部分)。

Single-folder workspace

在 VS Code 中開啟的單一資料夾工作區

多根目錄工作區

多根目錄工作區是 VS Code 的一項進階功能,可讓您設定多個不同的資料夾作為同一個工作區的一部分。您開啟的不是資料夾作為工作區,而是開啟一個 <name>.code-workspace JSON 檔案,其中列出工作區中的所有資料夾。例如:

{
  "folders": [
    {
      "path": "my-folder-a"
    },
    {
      "path": "my-folder-b"
    }
  ]
}

Multi-root workspace

在 VS Code 中開啟的多根目錄工作區

注意:開啟資料夾與開啟 .code-workspace 檔案的視覺差異可能很細微。為了提示您已開啟 .code-workspace 檔案,使用者介面的某些區域 (例如,檔案總管的根目錄) 會在名稱旁顯示額外的(工作區)後綴。

未命名的多根目錄工作區

您可以在工作區中彈性地新增或移除資料夾。首先在 VS Code 中開啟一個資料夾,然後再依需求新增更多資料夾。

File Explorer context menu, highlighting options to add or remove folders to the workspace

檔案總管中用於在工作區新增或移除資料夾的右鍵功能表

除非您已經開啟 .code-workspace 檔案,否則當您第一次將第二個資料夾新增到工作區時,VS Code 會自動建立一個未命名的工作區。在背景中,VS Code 會自動為您維護一個 untitled.code-workspace 檔案,其中包含您目前工作階段中的所有資料夾和工作區設定。工作區保持未命名,直到您決定將其儲存到磁碟為止。

Untitled multi-root workspace

在 VS Code 中開啟的未命名多根目錄工作區

注意:未命名工作區和已儲存工作區之間沒有區別,除了未命名工作區是為了方便您而自動建立的,並且會在您儲存之前始終還原。當您關閉開啟未命名工作區的視窗時,VS Code 會自動刪除未命名工作區 (在要求您確認之後)。

工作區設定

工作區設定讓您能夠在已開啟的工作區環境中設定。工作區設定始終會覆寫全域使用者設定。它們實際儲存在 JSON 檔案中,其位置取決於您是將資料夾作為工作區開啟,還是開啟 .code-workspace 檔案。

請參閱設定文件,以全面了解設定範圍及其檔案位置。

單一資料夾工作區設定

當您將資料夾作為工作區開啟時,工作區設定儲存在 .vscode/settings.json 中。

Single-folder workspace settings

將資料夾作為工作區開啟時的設定編輯器

多根目錄工作區設定

當您開啟 .code-workspace 作為工作區時,所有工作區設定都會新增到 .code-workspace 檔案中。

您仍然可以為每個根資料夾設定,設定編輯器將會呈現第三個設定範圍,稱為資料夾設定

Multi-root settings

開啟多根目錄工作區時的設定編輯器

每個資料夾設定的設定會覆寫在 .code-workspace 中定義的設定。

工作區任務和啟動設定

類似於工作區設定是特定於工作區的,任務和啟動設定也可以限定在工作區範圍內。

取決於您是將資料夾作為工作區開啟還是開啟 .code-workspace 檔案,工作區任務和啟動設定的位置要麼在 .vscode 資料夾內,要麼在 .code-workspace 檔案內。此外,即使您已開啟 .code-workspace 檔案,任務和啟動設定始終可以在資料夾層級定義。

請參閱任務偵錯章節,以獲取如何在 VS Code 中使用任務和啟動設定的更全面概述。

常見問題

多根目錄工作區相對於資料夾有什麼好處?

最明顯的優勢是,多根目錄工作區讓您可以處理可能未儲存在磁碟上同一個父資料夾中的多個專案。您可以從任何位置選擇資料夾新增到工作區。

即使您主要在單一資料夾的專案中工作,您也可以從使用 .code-workspace 檔案中受益。您可以在資料夾內儲存多個 .code-workspace 檔案,以便根據情境提供專案某些方面的範圍資料夾視圖 (例如 client.code-workspaceserver.code-workspace,以從檔案總管中篩選掉不相關的資料夾)。由於 .code-workspace 檔案支援 folders 區段的相對路徑,這些工作區檔案適用於所有人,無論資料夾儲存在何處。

最後,如果對於某些專案,您想要套用相同的工作區設定或任務/啟動設定集,請考慮將這些新增到 .code-workspace 檔案中,並從該工作區新增或移除這些資料夾。

為什麼 VS Code 會在重新啟動時還原所有未命名工作區?

未命名工作區的設計是讓您必須明確決定是否保留。第一次建立未命名工作區時,VS Code 會將指定的資料夾新增到工作區檔案中,並新增所有現有的工作區設定。此使用者資料始終會在 VS Code 視窗中還原和顯示,直到未命名工作區被儲存或刪除。

如何刪除未命名工作區?

您可以透過關閉其視窗並駁回儲存未命名工作區的提示來刪除未命名工作區。

我可以在沒有資料夾的情況下使用多根目錄工作區嗎?

可以將 .code-workspace 檔案的 folders 區段留空,這樣您就會得到一個不顯示任何根資料夾的 VS Code 實例。在這種情況下,您仍然可以儲存工作區設定,甚至是任務或啟動設定。

VS Code 支援專案或解決方案嗎?

VS Code 沒有「專案」或「解決方案」的概念,如同它們有時在其他開發工具 (例如 Visual Studio IDE) 中定義的那樣。您可能會在 VS Code 文件中看到「專案」這個術語,但它通常指的是「您正在處理的內容」。根據您的程式語言或框架,工具集本身可能支援稱為「專案」的東西,以協助定義建置設定或列舉包含的檔案。

© . This site is unofficial and not affiliated with Microsoft.