使用者和工作區設定
您可以透過 VS Code 的各種設定對其進行個性化配置。幾乎 VS Code 的編輯器、使用者介面和功能行為的每個部分都可以透過選項進行修改。
VS Code 提供了不同的設定範圍
- 使用者設定 - 全域性應用於您開啟的任何 VS Code 例項的設定。
- 工作區設定 - 儲存在您的工作區內,僅在開啟工作區時適用。
VS Code 將設定值儲存在 settings.json 檔案中。您可以透過編輯 settings.json 檔案或使用提供圖形化介面的設定編輯器來更改設定值。
使用者設定
使用者設定是您個性化 VS Code 的個人設定。這些設定全域性應用於您開啟的任何 VS Code 例項。例如,如果您在使用者設定中將編輯器字型大小設定為 14,那麼您計算機上的所有 VS Code 例項的字型大小都將是 14。
您可以透過以下幾種方式訪問使用者設定
- 在命令面板中選擇首選項: 開啟使用者設定命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))
- 在設定編輯器中選擇使用者選項卡(⌘, (Windows, Linux Ctrl+,))
- 在命令面板中選擇首選項: 開啟使用者設定 (JSON) 命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))

工作區設定
工作區設定特定於專案,並會覆蓋使用者設定。如果您有特定的設定希望應用於特定專案,可以使用工作區設定。例如,對於後端伺服器專案,您可能希望將 files.exclude 設定為從檔案資源管理器中排除 node_modules 資料夾。
VS Code 的“工作區”通常就是您的專案根資料夾。您還可以透過名為多根工作區的功能在 VS Code 工作區中擁有多個根資料夾。有關VS Code 工作區的更多資訊。
VS Code 將工作區設定儲存在專案根目錄下的 .vscode 資料夾中。這使得與他人共享版本控制(例如 Git)專案中的設定變得容易。
您可以透過以下幾種方式訪問工作區設定
- 在命令面板中選擇首選項: 開啟工作區設定命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))
- 在設定編輯器中選擇工作區選項卡(⌘, (Windows, Linux Ctrl+,))
- 在命令面板中選擇首選項: 開啟工作區設定 (JSON) 命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))

