使用者和工作區設定
您可以透過 Visual Studio Code 的各種設定,將其設定為您喜歡的樣式。幾乎 VS Code 編輯器、使用者介面和功能行為的每個部分都有您可以修改的選項。
VS Code 為設定提供不同的範圍
- 使用者設定 - 全域套用至您開啟的任何 VS Code 執行個體的設定。
- 工作區設定 - 儲存在您的工作區內,且僅在工作區開啟時套用的設定。
VS Code 將設定值儲存在設定 JSON 檔案中。您可以透過編輯設定 JSON 檔案或使用設定編輯器 (提供圖形介面來管理設定) 來變更設定值。
使用者設定
使用者設定是您個人化自訂 VS Code 的設定。這些設定全域套用至您開啟的任何 VS Code 執行個體。例如,如果您在使用者設定中將編輯器字型大小設定為 14,則您電腦上所有 VS Code 執行個體的字型大小都會是 14。
您可以使用幾種方式存取您的使用者設定
- 在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中選取 喜好設定:開啟使用者設定 命令
- 在設定編輯器 (⌘, (Windows、Linux Ctrl+,)) 中選取 使用者 索引標籤
- 在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中選取 喜好設定:開啟使用者設定 (JSON) 命令
工作區設定
工作區設定是專案特定的,並且會覆寫使用者設定。如果您有想要套用至特定專案的特定設定,則可以使用工作區設定。例如,對於後端伺服器專案,您可能會想要設定 files.exclude
設定,以從檔案總管中排除 node_modules
資料夾。
VS Code「工作區」通常只是您的專案根資料夾。您也可以透過稱為多根工作區的功能,在 VS Code 工作區中擁有一個以上的根資料夾。取得關於VS Code 工作區的更多資訊。
VS Code 將工作區設定儲存在專案根目錄的 .vscode
資料夾中。這使得在版本控制 (例如 Git) 專案中與其他人共用設定變得容易。
您可以使用幾種方式存取工作區設定
- 在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中選取 喜好設定:開啟工作區設定 命令
- 在設定編輯器 (⌘, (Windows、Linux Ctrl+,)) 中選取 工作區 索引標籤
- 在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中選取 喜好設定:開啟工作區設定 (JSON) 命令
並非所有使用者設定都可用作工作區設定。例如,與更新和安全性相關的應用程式層級設定無法被工作區設定覆寫。
設定編輯器
設定編輯器提供圖形介面來管理使用者和工作區設定。若要開啟設定編輯器,請導覽至 檔案 > 喜好設定 > 設定。或者,從 命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 使用 喜好設定:開啟設定 或使用鍵盤快速鍵 (⌘, (Windows、Linux Ctrl+,)) 開啟設定編輯器。
當您開啟設定編輯器時,您可以搜尋並探索您正在尋找的設定。當您使用搜尋列搜尋時,設定編輯器會篩選設定,僅顯示符合您條件的設定。這使得尋找設定變得快速又容易。
VS Code 會在您變更設定時直接套用變更。您可以透過設定左側的彩色長條來識別您修改過的設定,類似於編輯器中修改過的行。
在以下範例中,已變更側邊欄位置和檔案圖示佈景主題。
設定旁的齒輪圖示 (⇧F9 (Windows、Linux Shift+F9)) 會開啟內容功能表,其中包含將設定重設為預設值,以及複製設定 ID、複製 JSON 名稱-值組或複製設定 URL 的選項。
設定 URL 可讓您從瀏覽器直接導覽至設定編輯器中的特定設定。URL 格式為 vscode://settings/<settingName>
,其中 <settingName>
是您想要導覽至的設定 ID。例如,若要導覽至 workbench.colorTheme
設定,請使用 URL vscode://settings/workbench.colorTheme
。
設定群組
設定以群組表示,因此您可以快速導覽至相關設定。頂端有一個 常用 群組,其中顯示常用的自訂設定。
在以下範例中,透過在樹狀檢視中選取 原始檔控制,焦點會放在原始檔控制設定上。
VS Code 擴充功能也可以新增它們自己的自訂設定,這些設定在 擴充功能 區段下可見。
設定編輯器篩選器
設定編輯器搜尋列具有數個篩選器,可讓您更輕鬆地管理您的設定。搜尋列的右側有一個篩選器按鈕,帶有漏斗圖示,提供可輕鬆將篩選器新增至搜尋列的選項。
修改過的設定
若要檢查您已設定哪些設定,搜尋列中會有 @modified
篩選器。如果設定的值與預設值不同,或如果設定的值在各自的設定 JSON 檔案中明確設定,則設定會顯示在此篩選器下。
如果您忘記是否已設定設定,或如果編輯器行為不如預期,因為您不小心設定了設定,則此篩選器可能很有用。
其他篩選器
還有其他幾個方便的篩選器可協助搜尋設定。在搜尋列中輸入 @
符號以探索不同的篩選器。
以下是一些可用的篩選器
@ext
- 擴充功能特定的設定。您提供擴充功能 ID,例如@ext:ms-python.python
。@feature
- 功能 子群組特定的設定。例如,@feature:explorer
顯示檔案總管的設定。@id
- 根據設定 ID 尋找設定。例如,@id:workbench.activityBar.visible
。@lang
- 根據語言 ID 套用語言篩選器。例如,@lang:typescript
。如需更多詳細資訊,請參閱語言特定編輯器設定。@tag
- VS Code 系統特定的設定。例如,與工作區信任相關的設定的@tag:workspaceTrust
,或與協助工具相關的設定的@tag:accessibility
。
搜尋列會記住您的設定搜尋查詢,並支援復原/取消復原 (⌘Z (Windows、Linux Ctrl+Z)/⇧⌘Z (Windows、Linux Ctrl+Y))。您可以使用搜尋列右側的 清除設定搜尋輸入 按鈕快速清除搜尋詞彙或篩選器。
擴充功能設定
已安裝的 VS Code 擴充功能也可以貢獻它們自己的設定,您可以在設定編輯器的 擴充功能 區段下檢閱這些設定。
您也可以從擴充功能檢視 (⇧⌘X (Windows、Linux Ctrl+Shift+X)) 檢閱擴充功能的設定,方法是選取擴充功能並檢閱 功能貢獻 索引標籤。
擴充功能作者可以在組態貢獻點文件中深入瞭解如何新增自訂設定。
設定 JSON 檔案
VS Code 將設定值儲存在 settings.json
檔案中。設定編輯器是使用者介面,可讓您檢閱和修改儲存在 settings.json
檔案中的設定值。
您也可以直接檢閱和編輯 settings.json
檔案,方法是使用命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中的 喜好設定:開啟使用者設定 (JSON) 或 喜好設定:開啟工作區設定 (JSON) 命令,在編輯器中開啟它。
設定以 JSON 格式撰寫,方法是指定設定 ID 和值。您可以透過選取設定編輯器中設定的齒輪圖示,然後選取 將設定複製為 JSON 動作,快速複製設定的對應 JSON 名稱-值組。
settings.json
檔案具有完整的 IntelliSense,其中包含設定和值的智慧完成,以及描述懸停。也會醒目提示由於不正確的設定名稱或 JSON 格式造成的錯誤。
某些設定只能在 settings.json
中編輯,例如 工作台:色彩自訂,並在設定編輯器中顯示 在 settings.json 中編輯 連結。
如果您偏好始終直接使用 settings.json
,您可以將 workbench.settings.editor 設定為 json
。然後,檔案 > 喜好設定 > 設定 和鍵盤快速鍵 ⌘, (Windows、Linux Ctrl+,) 始終開啟 settings.json
檔案,而不是設定編輯器 UI。
設定檔案位置
使用者 settings.json 位置
使用者設定檔案的位置取決於您的平台,位置如下
- Windows
%APPDATA%\Code\User\settings.json
- macOS
$HOME/Library/Application\ Support/Code/User/settings.json
- Linux
$HOME/.config/Code/User/settings.json
工作區 settings.json 位置
工作區設定檔案位於根資料夾下的 .vscode
資料夾中。當您將工作區設定 settings.json
檔案新增至您的專案或原始檔控制時,專案的設定將由該專案的所有使用者共用。
對於多根工作區,工作區設定位於工作區組態檔案內。
重設設定
您始終可以將設定重設為預設值,方法是將滑鼠游標停留在設定上方以顯示齒輪圖示,按一下齒輪圖示,然後選取 重設設定 動作。
雖然您可以透過設定編輯器個別重設設定,但您可以透過開啟 settings.json
並刪除大括號 {}
之間的項目,來重設所有變更的設定。請小心,因為沒有辦法復原您先前的設定值。
語言特定編輯器設定
自訂語言特定設定的一種方式是開啟設定編輯器,按下篩選器按鈕,然後選取語言選項以新增語言篩選器。或者,可以直接在搜尋小工具中輸入 @lang:languageId
形式的語言篩選器。顯示的設定將可針對該特定語言進行設定,並且將顯示特定於該語言的設定值 (如果適用)。
當您在語言篩選器生效時修改設定時,設定會在給定語言的範圍中設定。例如,當修改使用者範圍 diffEditor.codeLens 設定時,如果搜尋小工具中有 @lang:css
篩選器,則設定編輯器會將新值儲存到使用者設定檔案的 CSS 特定區段。
如果您在搜尋小工具中輸入多個語言篩選器,目前的行為是只會使用第一個語言篩選器。
另一種依語言自訂編輯器的方式是從 命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行全域命令 喜好設定:設定語言特定設定 (命令 ID:workbench.action.configureLanguageBasedSettings
),這會開啟語言選取器。選取您想要的語言。然後,設定編輯器會開啟,其中包含所選語言的語言篩選器,讓您可以修改該語言的語言特定設定。不過,如果您已將 workbench.settings.editor 設定設定為 json
,則 settings.json
檔案會開啟,其中包含新的語言項目,您可以在其中新增適用的設定。
透過下拉式清單選取語言
現在您可以開始編輯特定於該語言的設定
或者,如果 workbench.settings.editor 設定為 json
,現在您可以開始將語言特定設定新增至您的使用者設定
如果您已開啟檔案,並且想要自訂此檔案類型的編輯器,請選取 VS Code 視窗右下角狀態列中的語言模式。這會開啟語言模式選取器,其中包含 設定 'language_name' 語言型設定 選項。選取此選項會開啟您的使用者 settings.json
,其中包含語言項目,您可以在其中新增適用的設定。
語言特定編輯器設定始終覆寫非語言特定編輯器設定,即使非語言特定設定具有較窄的範圍。例如,語言特定使用者設定會覆寫非語言特定工作區設定。
您可以將語言特定設定範圍設定為工作區,方法是將它們放在工作區設定中,就像其他設定一樣。如果您在使用者和工作區範圍中都定義了相同語言的設定,則它們會合併,並優先考量在工作區中定義的設定。
以下範例可以貼到設定 JSON 檔案中,以自訂 typescript
和 markdown
語言模式的編輯器設定。
{
"[typescript]": {
"editor.formatOnSave": true,
"editor.formatOnPaste": true
},
"[markdown]": {
"editor.formatOnSave": true,
"editor.wordWrap": "on",
"editor.renderWhitespace": "all",
"editor.acceptSuggestionOnEnter": "off"
}
}
您可以在 settings.json
中使用 IntelliSense 來協助您尋找語言特定設定。支援所有編輯器設定和某些非編輯器設定。某些語言已設定預設語言特定設定,您可以在 defaultSettings.json
中檢閱這些設定,方法是執行 喜好設定:開啟預設設定 命令。
多個語言特定編輯器設定
您可以一次設定多種語言的語言特定編輯器設定。以下範例顯示如何在您的 settings.json
檔案中一起自訂 javascript
和 typescript
語言的設定
"[javascript][typescript]": {
"editor.maxTokenizationLineLength": 2500
}
設定檔設定
您可以使用 VS Code 中的設定檔 來建立自訂設定集,並在它們之間快速切換。例如,它們是針對特定程式設計語言自訂 VS Code 的絕佳方式。
當您切換到設定檔時,使用者設定的範圍僅限於該設定檔。當您切換到另一個設定檔時,會套用另一個設定檔的使用者設定。這樣,您可以針對不同的設定檔擁有不同的設定。
設定檔的使用者設定 JSON 檔案位於以下目錄中
- Windows
%APPDATA%\Code\User\profiles\<profile ID>\settings.json
- macOS
$HOME/Library/Application\ Support/Code/User/profiles/<profile ID>/settings.json
- Linux
$HOME/.config/Code/User/profiles/<profile ID>/settings.json
<profile ID>
是設定檔的唯一識別碼。對於每個覆寫設定的設定檔,都會有一個對應的設定檔設定檔案。
只有在您修改該設定檔的設定時,才會建立設定檔的 settings.json
檔案。
當您使用非預設設定檔時,您可以使用命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中的 喜好設定:開啟應用程式設定 (JSON) 命令,存取與預設設定檔相關聯的 settings.json
檔案。
設定優先順序
組態可以在多個層級被不同的設定範圍覆寫。在以下清單中,後面的範圍會覆寫先前的範圍
- 預設設定 - 此範圍表示預設未設定的設定值。
- 使用者設定 - 全域套用至所有 VS Code 執行個體。
- 遠端設定 - 套用至使用者開啟的遠端電腦。
- 工作區設定 - 套用至開啟的資料夾或工作區。
- 工作區資料夾設定 - 套用至多根工作區的特定資料夾。
- 語言特定預設設定 - 這些是擴充功能可以貢獻的語言特定預設值。
- 語言特定使用者設定 - 與使用者設定相同,但特定於語言。
- 語言特定遠端設定 - 與遠端設定相同,但特定於語言。
- 語言特定工作區設定 - 與工作區設定相同,但特定於語言。
- 語言特定工作區資料夾設定 - 與工作區資料夾設定相同,但特定於語言。
- 原則設定 - 由系統管理員設定,這些值始終覆寫其他設定值。
設定值可以是各種類型
- 字串 -
"files.autoSave": "afterDelay"
- 布林值 -
"editor.minimap.enabled": true
- 數字 -
"files.autoSaveDelay": 1000
- 陣列 -
"editor.rulers": []
- 物件 -
"search.exclude": { "**/node_modules": true, "**/bower_components": true }
具有基本類型和陣列類型的值會被覆寫,這表示使用優先於另一個範圍的範圍中設定的值,而不是另一個範圍中的值。但是,具有物件類型的值會合併。
例如,workbench.colorCustomizations 採用物件,該物件指定 UI 元素群組及其所需的色彩。如果您的使用者設定將編輯器背景設定為藍色和綠色
"workbench.colorCustomizations": {
"editor.background": "#000088",
"editor.selectionBackground": "#008800"
}
而您開啟的工作區設定將編輯器前景設定為紅色
"workbench.colorCustomizations": {
"editor.foreground": "#880000",
"editor.selectionBackground": "#00FF00"
}
當該工作區開啟時,結果是這兩個色彩自訂的組合,就好像您已指定
"workbench.colorCustomizations": {
"editor.background": "#000088",
"editor.selectionBackground": "#00FF00",
"editor.foreground": "#880000"
}
如果存在衝突的值,例如上述範例中的 editor.selectionBackground
,則會發生通常的覆寫行為,工作區值優先於使用者值,語言特定值優先於非語言特定值。
關於多個語言特定設定的注意事項
如果您使用多個語言特定設定,請注意,語言特定設定會合併,且優先順序是根據完整語言字串 (例如 "[typescript][javascript]"
) 而設定,而不是個別語言 ID (typescript
和 javascript
)。這表示例如,"[typescript][javascript]"
工作區設定不會覆寫 "[javascript]"
使用者設定。
設定和安全性
某些設定可讓您指定 VS Code 將執行以執行特定作業的可執行檔。例如,您可以選擇整合式終端機應使用的 Shell。為了增強安全性,此類設定只能在使用者設定中定義,而不能在工作區範圍中定義。
以下是在工作區設定中不受支援的設定清單
當您第一次開啟定義其中任何設定的工作區時,VS Code 會警告您,然後永遠忽略之後的值。
設定同步
您可以使用設定同步功能,跨您的 VS Code 執行個體共用您的使用者設定。此功能可讓您跨各種機器上的 VS Code 安裝共用設定、鍵盤快速鍵和已安裝的擴充功能。您可以透過設定編輯器右側的 備份和同步設定 命令或 帳戶 活動列內容功能表,啟用設定同步。
您可以在設定同步使用者指南中深入瞭解如何開啟和設定設定同步。
VS Code 不會將您的擴充功能同步到或從遠端視窗,例如當您連線到 SSH、開發容器 (devcontainer) 或 WSL 時。
功能生命週期
功能及其對應的設定可以處於以下其中一種狀態。根據狀態,您可能會謹慎地在您的工作流程中使用該功能或設定。
-
實驗性 - 適用於早期採用者的探索性功能。這些功能可能會在未來變更或移除。在設定編輯器中,這些設定具有
實驗性
標籤。您也可以在搜尋方塊中輸入@tag:experimental
來搜尋實驗性設定。 -
預覽 - 預覽功能和設定具有最終功能,但可能仍在反覆運算以提高穩定性和完善性。通常,預覽功能預設為停用。在設定編輯器中,這些設定具有
預覽
標籤。您也可以在搜尋方塊中輸入@tag:preview
來搜尋實驗性設定。 -
穩定 - 此功能穩定且在 VS Code 中完全支援。
實驗性和預覽功能可讓您試用新功能並提供意見反應。在我們的 VS Code 問題中分享您的意見反應。
相關資源
常見問題
VS Code 顯示「無法寫入設定」。
如果您嘗試變更設定 (例如開啟自動儲存或選取新的色彩佈景主題),並且看到「無法寫入使用者設定。請開啟使用者設定以更正其中的錯誤/警告,然後再試一次。」,這表示您的 settings.json
檔案格式不正確或有錯誤。錯誤可能只是缺少逗號或設定值不正確。使用命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中的 喜好設定:開啟使用者設定 (JSON) 命令開啟 settings.json
檔案,您應該會看到以紅色波浪線醒目提示的錯誤。
如何重設我的使用者設定?
將 VS Code 重設回預設設定的最簡單方法是清除您的使用者 settings.json
檔案。您可以使用命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中的 喜好設定:開啟使用者設定 (JSON) 命令開啟 settings.json
檔案。檔案在編輯器中開啟後,刪除兩個大括號 {}
之間的所有內容,儲存檔案,VS Code 將會回到使用預設值。
何時使用工作區設定才有意義?
如果您正在使用需要自訂設定的工作區,但您不想要將它們套用至您的其他 VS Code 專案。語言特定程式碼檢查規則是個很好的範例。
我在哪裡可以找到擴充功能設定?
一般而言,VS Code 擴充功能會將它們的設定儲存在您的使用者或工作區設定檔案中,並且它們可透過設定編輯器 UI (喜好設定:開啟設定 (UI) 命令) 或透過您 settings.json
檔案中的 IntelliSense (喜好設定:開啟使用者設定 (JSON) 命令) 取得。依擴充功能名稱 (例如 gitlens
或 python
) 搜尋可以協助將設定篩選為僅限於擴充功能貢獻的設定。