基本編輯
Visual Studio Code 首先是一個編輯器,它包含您進行高效率原始碼編輯所需的功能。本主題將帶您了解編輯器的基礎知識,並幫助您開始使用您的程式碼。
鍵盤快速鍵
在編寫程式碼時能夠保持雙手在鍵盤上對於提高生產力至關重要。VS Code 擁有一組豐富的預設鍵盤快速鍵,同時也允許您自訂它們。
- 鍵盤快速鍵參考 - 下載參考表,學習最常用和最受歡迎的鍵盤快速鍵。
- 安裝按鍵對應擴充功能 - 透過安裝按鍵對應擴充功能,在 VS Code 中使用您舊編輯器 (例如 Sublime Text、Atom 和 Vim) 的鍵盤快速鍵。
- 自訂鍵盤快速鍵 - 變更預設鍵盤快速鍵以符合您的風格。
多重選取 (多重游標)
VS Code 支援多重游標以實現快速、同時編輯。您可以使用 Alt+Click 新增次要游標 (呈現較細)。每個游標根據其所在的上下文獨立運作。新增更多游標的常見方式是使用 ⌥⌘↓ (Windows Ctrl+Alt+Down、Linux Shift+Alt+Down) 或 ⌥⌘↑ (Windows Ctrl+Alt+Up、Linux Shift+Alt+Up),它們會在下方或上方插入游標。
您的顯示卡驅動程式 (例如 NVIDIA) 可能會覆寫這些預設快速鍵。

⌘D (Windows、Linux Ctrl+D) 選取游標處的單字,或目前選取範圍的下一個出現處。
您可以在使用多重游標尋找時,透過執行 ⌘K ⌘D (Windows、Linux Ctrl+K Ctrl+D) 來跳過下一個符合的出現處。這有助於您在編輯重複文字時避免新增不必要的選取範圍。

您也可以使用 ⇧⌘L (Windows、Linux Ctrl+Shift+L) 新增更多游標,它會在目前選取文字的每個出現處新增選取範圍。
多重游標修改鍵
如果您想將 macOS 上的多重游標修改鍵變更為 Cmd+Click,以及 Windows 和 Linux 上的 Ctrl+Click,您可以透過 editor.multiCursorModifier 設定 來實現。這讓來自 Sublime Text 或 Atom 等其他編輯器的使用者可以繼續使用他們熟悉的鍵盤修改鍵。
此設定可設為:
ctrlCmd- 對應 Windows 上的 Ctrl 和 macOS 上的 Cmd。alt- 現有的預設 Alt。
還有一個功能表項目 選取 > 切換至 Ctrl+Click 啟用多重游標 或 選取 > 切換至 Alt+Click 啟用多重游標,可快速切換此設定。
前往定義 和 開啟連結 手勢也會遵守此設定並進行調整,使其不會衝突。例如,當設定為 ctrlCmd 時,可以透過 Ctrl/Cmd+Click 新增多重游標,而開啟連結或前往定義則可以透過 Alt+Click 叫用。
縮小/擴大選取範圍
快速縮小或擴大目前的選取範圍。使用 ⌃⇧⌘← (Windows、Linux Shift+Alt+Left) 和 ⌃⇧⌘→ (Windows、Linux Shift+Alt+Right) 觸發。
這是一個使用 ⌃⇧⌘→ (Windows、Linux Shift+Alt+Right) 擴大選取範圍的範例:

欄位 (方塊) 選取
將游標放置在一個角落,然後按住 Shift+Alt 並拖曳到對角。