並非所有使用者設定都可用作工作區設定。例如,與更新和安全相關的應用程式範圍的設定不能被工作區設定覆蓋。
設定編輯器
設定編輯器提供了一個圖形化介面來管理使用者和工作區設定。要開啟設定編輯器,請導航至檔案 > 首選項 > 設定。或者,在命令面板(⇧⌘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 過濾器。如果某個設定的值與預設值不同,或者其值在相應的 settings.json 檔案中被顯式設定,則該設定會顯示在此過濾器下。
如果您忘記了是否配置了某個設定,或者由於意外配置了某個設定導致編輯器行為異常,此過濾器會很有用。

其他過濾器
還有其他幾個方便的過濾器可以幫助搜尋設定。在搜尋欄中輸入 @ 符號即可發現不同的過濾器。

以下是一些可用的過濾器
@ext:特定於擴充套件的設定。您提供擴充套件 ID,例如@ext:ms-python.python。@feature:特定於功能子組的設定。例如,@feature:explorer顯示檔案資源管理器的設定。@haspolicy:由您的組織控制的設定。@id:根據設定 ID 查詢設定。例如,@id:workbench.activityBar.visible。@lang:應用基於語言 ID 的語言過濾器。例如,@lang:typescript。有關更多詳細資訊,請參閱特定語言的編輯器設定。@tag:特定於 VS Code 系統的設定。例如,與工作區信任相關的設定使用@tag:workspaceTrust,與可訪問性相關的設定使用@tag:accessibility,或者高階 VS Code 設定使用@tag:advanced。
搜尋欄會記住您的設定搜尋查詢,並支援撤銷或重做(⌘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 檔案中的設定值的使用者介面。
您還可以透過命令面板中的首選項: 開啟使用者設定 (JSON) 或首選項: 開啟工作區設定 (JSON) 命令,在編輯器中直接開啟並檢視和編輯 settings.json 檔案(⇧⌘P (Windows, Linux Ctrl+Shift+P))。
設定以 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 特定部分。

如果您在搜尋框中輸入了多個語言過濾器,當前的行為是僅使用第一個語言過濾器。
透過語言定製編輯器的另一種方法是執行全域性命令首選項: 配置語言特定設定(命令 ID:workbench.action.configureLanguageBasedSettings),該命令位於命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中。該命令會開啟語言選擇器。選擇您想要的語言。然後,設定編輯器會開啟並帶有一個所選語言的語言過濾器,允許您修改該語言的特定設定。不過,如果您的 workbench.settings.editor 設定為 json,那麼 settings.json 檔案會開啟並顯示一個新的語言條目,您可以在其中新增適用的設定。

透過下拉選單選擇語言

現在您可以開始編輯該語言的特定設定

或者,如果 workbench.settings.editor 設定為 json,您就可以開始將語言特定設定新增到使用者設定中了

如果您打開了一個檔案,並想為此檔案型別定製編輯器,請選擇 VS Code 視窗右下角狀態列中的語言模式。這將開啟語言模式選擇器,其中有一個選項配置“{language_name}”語言的特定設定。選擇此選項將開啟您的使用者 settings.json 檔案,並在其中建立一個語言條目,您可以在其中新增適用的設定。
特定語言的編輯器設定始終覆蓋非特定語言的編輯器設定,即使非特定語言設定的範圍更窄。例如,特定語言的使用者設定會覆蓋非特定語言的工作區設定。
您可以像其他設定一樣將特定語言的設定放在工作區設定中,從而將其範圍限定到工作區。如果您在使用者和工作區範圍內都為同一種語言定義了設定,那麼這些設定將合併,工作區中定義的設定具有更高的優先順序。
以下示例可以貼上到 settings.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 檔案僅在您修改該配置檔案的設定時建立。
當您使用非預設配置檔案時,您可以使用命令面板中的首選項: 開啟應用程式設定 (JSON) 命令來訪問與預設配置檔案關聯的 settings.json 檔案(⇧⌘P (Windows, Linux Ctrl+Shift+P))。
設定優先順序
不同的設定範圍可以覆蓋多個級別的配置。在下面的列表中,後面的範圍會覆蓋前面的範圍
- 預設設定 - 此範圍代表未配置的預設設定值。
- 使用者設定 - 全域性應用於所有 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 issues 中分享您的反饋。
相關資源
常見問題
VS Code 顯示“無法寫入設定”。
如果您嘗試更改設定(例如啟用自動儲存或選擇新的顏色主題)時看到“無法寫入使用者設定。請開啟使用者設定以糾正其中的錯誤/警告,然後重試。”,這意味著您的 settings.json 檔案格式錯誤或存在錯誤。錯誤可能很簡單,例如缺少逗號或設定值不正確。使用命令面板中的首選項: 開啟使用者設定 (JSON) 命令開啟 settings.json 檔案(⇧⌘P (Windows, Linux Ctrl+Shift+P)),您應該會看到錯誤以紅色波浪線高亮顯示。
如何重置我的使用者設定?
將 VS Code 重置為預設設定的最簡單方法是清除您的使用者 settings.json 檔案。您可以使用命令面板中的首選項: 開啟使用者設定 (JSON) 命令開啟 settings.json 檔案(⇧⌘P (Windows, Linux Ctrl+Shift+P))。將檔案開啟在編輯器中後,刪除兩個大括號 {} 之間的所有內容,儲存檔案,VS Code 將恢復使用預設值。
何時使用工作區設定才合適?
如果您正在使用一個需要自定義設定但又不想將其應用於其他 VS Code 專案的工作區。語言特定的程式碼檢查規則是一個很好的例子。
在哪裡可以找到擴充套件設定?
通常,VS Code 擴充套件會將它們的設定儲存在您的使用者或工作區設定檔案中,並且可以透過設定編輯器 UI(首選項: 開啟設定 (UI) 命令)或透過 settings.json 檔案中的 IntelliSense(首選項: 開啟使用者設定 (JSON) 命令)進行訪問。按副檔名稱搜尋(例如 gitlens 或 python)有助於將設定過濾到僅由擴充套件貢獻的部分。