使用者與工作區設定

您可以透過 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+,))
  • 在命令選擇區中選取偏好設定:開啟使用者設定 (JSON)命令 (⇧⌘P (Windows、Linux Ctrl+Shift+P))

Settings editor with User tab highlighted

工作區設定

工作區設定是專案專屬的,並會覆寫使用者設定。如果您有要套用到特定專案的特定設定,您可以使用工作區設定。例如,對於後端伺服器專案,您可能希望將 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))

Settings editor with Workspace tab highlighted

並非所有使用者設定都可作為工作區設定。例如,與更新和安全性相關的應用程式層級設定不能被工作區設定覆寫。

設定編輯器

設定編輯器提供圖形化介面來管理使用者和工作區設定。若要開啟設定編輯器,請導覽至檔案 > 偏好設定 > 設定。或者,從命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 使用偏好設定:開啟設定或使用鍵盤快速鍵 (⌘, (Windows、Linux Ctrl+,)) 開啟設定編輯器。

預設情況下,設定編輯器會在編輯器區域上方以模態疊層開啟。您可以使用 workbench.editor.useModal 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定來變更此行為。當您開啟設定 JSON 檔案時,它會在主視窗中作為一般編輯器分頁開啟。

當您開啟設定編輯器時,您可以搜尋並找到您正在尋找的設定。當您使用搜尋列搜尋時,設定編輯器會篩選設定,只顯示符合您條件的設定。這使得尋找設定既快速又容易。

Filtering settings by searching in the Settings editor

VS Code 會在您變更設定時直接套用這些變更。您可以透過設定左側的有色條來識別您修改過的設定,這類似於編輯器中修改過的行。

在下面的範例中,側邊欄位置和檔案圖示主題已變更。

Modified settings in the Settings editor showing blue vertical bars to the left of them

設定旁邊的齒輪圖示 (⇧F9 (Windows、Linux Shift+F9)) 會開啟一個內容功能表,其中包含將設定重設為其預設值、複製設定 ID、複製 JSON 名稱-值配對或複製設定 URL 的選項。

Settings edit gear context menu

提示

設定 URL 讓您可以直接從瀏覽器導覽至設定編輯器中的特定設定。URL 的格式為 vscode://settings/<settingName>,其中 <settingName> 是您要導覽的設定 ID。例如,若要導覽至 workbench.colorTheme 設定,請使用 URL vscode://settings/workbench.colorTheme

設定群組

設定會以群組表示,以便您可以快速導覽至相關設定。頂部有一個常用群組,顯示熱門的自訂設定。

在以下範例中,透過在樹狀檢視中選取原始碼控制來專注於原始碼控制設定。

Settings editor with the Source Control section of the table of contents selected

注意

VS Code 延伸模組也可以新增自己的自訂設定,這些設定可在延伸模組區段下看到。

設定編輯器篩選器

設定編輯器搜尋列有幾個篩選器,可讓您更輕鬆地管理設定。搜尋列右側有一個帶有漏斗圖示的篩選按鈕,提供選項可輕鬆將篩選器新增至搜尋列。

已修改的設定

若要檢查您已設定的設定,搜尋列中有一個 @modified 篩選器。如果設定的值與預設值不同,或其值在各自的設定 JSON 檔案中明確設定,則該設定會顯示在此篩選器下。

如果您忘記是否已設定某個設定,或者由於不小心設定了某個設定而導致編輯器行為不如預期,則此篩選器會很有用。

Settings editor with @modified filter showing changed settings

其他篩選器

還有其他幾個方便的篩選器可協助搜尋設定。在搜尋列中輸入 @ 符號即可探索不同的篩選器。

Setting editor @ tag filter dropdown

以下是一些可用的篩選器

  • @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。進階設定用於特殊情境。預設情況下,進階設定會從搜尋結果中隱藏,除非您使用 @tag:advanced 篩選器。若要始終在設定編輯器中顯示進階設定,請啟用 workbench.settings.alwaysShowAdvancedSettings 在 VS Code 中開啟 在 VS Code Insiders 中開啟

搜尋列會記住您的設定搜尋查詢,並支援復原或重做 (⌘Z (Windows、Linux Ctrl+Z)/⇧⌘Z (Windows、Linux Ctrl+Y))。您可以使用搜尋列右側的清除設定搜尋輸入按鈕快速清除搜尋詞彙或篩選器。

Clear Settings Search Input button in the right of the Settings editor

延伸模組設定