當使用 Ctrl/Cmd 作為 多重游標修改鍵 時,這將變更為 Shift+Ctrl/Cmd。
macOS 和 Windows 上也有預設的欄位選取快速鍵,但 Linux 上沒有。
| 按鍵 | 指令 | 命令 ID |
|---|---|---|
| ⇧↓ (Windows、Linux Shift+Down) | 欄位向下選取 | cursorColumnSelectDown |
| ⇧↑ (Windows、Linux Shift+Up) | 欄位向上選取 | cursorColumnSelectUp |
| ⇧← (Windows、Linux Shift+Left) | 欄位向左選取 | cursorColumnSelectLeft |
| ⇧→ (Windows、Linux Shift+Right) | 欄位向右選取 | cursorColumnSelectRight |
| ⇧PageDown (Windows、Linux Shift+PageDown) | 欄位向下翻頁選取 | cursorColumnSelectPageDown |
| ⇧PageUp (Windows、Linux Shift+PageUp) | 欄位向上翻頁選取 | cursorColumnSelectPageUp |
如果您想將它們綁定到更熟悉的快速鍵,您可以編輯您的 keybindings.json。
欄位選取模式
使用者設定 編輯器:欄位選取 控制此功能。一旦進入此模式 (如狀態列所示),滑鼠手勢和方向鍵將預設建立欄位選取。此全域開關也可透過 選取 > 欄位選取模式 功能表項目存取。此外,也可以從狀態列停用欄位選取模式。
儲存 / 自動儲存
預設情況下,VS Code 需要明確的動作才能將您的變更儲存到磁碟中,即 ⌘S (Windows、Linux Ctrl+S)。
然而,開啟 自動儲存 很簡單,它會在設定的延遲時間後或焦點離開編輯器時儲存您的變更。啟用此選項後,無需明確儲存檔案。開啟 自動儲存 最簡單的方法是透過 檔案 > 自動儲存 切換開關,它會在延遲後開啟或關閉儲存。
如需對 自動儲存 進行更多控制,請開啟使用者或工作區 設定 並找到相關設定:
- files.autoSave :可以有以下值:
off- 停用自動儲存。afterDelay- 在設定的延遲時間 (預設 1000 毫秒) 後儲存檔案。onFocusChange- 當焦點從未儲存的檔案編輯器移開時儲存檔案。onWindowChange- 當焦點從 VS Code 視窗移開時儲存檔案。
- files.autoSaveDelay :當 files.autoSave 設定為
afterDelay時,設定延遲時間 (毫秒)。預設為 1000 毫秒。
如果您想為特定語言或檔案類型自訂 自動儲存 功能,您可以透過 settings.json 檔案新增語言特定規則來實現。
例如,停用 LaTeX 檔案的 自動儲存:
"[latex]": {
"files.autoSave": "off",
},
熱退出
預設情況下,VS Code 在您退出時會記住未儲存的檔案變更。當應用程式透過 檔案 > 結束 (macOS 上為 Code > 退出) 關閉,或當最後一個視窗關閉時,將觸發熱退出。
您可以透過將 files.hotExit 設定為以下值來配置熱退出:
"off":停用熱退出。"onExit":當應用程式關閉時,即當 Windows/Linux 上最後一個視窗關閉時,或當workbench.action.quit命令被觸發時 (從 命令選擇區、鍵盤快速鍵或功能表),將觸發熱退出。所有未開啟資料夾的視窗將在下次啟動時恢復。"onExitAndWindowClose":當應用程式關閉時,即當 Windows/Linux 上最後一個視窗關閉時,或當workbench.action.quit命令被觸發時 (從 命令選擇區、鍵盤快速鍵或功能表),以及對於任何已開啟資料夾的視窗 (無論它是否為最後一個視窗),都將觸發熱退出。所有未開啟資料夾的視窗將在下次啟動時恢復。要將資料夾視窗恢復到關閉前的狀態,請將 window.restoreWindows 設定為all。
如果熱退出發生問題,所有備份都儲存在標準安裝位置的以下資料夾中:
- Windows
%APPDATA%\Code\Backups - macOS
$HOME/Library/Application Support/Code/Backups - Linux
$HOME/.config/Code/Backups
尋找與取代
VS Code 允許您在目前開啟的檔案中快速尋找和取代文字。按下 ⌘F (Windows、Linux Ctrl+F) 以在編輯器中開啟尋找控制項並輸入搜尋字串。搜尋結果將在編輯器、總覽尺規和迷你地圖中反白顯示。
VS Code 會在您輸入時立即開始搜尋。若要只在您按下 Enter 時才開始搜尋,請清除 editor.find.findOnType 設定。
若要在找到符合項後自動關閉尋找控制項並將焦點返回到編輯器,請啟用 editor.find.closeOnResult 設定。
如果目前檔案中有多個符合項,在尋找輸入框有焦點時,按下 Enter 可移至下一個結果,或按下 ⇧Enter (Windows、Linux Shift+Enter) 可移至上一個結果。
預設情況下,VS Code 會為工作區儲存您的尋找和取代查詢歷史記錄,並在重新啟動後恢復它。您可以透過 editor.find.history 和 editor.find.replaceHistory 設定來配置此行為。將值設定為 never 以停用儲存歷史記錄。
從選取範圍填入搜尋字串
當尋找控制項開啟時,它會自動將編輯器中選取的文字填入尋找輸入框。如果選取範圍為空,則游標下的單字將被插入到輸入框中。

