參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

使用者和工作區設定

您可以透過各種設定來根據自己的喜好配置 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 檔案中的設定值。

您也可以透過在命令面板(⇧⌘P (Windows, Linux Ctrl+Shift+P))中使用 首選項: 開啟使用者設定 (JSON)首選項: 開啟工作區設定 (JSON) 命令,在編輯器中直接開啟並編輯 settings.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 的語言篩選器。顯示的設定將可針對該特定語言進行配置,並且如果適用,將顯示特定於該語言的設定值。

當您在有語言篩選器的情況下修改設定時,該設定將在給定作用域內為該語言配置。例如,在搜尋小部件中有 @lang:css 篩選器時修改使用者作用域的 diffEditor.codeLens 設定,設定編輯器會將新值儲存到使用者設定檔案的 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。為增強安全性,此類設定只能在使用者設定中定義,而不能在工作區作用域中定義。

以下是工作區設定中不支援的設定列表

當您第一次開啟定義了任何這些設定的工作區時,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 issues 中分享您的反饋。

常見問題

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 專案時。一個很好的例子是特定語言的 linting 規則。

在哪裡可以找到擴充套件設定?

通常,VS Code 擴充套件將其設定儲存在您的使用者或工作區設定檔案中,並且可以透過設定編輯器 UI(首選項: 開啟設定 (UI) 命令)或透過您 settings.json 檔案中的 IntelliSense(首選項: 開啟使用者設定 (JSON) 命令)來使用。按副檔名(例如 gitlenspython)搜尋可以幫助將設定篩選為僅由擴充套件貢獻的設定。