資料夾

資料夾窗格會列出你 Mac 上共享至此工作區 VM 的資料夾。共享資料夾是你的真實檔案系統與沙箱之間的橋樑:代理程式在此讀取它所處理的程式碼,並寫入它所做的變更。VM 觸及的其他一切——它的家目錄、它的系統磁碟——都是可拋棄且相互隔離的;共享資料夾則不然。它是一扇通往你 Mac 的即時讀寫視窗。

編輯工作區視窗的資料夾窗格,顯示空狀態訊息「尚未共享任何資料夾」以及一個「新增資料夾」按鈕

窗格的說明文字準確地陳述了這項規則:每個資料夾都會以其真實名稱掛載進 VM(例如 ~/Documents → ~ubuntu/Documents)。每個工作區上限為 8 個資料夾。 未設定任何資料夾時,會顯示尚未共享任何資料夾。

資料夾如何共享

你新增的每個資料夾都會以 virtiofs 共享的方式附加到 VM,並掛載於 /home/ubuntu/<basename>,其中 <basename> 是資料夾本身的名稱。共享 ~/Documents 會讓它在 VM 內顯示為 ~ubuntu/Documents(也就是 /home/ubuntu/Documents);共享 ~/code/bromure 會顯示為 /home/ubuntu/bromure。掛載名稱只會使用路徑的最後一個組成部分,因此來自不同位置但基底名稱相同的兩個資料夾會發生衝突——如果你同時需要兩者,請為其中之一取一個不同的目錄名稱。

此共享為讀寫模式。VM 內的代理程式可以在共享資料夾中建立、修改與刪除檔案,就像你 Mac 上的本機程序一樣,而這些變更在主機端會立即且永久生效。這正是工作區實用之處:代理程式就地編輯你的工作副本,而你 Mac 上的 git、編輯器與其他工具會在變更發生時即時看到它們。

由於共享是在 VM 於啟動時被設定時附加的,因此對此清單的變更會在工作區的 VM 下次開機時生效。在工作階段執行期間新增或移除資料夾並不會即時熱插拔——請先儲存變更,再重新啟動工作階段以套用。

警告: 共享資料夾並非沙箱的一部分。它會在所有重設 VM 的動作中留存下來。明確刪除工作區時不會動到它——確認對話框會顯示「掛載的主機資料夾不受影響。」——而且如果某個工作區曾被標記為遭入侵並清除,其共享資料夾不會被清除,仍可能保有代理程式所寫入的檔案。請只共享代理程式實際需要的資料夾,並在任何入侵事件後手動檢視共享資料夾。關於入侵流程,請參閱憑證與傳輸邊界

新增與移除資料夾

若要共享資料夾,請點擊窗格底部的新增資料夾…。這會開啟一個目錄選擇器,你可以一次選取一或多個資料夾;每個選取的目錄都會成為新的一列。當工作區已有八個資料夾(即每個工作區的上限)時,此按鈕會停用。

每個已設定的資料夾會顯示為一列,呈現該資料夾的名稱及其在你 Mac 上的完整路徑。點擊某列上的減號按鈕即可停止共享該資料夾;在此移除一列絕不會刪除主機上的資料夾或其內容——它只會在下次開機時將其從 VM 卸載。

目前共享的資料夾清單也可從執行中的工作階段檢視:工作階段視窗的資訊面板會顯示共享資料夾清單,讓你一眼確認代理程式能存取哪些內容。請參閱工作階段

設定參考

設定類型預設值說明
資料夾清單主機路徑清單每一列顯示資料夾名稱及其完整主機路徑,並附有一個移除用的減號按鈕。以讀寫方式掛載於 /home/ubuntu/<basename>
新增資料夾…目錄選擇器(多選)新增一或多個資料夾。已設定八個資料夾後即停用。

相關章節

  • 概念 — VM、其可拋棄的分層與 virtiofs 共享如何協同運作。
  • 工作階段 — 執行中的工作階段視窗及其共享資料夾清單。
  • 憑證與傳輸邊界 — 入侵清除會觸及與不會觸及的內容。
  • 設定參考 — 一覽所有窗格。