可以透過將 editor.find.seedSearchStringFromSelection 設定為 "never" 來關閉此功能。
在選取範圍內尋找
預設情況下,尋找操作會在編輯器中的整個檔案上執行。若要將搜尋限制在文字選取範圍內,請點選尋找控制項上的 在選取範圍內尋找 圖示,或按下 ⌥⌘L (Windows、Linux Alt+L)。

如果您希望這是尋找控制項的預設行為,您可以將 editor.find.autoFindInSelection 設定為 always;如果您希望僅在選取多行內容時才在選取文字上執行搜尋,則設定為 multiline。
進階尋找和取代選項
針對更進階的情境,尋找和取代控制項有以下選項:
-
尋找控制項
- 大小寫相符
- 符合完整單字
- 規則運算式
-
取代控制項
- 保留大小寫

多行支援和尋找控制項調整大小
您可以透過將文字貼到「尋找」輸入框和「取代」輸入框中來搜尋多行文字。按下 Ctrl+Enter 可在輸入框中插入新行。

搜尋長文字時,尋找控制項的預設大小可能太小。您可以拖曳左側的拖曳區來放大尋找控制項,或雙擊左側的拖曳區來最大化或縮小至其預設大小。

跨檔案搜尋
VS Code 允許您快速搜尋目前開啟資料夾中的所有檔案。按下 ⇧⌘F (Windows、Linux Ctrl+Shift+F) 並輸入您的搜尋詞彙。搜尋結果會依包含搜尋詞彙的檔案分組,並顯示每個檔案中的符合項及其位置。展開檔案以預覽該檔案中的所有符合項。然後單擊其中一個符合項以在編輯器中查看它。

VS Code 也支援在搜尋框中進行正規表達式搜尋。
您可以透過點選搜尋框右下方的省略符號 (切換搜尋詳細資訊) (或按下 ⇧⌘J (Windows、Linux Ctrl+Shift+J)) 來設定進階搜尋選項。這將顯示額外的欄位以配置搜尋。
您可以使用「快速搜尋」來快速尋找目前開啟資料夾中所有檔案的文字。開啟命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並輸入 搜尋:快速搜尋 命令。
進階搜尋選項

在搜尋框下方的兩個輸入框中,您可以輸入要包含或排除在搜尋之外的模式。如果您輸入 example,它將符合工作區中所有名為 example 的資料夾和檔案。如果您輸入 ./example,它將符合您工作區頂層的 example/ 資料夾。使用 , 分隔多個模式。路徑必須使用正斜線。您也可以使用 glob 模式語法,例如:
*:符合路徑片段中零個或多個字元?:符合路徑片段中一個字元**:符合任意數量的路徑片段,包括沒有{}:分組條件 (例如{**/*.html,**/*.txt}符合所有 HTML 和文字檔案)[]:宣告要符合的字元範圍 (example.[0-9]符合example.0、example.1等)[!...]:否定要符合的字元範圍 (example.[!0-9]符合example.a、example.b,但不符合example.0)
關於大小寫區分: Glob 模式遵循您作業系統的檔案系統規則。在 Windows 和 macOS 上,模式不區分大小寫 (例如,*.CS 符合 file.cs)。在 Linux 上,模式區分大小寫。這與搜尋文字的 大小寫相符 切換開關是分開的,後者控制搜尋文字本身是否區分大小寫。深入了解 glob 模式。
VS Code 預設會排除某些資料夾,以減少您不感興趣的搜尋結果數量 (例如:node_modules)。開啟 設定,在 files.exclude 和 search.exclude 部分下更改這些規則。
請注意,搜尋檢視中的 glob 模式與 files.exclude 和 search.exclude 等設定中的 glob 模式不同。在設定中,您必須使用 **/example 來符合工作區子資料夾 folder1/example 中的名為 example 的資料夾。在搜尋檢視中,** 前綴是假設的。這些設定中的 glob 模式始終相對於工作區資料夾的路徑進行評估。
另請注意 要排除的檔案 方塊中的 使用排除設定和忽略檔案 切換按鈕。該切換按鈕決定是否排除被您的 .gitignore 檔案忽略和/或被您的 files.exclude 和 search.exclude 設定符合的檔案。
.gitignore 檔案中的模式在 Windows 和 macOS 上不區分大小寫,而在 Linux 上區分大小寫。深入了解 glob 模式大小寫敏感度。
在檔案總管中,您可以右鍵點選資料夾並選擇 在資料夾中尋找 以僅在該資料夾內搜尋。
搜尋與取代
您也可以跨檔案進行搜尋與取代。展開搜尋小工具以顯示取代文字框。

