參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

什麼是 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 文件中看到“專案”這個術語,但它通常指的是“你正在處理的事情”。根據你的程式語言或框架,工具集本身可能支援稱為“專案”的東西,以幫助定義構建配置或列舉包含的檔案。