Visual Studio Code 的工作區 (workspace)

codemee - Jul 3 - - Dev Community

Visual Studio Code 除了以單一資料夾為專案單位的方式以外, 如果你需要同時用到不同的資料夾, 也可以使用工作區 (workspace)。有些開發工具, 像是 PlatformIO 會強制在建立新專案的時候就建立工作區, 如果對工作區不瞭解, 一開始可能會被弄得暈頭轉向。

單一資料夾其實也是工作區

預設的情況下, 即使你沒有建立工作區, 開啟單一資料夾就形同是只有一個資料夾的工作區, 這時候完全不會感受到有工作區的存在, 但如果你開啟設定, 就會發現可以針對使用者或是工作區進行設定:

image

這裡的工作區指的就是你開啟的資料夾, 使用者的設定是全域的, 而工作區的設定就只會影響目前開啟的資料夾, 會儲存在該資料夾下 .vscode/settings.json 中, 優先權大於全域的設定。

多資料夾的工作區 (multiple-root workspace)

以我自己的使用情境為例, 當我在測試使用 LangChain 框架的程式碼時, 我會把 LangChain 的原始檔複製下來方便除錯, 如果想要隨時查看 LangChain 的原始碼, 就可以把 LangChain 原始碼的資料夾也加入目前開啟的 Visual Studio Code 視窗中, 只要把 LangChain 的資料夾拖入左邊檔案總管窗格即可:

image

就會看到詢問是要將資料夾複製到目前開啟的資料夾中, 還是要將資料夾加入目前的工作區內。如果選擇將資料夾新增至工作區, 就會建立一個內含兩個資料夾的工作區:

image

你可以看到現在檔案總管理面有兩個資料夾, 而且最上面顯示未命名 (工作區), 表示雖然建立工作區, 但沒有命名, 就跟你建立一個新檔案, 卻還沒有命名存檔一樣。

你也可以用『檔案/將資料夾新增至工作區』或是在檔案總管窗格中按滑鼠右鍵選將資料夾新增到工作區

如果你現在關閉 Visual Studio Code, 會看到這個交談窗:

image

詢問你要不要儲存工作區。如果不儲存, 剛剛加入工作區的結果就會消失, 下次若還需要對照看這兩個資料夾, 就要重新把資料夾加入工作區。如果選擇儲存, 會把工作區的設定儲存到副檔名為 .code-workspace 的檔案, 這個檔案可以自由命名、隨意儲存在任意位置。這裡我將他儲存為 test-langchain.code-workspace 檔。

之後, 如果你要重新開啟這個工作區, 只要使用 Visual Studio Code 開啟 .code-workspace 檔就可以了, 像是這樣:

# code .\test_langchain.code-workspace
Enter fullscreen mode Exit fullscreen mode

或者也可以在 Visual Studio Code 中透過『檔案/從檔案開啟工作區』開啟 .code-workspace 檔。開啟後的工作區會長這樣:

image

剛剛存檔時的檔名就變成工作區的名稱了。

工作區與工作區內的資料夾專屬的設定

建立工作區後, 如果進入設定, 就會發現可以分別針對使用者工作區、以及資料夾個別設定:

image

同樣項目的設定, 資料夾的設定比工作區的設定優先, 工作區的設定又比使用者的設定優先。工作區的設定會儲存在 .code-workspace 中。如此一來, 就可以針對需求設定了。

移除工作區內的資料夾

如果想要將資料夾從工作區中移除, 只要在左邊檔案總管窗格內在資料夾上按滑鼠郵件, 選將資料夾從工作區中移除即可。如果是移除工作區, 就只要把 .code-workspace 檔移除就可以了。

使用單一資料夾建立工作區

雖然開啟單一資料夾就形同是一個工作區, 但你可能會想要明確建立工作區, 甚至是幫同一個資料夾建立不同名稱的工作區, 這時每個工作區就等於是一個獨立的設定檔, 可以讓你依據不同需求使用對應的設定。

只要在開啟資料夾後, 透過『檔案/另存工作區為...』就可以建立一個工作區, 重複相同操作以不同名稱存檔, 就可以為同一個資料夾建立多個工作區了。

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player