已安裝的 VS Code 延伸模組也可以提供自己的設定,您可以在設定編輯器的延伸模組區段下檢閱這些設定。

C++ extension settings in the Settings editor

您也可以從延伸模組檢視 (⇧⌘X (Windows、Linux Ctrl+Shift+X)) 檢閱延伸模組的設定,方法是選取延伸模組並檢閱功能貢獻分頁。

Python extension Settings list under Feature Contributions tab

延伸模組作者可以在設定貢獻點文件中瞭解如何新增自訂設定。

設定 JSON 檔案

VS Code 會將設定值儲存在 settings.json 檔案中。設定編輯器是用戶介面,可讓您檢閱和修改儲存在 settings.json 檔案中的設定值。

您也可以透過在命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中使用偏好設定:開啟使用者設定 (JSON)偏好設定:開啟工作區設定 (JSON) 命令,在編輯器中開啟 settings.json 檔案來直接檢閱和編輯它。

設定是透過指定設定 ID 和值以 JSON 格式寫入的。您可以透過選取設定編輯器中設定的齒輪圖示,然後選取複製設定為 JSON 動作,快速複製設定的對應 JSON 名稱-值配對。

User settings.json open in the editor

settings.json 檔案具有完整的 IntelliSense,可為設定和值提供智慧型完成,並提供描述懸停。由於設定名稱不正確或 JSON 格式錯誤而產生的錯誤也會被標示。

IntelliSense for settings.json open in the editor

某些設定只能在 settings.json 中編輯,例如工作台:色彩自訂,並在設定編輯器中顯示在 settings.json 中編輯連結。

Workbench: Color Customizations setting with Edit in settings.json link

提示

如果您喜歡始終直接使用 settings.json,您可以將 workbench.settings.editor 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定為 json。然後,檔案 > 偏好設定 > 設定和快速鍵 (⌘, (Windows、Linux Ctrl+,)) 始終會開啟 settings.json 檔案而不是設定編輯器使用者介面。

設定檔位置

使用者 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 檔案新增到您的專案或原始碼控制時,該專案的所有使用者都將共享該專案的設定。

The File Explorer displaying settings.json under the .vscode folder

注意

對於多根目錄工作區,工作區設定位於工作區組態檔中。

重設設定

您可以隨時將設定重設為預設值,方法是將滑鼠懸停在設定上以顯示齒輪圖示,點擊齒輪圖示,然後選取重設設定動作。

雖然您可以透過設定編輯器個別重設設定,但您可以透過開啟 settings.json 並刪除大括號 {} 之間的所有項目來重設所有已變更的設定。請務必小心,因為無法復原您先前的設定值。

特定語言編輯器設定

自訂特定語言設定的一種方法是開啟設定編輯器,點擊篩選按鈕,然後選取語言選項以新增語言篩選器。或者,可以直接在搜尋小工具中輸入形式為 @lang:languageId 的語言篩選器。顯示的設定將可針對該特定語言進行設定,並會顯示該語言特有的設定值 (如果適用)。

當您在語言篩選器就位的情況下修改設定時,設定會針對該語言在指定範圍內進行配置。例如,當在搜尋小工具中有 @lang:css 篩選器時修改使用者範圍 diffEditor.codeLens 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定時,設定編輯器會將新值儲存到使用者設定檔中 CSS 特定區段。

Editing the CSS-specific user-scoped diffEditor.codeLens setting in the Settings editor

注意

如果您在搜尋小工具中輸入多個語言篩選器,目前的行為是只會使用第一個語言篩選器。

另一種依語言自訂編輯器的方式是從命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 執行全域命令偏好設定:設定特定語言設定 (命令 ID:workbench.action.configureLanguageBasedSettings),它會開啟語言選擇器。選取您想要的語言。然後,設定編輯器會開啟並帶有選定語言的語言篩選器,讓您可以修改該語言的特定語言設定。但是,如果您的 workbench.settings.editor 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定設為 json,則 settings.json 檔案會開啟並帶有新的語言項目,您可以在其中新增適用設定。

Configure language-specific settings command typed up in the Command Palette

透過下拉式選單選取語言

Select language dropdown

現在您可以開始專為該語言編輯設定

Settings editor showing a specific language filter

或者,如果 workbench.settings.editor 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設為 json,現在您可以開始將特定語言設定新增到您的使用者設定

Suggestions for language-specific settings shown in the settings JSON file