當您在「取代」文字框中輸入文字時,您將看到待變更的差異顯示。您可以從「取代」文字框中跨所有檔案取代,取代單一檔案中的所有符合項,或取代單一變更。

您可以使用 ↓ (Windows、Linux Down) 和 ↑ (Windows、Linux Up) 瀏覽搜尋詞彙歷史記錄,快速重複使用先前的搜尋詞彙。
正規表示式取代中的大小寫轉換
VS Code 支援在編輯器中或全域進行搜尋與取代時變更正規表達式符合群組的大小寫。這是透過修改符 \u\U\l\L 完成的,其中 \u 和 \l 會將單一字元轉換為大寫/小寫,而 \U 和 \L 會將符合群組的其餘部分轉換為大寫/小寫。
範例

修改符也可以堆疊使用 - 例如,\u\u\u$1 會將群組的前三個字元轉換為大寫,或 \l\U$1 會將第一個字元轉換為小寫,並將其餘字元轉換為大寫。捕獲群組在替換字串中透過 $n 引用,其中 n 是捕獲群組的順序。
搜尋編輯器
搜尋編輯器讓您可以在全尺寸編輯器中查看工作區搜尋結果,並具備語法高亮顯示和可選的周圍上下文行。
下方是搜尋詞彙「SearchEditor」的範例,其中包含符合項前後兩行文字作為上下文:

開啟搜尋編輯器 命令會開啟現有的搜尋編輯器 (如果存在),否則會建立一個新的搜尋編輯器。新建搜尋編輯器 命令將始終建立一個新的搜尋編輯器。
在搜尋編輯器中,可以使用 前往定義 動作導覽結果,例如 F12 在目前的編輯器群組中開啟原始碼位置,或 ⌘K F12 (Windows、Linux Ctrl+K F12) 在旁邊的編輯器中開啟位置。此外,您可以透過 search.searchEditor.singleClickBehaviour 和 search.searchEditor.doubleClickBehaviour 設定來配置單擊或雙擊搜尋結果的行為。例如,開啟預覽定義視窗或開啟原始碼位置。
您也可以使用搜尋檢視頂部的 開啟新搜尋編輯器 按鈕,並透過結果樹頂部的 在編輯器中開啟 連結,或使用 搜尋編輯器:在編輯器中開啟結果 命令,將現有結果從搜尋檢視複製到搜尋編輯器中。

