基本編輯
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 會在您退出時記住檔案的未儲存更改。熱退出會在應用程式透過 **檔案** > **退出** (**Code** > **退出**(macOS 上)) 關閉,或當最後一個視窗關閉時觸發。
您可以將 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) 在編輯器中開啟查詢控制元件並鍵入搜尋字串。搜尋結果將在編輯器、概覽標尺和 minimap 中高亮顯示。
VS Code 會在您鍵入時立即開始搜尋。如果您想在按 Enter 時才開始搜尋,請清除 editor.find.findOnType 設定。
如果當前檔案中存在多個匹配項,在查詢輸入框具有焦點時,按 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)),然後輸入 **Search: Quick Search** 命令。
高階搜尋選項

在搜尋框下方的兩個輸入框中,您可以輸入要在搜尋中包含或排除的模式。如果輸入 example,它將匹配工作區中名為 example 的每個資料夾和檔案。如果輸入 ./example,它將匹配工作區頂層名為 example/ 的資料夾。使用 , 分隔多個模式。路徑必須使用正斜槓。您還可以使用 glob 模式 語法,例如:
*匹配路徑段中的零個或多個字元?匹配路徑段中的一個字元**匹配任意數量的路徑段,包括零個{}用於組合條件(例如{**/*.html,**/*.txt}匹配所有 HTML 和文字檔案)[]用於**宣告**要匹配的字元範圍(example.[0-9]匹配example.0、example.1等)[!...]用於否定要匹配的字元範圍(example.[!0-9]匹配example.a、example.b,但不匹配example.0)
VS Code 預設排除某些資料夾以減少您不感興趣的搜尋結果數量(例如:node_modules)。開啟 設定 以在 files.exclude 和 search.exclude 部分更改這些規則。
請注意,搜尋檢視中的 glob 模式與 files.exclude 和 search.exclude 等設定中的 glob 模式工作方式不同。在設定中,您必須使用 **/example 來匹配工作區中子資料夾 folder1/example 下名為 example 的資料夾。在搜尋檢視中,會假定 ** 字首。這些設定中的 glob 模式始終相對於工作區資料夾的路徑進行評估。
另請注意 **要排除的檔案**框中的“**使用排除設定和忽略檔案**”切換按鈕。此切換決定是否排除被 .gitignore 檔案忽略和/或被 files.exclude 和 search.exclude 設定匹配的檔案。
從資源管理器中,您可以右鍵單擊一個資料夾並選擇“**在資料夾中查詢**”來僅搜尋該資料夾內部。
搜尋和替換
您還可以跨檔案進行搜尋和替換。展開搜尋小元件以顯示替換文字框。

當您在替換文字框中鍵入文字時,您將看到待處理更改的差異顯示。您可以從替換文字框中替換所有檔案,替換一個檔案中的所有內容,或替換單個更改。

您可以透過使用 ↓ (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 是捕獲組的順序。
示例

捕獲組透過替換字串中的 $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)) 會摺疊所有級別為 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 使您可以控制文字縮排以及是否使用空格或製表符。預設情況下,VS Code 會插入空格,並且每個 Tab 鍵使用 4 個空格。如果您想使用其他預設值,可以修改 editor.insertSpaces 和 editor.tabSize 設定。
"editor.insertSpaces": true,
"editor.tabSize": 4,
自動檢測
VS Code 會分析您開啟的檔案並確定文件中使用的縮排。自動檢測到的縮排將覆蓋您的預設縮排設定。檢測到的設定顯示在狀態列的右側。

您可以單擊狀態列上的縮排顯示,會彈出一個包含縮排命令的下拉選單,允許您更改當前檔案的預設設定或在製表符和空格之間進行轉換。

VS Code 的自動檢測會檢查 2、4、6 或 8 個空格的縮排。如果您的檔案使用了不同數量的空格,則可能無法正確檢測到縮排。例如,如果您習慣使用 3 個空格進行縮排,則可能需要關閉 editor.detectIndentation 並顯式設定製表符大小為 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 鍵可將游標移到行尾。
如何避免在自動換行的行中放置額外的游標?
如果您想在當前選區上方或下方新增游標時忽略行換行,可以在鍵盤快捷鍵的 args 中傳遞 { "logicalLine": true },如下所示:
{
"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 },
},