如果您開啟了一個檔案並想為此檔案類型自訂編輯器,請在 VS Code 視窗右下角的狀態列中選取語言模式。這會開啟語言模式選擇器,其中包含一個選項設定「language_name」語言相關設定。選取此選項會開啟您的使用者 settings.json,其中包含語言項目,您可以在其中新增適用設定。

特定語言編輯器設定始終會覆寫非特定語言編輯器設定,即使非特定語言設定的範圍更窄。例如,特定語言使用者設定會覆寫非特定語言工作區設定。

您可以將特定語言設定放入工作區設定中,就像其他設定一樣,將其範圍限制為工作區。如果您在使用者和工作區範圍中為同一語言定義了設定,則會透過優先考慮工作區中定義的設定來合併它們。

以下範例可以貼到設定 JSON 檔案中,以自訂 typescriptmarkdown 語言模式的編輯器設定。

{
  "[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 檔案中同時自訂 javascripttypescript 語言的設定

"[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 }
注意

files.excludesearch.exclude 等設定使用遵循您作業系統檔案系統大小寫敏感度 (Windows/macOS 不區分大小寫,Linux 區分大小寫) 的Glob 模式。同樣地,`.gitignore` 檔案模式 (與 explorer.excludeGitIgnore 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定一起使用) 也遵循平台特定的區分大小寫規則。

基本型別和陣列型別的值會被覆寫,這表示優先於另一個範圍的範圍中設定的值會取代另一個範圍中的值。但是,物件型別的值會合併。

例如, workbench.colorCustomizations 在 VS Code 中開啟 在 VS Code Insiders 中開啟 採用一個物件,該物件指定了一組使用者介面元素及其所需的顏色。如果您的使用者設定將編輯器背景設定為藍色和綠色

  "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 (typescriptjavascript) 設定的。這表示例如,一個 "[typescript][javascript]" 工作區設定將不會覆寫 "[javascript]" 使用者設定。

設定與安全性

某些設定允許您指定 VS Code 將執行以執行某些操作的可執行檔。例如,您可以選擇整合式終端機應使用的 Shell。為了增強安全性,此類設定只能在使用者設定中定義,而不能在工作區範圍定義。

以下是工作區設定中不支援的設定清單

  • git.path 在 VS Code 中開啟 在 VS Code Insiders 中開啟
  • terminal.external.windowsExec 在 VS Code 中開啟 在 VS Code Insiders 中開啟
  • terminal.external.osxExec 在 VS Code 中開啟 在 VS Code Insiders 中開啟
  • terminal.external.linuxExec 在 VS Code 中開啟 在 VS Code Insiders 中開啟

當您第一次開啟定義了這些設定的任何工作區時,VS Code 會警告您,然後之後總是忽略這些值。

設定同步

您可以使用設定同步功能在您的 VS Code 實例之間共享您的使用者設定。此功能可讓您在不同機器上安裝的 VS Code 之間共享設定、鍵盤快速鍵和已安裝的延伸模組。您可以透過設定編輯器右側或帳戶活動列內容功能表上的備份與同步設定命令來啟用設定同步。

Turn on Settings Sync command in the Accounts Activity Bar menu

您可以在設定同步使用者指南中瞭解如何開啟和設定設定同步。

注意

VS Code 不會將您的延伸模組同步到遠端視窗或從遠端視窗同步,例如當您連接到 SSH、開發容器 (devcontainer) 或 WSL 時。

功能生命週期

功能及其對應設定可以處於以下其中一種狀態。根據狀態,您在工作流程中使用該功能或設定時可能會謹慎。

  • 實驗性 - 供早期採用者探索的功能。這些功能未來可能會變更或移除。在設定編輯器中,這些設定帶有 實驗性 標籤。您也可以在搜尋框中輸入 @tag:experimental 來搜尋實驗性設定。

    Settings editor filtered with '@tag:experimental' showing experimental settings.

  • 預覽 - 預覽功能和設定具有最終功能,但可能仍在穩定性和完善方面進行迭代。通常,預覽功能預設為停用。在設定編輯器中,這些設定帶有 預覽 標籤。您也可以在搜尋框中輸入 @tag:preview 來搜尋預覽設定。

    Settings editor filtered with '@tag:preview' showing preview settings.

  • 穩定 - 功能穩定並獲得 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) 命令) 或透過您的 settings.json 檔案中的 IntelliSense (偏好設定:開啟使用者設定 (JSON) 命令) 來存取它們。透過延伸模組名稱搜尋 (例如 gitlenspython) 可以協助將設定篩選為僅由延伸模組提供的設定。

© . This site is unofficial and not affiliated with Microsoft.