上方的搜尋編輯器是透過點選搜尋檢視頂部 開啟新搜尋編輯器 按鈕 (第三個按鈕) 開啟的。
搜尋編輯器命令和引數
search.action.openNewEditor- 在新分頁中開啟搜尋編輯器。search.action.openInEditor- 將目前的搜尋結果複製到新的搜尋編輯器中。search.action.openNewEditorToSide- 在您目前開啟的視窗旁邊的新視窗中開啟搜尋編輯器。
您可以將兩個引數傳遞給搜尋編輯器命令 (search.action.openNewEditor、search.action.openNewEditorToSide),以允許鍵盤快速鍵配置新搜尋編輯器的行為:
triggerSearch- 開啟搜尋編輯器時是否自動執行搜尋。預設為 true。focusResults- 是否將焦點放在搜尋結果或查詢輸入框中。預設為 true。
例如,以下鍵盤快速鍵會在開啟搜尋編輯器時執行搜尋,但會將焦點保留在搜尋查詢控制項中。
{
"key": "ctrl+o",
"command": "search.action.openNewEditor",
"args": { "query": "VS Code", "triggerSearch": true, "focusResults": false }
}
搜尋編輯器上下文預設值
search.searchEditor.defaultNumberOfContextLines 設定的預設值為 1,表示在搜尋編輯器中每個結果行的前後都會顯示一行上下文。
重複使用上次搜尋編輯器配置
search.searchEditor.reusePriorSearchConfiguration 設定 (預設為 false) 允許您在建立新的搜尋編輯器時重複使用上次活動搜尋編輯器的配置。
IntelliSense
我們總是提供單字補齊,但對於豐富的語言,例如 JavaScript、JSON、HTML、CSS、SCSS、Less、C# 和 TypeScript,我們提供真正的 IntelliSense 體驗。如果語言服務知道可能的補齊,IntelliSense 建議將在您輸入時彈出。您可以隨時手動透過 ⌃Space (Windows、Linux Ctrl+Space) 觸發它。預設情況下,Tab 或 Enter 是接受鍵盤觸發器,但您也可以自訂這些鍵盤快速鍵。
建議過濾器支援駝峰式命名 (CamelCase),因此您可以輸入方法名稱中大寫的字母以限制建議。例如,「cra」會快速帶出「createApplication」。
IntelliSense 建議可透過 editor.quickSuggestions 和 editor.suggestOnTriggerCharacters 設定 進行配置。
JavaScript 和 TypeScript 開發人員可以利用 npmjs 類型宣告 (typings) 檔案儲存庫,以獲得常見 JavaScript 函式庫 (Node.js、React、Angular) 的 IntelliSense。您可以在 JavaScript 語言 主題和 Node.js 教學中找到有關使用類型宣告檔案的良好說明。
在IntelliSense 文件中了解更多資訊。
格式化
VS Code 對原始碼格式化有很好的支援。編輯器有兩個明確的格式化動作:
- 格式化文件 (⇧⌥F (Windows Shift+Alt+F、Linux Ctrl+Shift+I)) - 格式化整個活動檔案。
- 格式化選取範圍 (⌘K ⌘F (Windows、Linux Ctrl+K Ctrl+F)) - 格式化選取的文字。
您可以從 命令選擇區 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 或編輯器上下文功能表叫用這些動作。
VS Code 對 JavaScript、TypeScript、JSON、HTML 和 CSS 提供了預設的格式化工具。每種語言都有特定的格式化選項 (例如 html.format.indentInnerHtml ),您可以在使用者或工作區 設定 中依個人偏好調整。如果您安裝了提供相同語言格式化功能的其他擴充功能,您也可以停用預設的語言格式化工具。
"html.format.enable": false
除了手動叫用程式碼格式化外,您還可以根據使用者手勢 (例如打字、儲存或貼上) 觸發格式化。這些功能預設為關閉,但您可以透過以下 設定 啟用這些行為:
- editor.formatOnType - 打字後格式化該行。
- editor.formatOnSave - 儲存時格式化檔案。
- editor.formatOnPaste - 格式化貼上的內容。
並非所有格式化工具都支援貼上時格式化,因為它們必須支援格式化選取範圍或文字範圍。
除了預設的格式化工具之外,您還可以在 Marketplace 上找到支援其他語言或格式化工具的擴充功能。有一個 Formatters 類別,因此您可以輕鬆搜尋和找到 格式化擴充功能。在 擴充功能 檢視的搜尋框中,輸入 'formatters' 或 'category:formatters' 以查看 VS Code 中篩選後的擴充功能清單。
程式碼摺疊
您可以使用行號和行首之間的裝訂邊上的摺疊圖示來摺疊原始碼區域。將滑鼠移到裝訂邊上,然後按一下以摺疊和展開區域。按住 Shift + Click 點擊摺疊圖示可摺疊或展開該區域及其中所有區域。

