🚀 在 VS Code 中

使用者和工作區設定

您可以透過 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) 命令

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+,)) 中選取 工作區 索引標籤
  • 在命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中選取 喜好設定:開啟工作區設定 (JSON) 命令

Settings editor with Workspace tab highlighted

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

設定編輯器

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

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

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 顯示檔案總管的設定。
  • @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))。您可以使用搜尋列右側的 清除設定搜尋輸入 按鈕快速清除搜尋詞彙或篩選器。

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 檔案中的設定值。

您也可以直接檢閱和編輯 settings.json 檔案,方法是使用命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 中的 喜好設定:開啟使用者設定 (JSON)喜好設定:開啟工作區設定 (JSON) 命令,在編輯器中開啟它。

設定以 JSON 格式撰寫,方法是指定設定 ID 和值。您可以透過選取設定編輯器中設定的齒輪圖示,然後選取 將設定複製為 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 設定為 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 檔案新增至您的專案或原始檔控制時,專案的設定將由該專案的所有使用者共用。

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

注意

對於多根工作區,工作區設定位於工作區組態檔案內。

重設設定

您始終可以將設定重設為預設值,方法是將滑鼠游標停留在設定上方以顯示齒輪圖示,按一下齒輪圖示,然後選取 重設設定 動作。

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

語言特定編輯器設定

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

當您在語言篩選器生效時修改設定時,設定會在給定語言的範圍中設定。例如,當修改使用者範圍 diffEditor.codeLens 設定時,如果搜尋小工具中有 @lang:css 篩選器,則設定編輯器會將新值儲存到使用者設定檔案的 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 設定設定為 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 設定為 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 }

具有基本類型和陣列類型的值會被覆寫,這表示使用優先於另一個範圍的範圍中設定的值,而不是另一個範圍中的值。但是,具有物件類型的值會合併。

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

設定和安全性

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

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

  • git.path
  • terminal.external.windowsExec
  • terminal.external.osxExec
  • terminal.external.linuxExec

當您第一次開啟定義其中任何設定的工作區時,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 (喜好設定:開啟設定 (UI) 命令) 或透過您 settings.json 檔案中的 IntelliSense (喜好設定:開啟使用者設定 (JSON) 命令) 取得。依擴充功能名稱 (例如 gitlenspython) 搜尋可以協助將設定篩選為僅限於擴充功能貢獻的設定。