您也可以使用以下動作:
- 摺疊 (⌥⌘[ (Windows、Linux Ctrl+Shift+[)) 會摺疊游標處最內層未展開的區域。
- 展開 (⌥⌘] (Windows、Linux Ctrl+Shift+])) 會展開游標處已摺疊的區域。
- 切換摺疊 (⌘K ⌘L (Windows、Linux Ctrl+K Ctrl+L)) 會摺疊或展開游標處的區域。
- 遞迴摺疊 (⌘K ⌘[ (Windows、Linux Ctrl+K Ctrl+[)) 會摺疊游標處最內層未展開的區域及其內部所有區域。
- 遞迴展開 (⌘K ⌘] (Windows、Linux Ctrl+K Ctrl+])) 會展開游標處的區域及其內部所有區域。
- 全部摺疊 (⌘K ⌘0 (Windows、Linux Ctrl+K Ctrl+0)) 會摺疊編輯器中的所有區域。
- 全部展開 (⌘K ⌘J (Windows、Linux Ctrl+K Ctrl+J)) 會展開編輯器中的所有區域。
- 摺疊等級 X (⌘K ⌘2 (Windows、Linux Ctrl+K Ctrl+2) 適用於等級 2) 會摺疊所有等級 X 的區域,但游標處的區域除外。
- 摺疊所有區塊註解 (⌘K ⌘/ (Windows、Linux Ctrl+K Ctrl+/)) 會摺疊所有以區塊註解標記開始的區域。
摺疊區域預設是根據行縮排來評估的。當一行的縮排小於或等於後面一或多行的縮排時,摺疊區域開始,並在出現縮排相同或更小的行時結束。
摺疊區域也可以根據編輯器設定語言的語法標記來計算。以下語言已提供語法感知的摺疊功能:Markdown、HTML、CSS、LESS、SCSS 和 JSON。
如果您希望為上述一種 (或所有) 語言切換回基於縮排的摺疊,請使用:
"[html]": {
"editor.foldingStrategy": "indentation"
},
區域也可以由每種語言定義的標記來定義。以下語言目前已定義標記:
| 語言 | 開始區域 | 結束區域 |
|---|---|---|
| Bat | ::#region 或 REM #region |
::#endregion 或 REM #endregion |
| C# | #region |
#endregion |
| C/C++ | #pragma region |
#pragma endregion |
| CSS/Less/SCSS | /*#region*/ |
/*#endregion*/ |
| Coffeescript | #region |
#endregion |
| F# | //#region 或 (#_region) |
//#endregion 或 (#_endregion) |
| Java | //#region 或 //<editor-fold> |
//#endregion 或 //</editor-fold> |
| Markdown | <!-- #region --> |
<!-- #endregion --> |
| Perl5 | #region 或 =pod |
#endregion 或 =cut |
| PHP | #region |
#endregion |
| PowerShell | #region |
#endregion |
| Python | #region 或 # region |
#endregion 或 # endregion |
| TypeScript/JavaScript | //#region |
//#endregion |
| Visual Basic | #Region |
#End Region |
若要只摺疊和展開由標記定義的區域,請使用:
- 摺疊標記區域 (⌘K ⌘8 (Windows、Linux Ctrl+K Ctrl+8)) 摺疊所有標記區域。
- 展開標記區域 (⌘K ⌘9 (Windows、Linux Ctrl+K Ctrl+9)) 展開所有標記區域。
摺疊選取範圍
命令 從選取範圍建立手動摺疊範圍 (⌘K ⌘, (Windows、Linux Ctrl+K Ctrl+,)) 會從目前選取的行建立摺疊範圍並將其摺疊。該範圍稱為 手動 摺疊範圍,它疊加在摺疊提供者計算的範圍之上。
手動摺疊範圍可以使用命令 移除手動摺疊範圍 (⌘K ⌘. (Windows、Linux Ctrl+K Ctrl+.)) 移除。
手動摺疊範圍對於沒有程式語言支援摺疊的情況特別有用。
縮排
VS Code 讓您可以控制文字縮排以及是否要使用空格或 Tab 鍵位。預設情況下,VS Code 插入空格並每個 Tab 鍵使用 4 個空格。如果您想使用不同的預設值,您可以修改 editor.insertSpaces 和 editor.tabSize 設定。
"editor.insertSpaces": true,
"editor.tabSize": 4,
自動偵測
VS Code 會分析您開啟的檔案並判斷文件中使用的縮排。自動偵測到的縮排會覆寫您的預設縮排設定。偵測到的設定顯示在狀態列的右側。

您可以點擊狀態列上的縮排顯示以叫出一個下拉式選單,其中包含縮排命令,允許您變更開啟檔案的預設設定或在 Tab 鍵位和空格之間轉換。

VS Code 自動偵測 2、4、6 或 8 個空格的縮排。如果您的檔案使用不同數量的空格,則可能無法正確偵測到縮排。例如,如果您的慣例是使用 3 個空格縮排,您可能需要關閉 editor.detectIndentation 並明確將 Tab 大小設定為 3。
"editor.detectIndentation": false,
"editor.tabSize": 3,
檔案編碼支援
透過在 使用者設定 或 工作區設定 中使用 files.encoding 設定,全域或按工作區設定檔案編碼。

您可以在狀態列中查看檔案編碼。

點擊狀態列中的編碼按鈕,以不同的編碼重新開啟或儲存活動檔案。

然後選擇一個編碼。

覆寫模式
在 1.96 版本之前,VS Code 只支援「插入」模式,即字元在游標位置插入,除非您安裝了 Vim 按鍵對應擴充功能。
自 1.96 版本起,VS Code 支援「覆寫」模式,該模式允許您覆蓋現有字元而不是在游標位置插入字元。預設情況下,覆寫模式是關閉的。
若要在插入和覆寫模式之間切換,請在命令選擇區中執行 切換覆寫/插入模式 命令,或按下 (⌥⌘O (Windows、Linux Insert))。當您處於覆寫模式時,狀態列指示器會顯示 OVR。
您可以透過配置 editor.overtypeCursorStyle 設定來變更覆寫模式的游標樣式。
使用 editor.overtypeOnPaste 設定,在貼上時覆蓋文字。此設定必須在覆寫模式下才能生效。
比較檔案
VS Code 支援多種方式來比較目前檔案或任意兩個檔案的內容。
當您在編輯器中開啟活動檔案時,您有以下比較選項:
- 與工作區檔案比較:在命令選擇區中,選取 檔案:與...比較活動檔案,然後選擇另一個檔案進行比較。
- 與剪貼簿比較:在命令選擇區中,選取 檔案:與剪貼簿比較活動檔案 (⌘K C (Windows、Linux Ctrl+K C)) 以將目前檔案與剪貼簿內容進行比較。
- 與已儲存版本比較:在命令選擇區中,選取 檔案:與已儲存版本比較活動檔案 (⌘K D (Windows、Linux Ctrl+K D)) 以將目前檔案與上次儲存的版本進行比較。
若要比較任意兩個檔案:
- 在檔案總管檢視中右鍵點選檔案並選取 選取以進行比較。然後,右鍵點選第二個檔案並選取 與已選取檔案比較。
- 若要開始在兩個空的編輯器視窗之間進行比較,請從命令選擇區中選取 檔案:比較新的未命名文字檔案。
您可以從命令列使用 --diff 選項啟動 VS Code 以比較兩個檔案。深入了解 VS Code 命令列介面。
後續步驟
您已了解基本使用者介面 - VS Code 還有更多功能。請繼續閱讀以了解:
- 入門影片 - 設定與基本功能 - 觀看 VS Code 基本功能的教學影片。
- 使用者/工作區設定 - 了解如何透過使用者和工作區設定將 VS Code 配置為您的偏好。
- 程式碼導覽 - 預覽和前往定義,以及更多。
- 整合式終端機 - 了解整合式終端機,以便在 VS Code 中快速執行命令列任務。
- IntelliSense - VS Code 帶來智慧程式碼補齊。
- 偵錯 - 這是 VS Code 真正發光發熱的地方。
常見問題
是否可以全域搜尋和取代?
是的,展開「搜尋」檢視文字框以包含「取代」文字欄位。您可以在工作區中的所有檔案中進行搜尋和取代。請注意,如果您沒有在資料夾中開啟 VS Code,搜尋將僅在目前開啟的檔案上執行。

如何開啟自動換行?
您可以透過 editor.wordWrap 設定 來控制自動換行。預設情況下, editor.wordWrap 為 off,但如果您將其設定為 on,文字將在編輯器的視埠寬度處換行。
"editor.wordWrap": "on"
您可以使用 ⌥Z (Windows、Linux Alt+Z) 在 VS Code 工作階段中切換自動換行。
您還可以使用 editor.rulers 設定將垂直行尺規新增到編輯器中,該設定接受一個包含您希望垂直尺規所在的欄位字元位置的陣列。
與其他編輯器一樣,剪下 和 複製 等命令適用於整個換行行。三擊選取整個換行行。按兩次 Home 會將游標移到行的最開頭。按兩次 End 會將游標移到行的最末端。
如何避免在自動換行行中放置額外的游標?
如果您想在目前選取範圍上方或下方新增游標時忽略換行,您可以將 { "logicalLine": true } 傳遞給鍵盤快速鍵上的 args,如下所示:
{
"key": "shift+alt+down",
"command": "editor.action.insertCursorBelow",
"when": "textInputFocus",
"args": { "logicalLine": true },
},
{
"key": "shift+alt+up",
"command": "editor.action.insertCursorAbove",
"when": "textInputFocus",
"args": { "logicalLine": true },
},