基本編輯

Visual Studio Code 首先是一個編輯器,它包含了您高效能原始碼編輯所需的功能。本主題將帶您了解編輯器的基本知識,並協助您開始使用程式碼。

鍵盤快速鍵

在撰寫程式碼時能夠將雙手放在鍵盤上,對於提高生產力至關重要。VS Code 具有豐富的預設鍵盤快速鍵,並允許您自訂它們。

多重選取 (多游標)

VS Code 支援多重游標,可進行快速同步編輯。您可以使用 Alt+Click 新增次要游標 (呈現較細)。每個游標都會根據其所在的內容脈絡獨立運作。新增更多游標的常見方式是使用 ⌥⌘↓ (Windows Ctrl+Alt+Down,Linux Shift+Alt+Down)⌥⌘↑ (Windows Ctrl+Alt+Up,Linux Shift+Alt+Up),它們會在下方或上方插入游標。

注意事項

您的顯示卡驅動程式 (例如 NVIDIA) 可能會覆寫這些預設快速鍵。

Multi-cursor

⌘D (Windows、Linux Ctrl+D) 會選取游標所在的單字,或目前選取範圍的下一個出現位置。

Multi-cursor-next-word

提示

您也可以使用 ⇧⌘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) 展開選取範圍的範例

Expand selection

欄 (方塊) 選取

將游標放在一個角落,然後按住 Shift+Alt 並拖曳到對角

Column text selection

注意事項

當使用 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 會記住檔案的未儲存變更。「熱退出」會在透過「檔案」>「結束」(<0xE4><0xB8><0x8D>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) 以在編輯器中開啟「尋找」小工具,「尋找」結果將會在編輯器、概觀尺規和小地圖中反白顯示。

如果目前開啟的檔案中有多個相符的結果,當「尋找」輸入方塊處於焦點時,您可以按下 Enter⇧Enter (Windows、Linux Shift+Enter) 來導覽至下一個或上一個結果。

預設情況下,VS Code 會儲存工作區的「尋找及取代」查詢記錄,並在重新啟動時還原它。您可以使用 editor.find.historyeditor.find.replaceHistory 設定來設定此行為。將值設定為 never 以停用儲存記錄。

從選取範圍植入搜尋字串

當「尋找」小工具開啟時,它會自動將編輯器中選取的文字填入「尋找」輸入方塊中。如果選取範圍是空的,則會改為將游標下的單字插入輸入方塊中。

Seed Search String From Selection

可以透過將 editor.find.seedSearchStringFromSelection 設定為 "never" 來關閉此功能。

在選取範圍中尋找

預設情況下,「尋找」作業會在編輯器中的整個檔案上執行。它也可以在選取的文字上執行。您可以按一下「尋找」小工具上的漢堡圖示來開啟此功能。

Find In Selection

如果您希望它是「尋找」小工具的預設行為,您可以將 editor.find.autoFindInSelection 設定為 always,或者如果您希望僅在選取多行內容時才在選取的文字上執行,則設定為 multiline

進階尋找及取代選項

除了使用純文字尋找及取代之外,「尋找」小工具還有三個進階搜尋選項

  • 區分大小寫
  • 全字比對
  • 正規表示式

「取代」輸入方塊支援保留大小寫,您可以按一下「保留大小寫」(AB) 按鈕來開啟它。

多行支援和「尋找」小工具調整大小

您可以透過將文字貼到「尋找」輸入方塊和「取代」輸入方塊中來搜尋多行文字。按下 Ctrl+Enter 會在輸入方塊中插入新行。

Multiple Line Support

搜尋長文字時,「尋找」小工具的預設大小可能太小。您可以拖曳左側窗格來放大「尋找」小工具,或按兩下左側窗格來最大化或縮小到其預設大小。

Resize Find Widget

跨檔案搜尋

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

A simple text search across files

提示

我們也支援在搜尋方塊中使用正規表示式搜尋。

您可以按一下搜尋方塊右下方的省略符號 (切換搜尋詳細資訊) (或按下 ⇧⌘J (Windows、Linux Ctrl+Shift+J)) 來設定進階搜尋選項。這會顯示其他欄位來設定搜尋。

提示

您可以使用「快速搜尋」快速尋找目前開啟資料夾中所有檔案的文字。開啟「命令面板」(⇧⌘P (Windows、Linux Ctrl+Shift+P)) 並輸入「搜尋:快速搜尋」命令。

進階搜尋選項

Advanced search options

在搜尋方塊下方的兩個輸入方塊中,您可以輸入要包含或排除在搜尋之外的模式。如果您輸入 example,這將會比對工作區中每個名為 example 的資料夾和檔案。如果您輸入 ./example,這將會比對工作區頂層的資料夾 example/。使用 , 分隔多個模式。路徑必須使用正斜線。您也可以使用 glob 模式語法,例如

  • * 比對路徑區段中的零個或多個字元
  • ? 比對路徑區段中的一個字元
  • ** 比對任意數量的路徑區段,包括無
  • {} 將條件分組 (例如 {**/*.html,**/*.txt} 比對所有 HTML 和文字檔)
  • [] 宣告要比對的字元範圍 (example.[0-9] 比對 example.0example.1、…)
  • [!...] 否定要比對的字元範圍 (example.[!0-9] 比對 example.aexample.b,但不比對 example.0)

VS Code 預設會排除某些資料夾,以減少您不感興趣的搜尋結果數量 (例如:node_modules)。開啟設定以在 files.excludesearch.exclude 區段下變更這些規則。

請注意,「搜尋」檢視中的 glob 模式與 files.excludesearch.exclude 等設定中的 glob 模式運作方式不同。在設定中,您必須使用 **/example 來比對工作區中子資料夾 folder1/example 中名為 example 的資料夾。在「搜尋」檢視中,會假設 ** 前置詞。這些設定中的 glob 模式一律相對於工作區資料夾的路徑進行評估。

另請注意「要排除的檔案」方塊中的「使用排除設定和忽略檔案」切換按鈕。此切換決定是否排除 .gitignore 檔案忽略的檔案和/或 files.excludesearch.exclude 設定比對的檔案。

提示

從「檔案總管」中,您可以按一下滑鼠右鍵按一下資料夾,然後選取「在資料夾中尋找」以僅在資料夾內搜尋。

搜尋及取代

您也可以跨檔案「搜尋及取代」。展開「搜尋」小工具以顯示「取代」文字方塊。

search and replace

當您在「取代」文字方塊中輸入文字時,您會看到擱置中變更的差異顯示。您可以從「取代」文字方塊跨所有檔案取代、在一個檔案中全部取代或取代單一變更。

search and replace diff view

提示

您可以使用 (Windows、Linux Down) (Windows、Linux Up) 來導覽您的搜尋詞彙記錄,以快速重複使用先前的搜尋詞彙。

正規表示式取代中的大小寫變更

VS Code 支援在編輯器中或全域執行「搜尋及取代」時,變更正規表示式比對群組的大小寫。這是透過修飾詞 \u\U\l\L 完成的,其中 \u\l 會將單一字元轉換為大寫/小寫,而 \U\L 會將比對群組的其餘部分轉換為大寫/小寫。

範例

Changing case while doing find and replace

修飾詞也可以堆疊 - 例如,\u\u\u$1 會將群組的前三個字元轉換為大寫,而 \l\U$1 會將第一個字元轉換為小寫,並將其餘部分轉換為大寫。擷取群組由取代字串中的 $n 參考,其中 n 是擷取群組的順序。

搜尋編輯器

「搜尋編輯器」可讓您在全尺寸編輯器中檢視工作區搜尋結果,並完整呈現語法反白顯示和周圍內容的選用行數。

以下是以單字 'SearchEditor' 進行搜尋的範例,比對前後各兩行文字作為內容脈絡

Search Editor overview

「開啟搜尋編輯器」命令會開啟現有的「搜尋編輯器」 (如果有的話),否則會建立一個新的。「新增搜尋編輯器」命令一律會建立新的「搜尋編輯器」。

在「搜尋編輯器」中,可以使用「前往定義」動作導覽至結果,例如 F12 在目前的編輯器群組中開啟來源位置,或 ⌘K F12 (Windows、Linux Ctrl+K F12) 在側邊的編輯器中開啟位置。此外,您可以使用 search.searchEditor.singleClickBehavioursearch.searchEditor.doubleClickBehaviour 設定來設定單擊或按兩下搜尋結果的行為。例如,開啟「查看定義」視窗或開啟來源位置。

您也可以使用「搜尋」檢視頂端的「開啟新增搜尋編輯器」按鈕,並且可以使用結果樹狀結構頂端的「在編輯器中開啟」連結,或「搜尋編輯器:在編輯器中開啟結果」命令,將您現有的結果從「搜尋」檢視複製到「搜尋編輯器」。

Search Editor Button

上方的「搜尋編輯器」是透過選取「搜尋」檢視頂端的「開啟新增搜尋編輯器」按鈕 (第三個按鈕) 開啟的。

「搜尋編輯器」命令和引數

  • search.action.openNewEditor - 在新索引標籤中開啟「搜尋編輯器」。
  • search.action.openInEditor - 將目前的「搜尋」結果複製到新的「搜尋編輯器」。
  • search.action.openNewEditorToSide - 在您目前已開啟視窗旁邊的新視窗中開啟「搜尋編輯器」。

您可以將兩個引數傳遞至「搜尋編輯器」命令 (search.action.openNewEditorsearch.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) 手動觸發它。預設情況下,TabEnter 是接受的鍵盤觸發鍵,但您也可以自訂這些鍵盤快速鍵

提示

建議篩選支援 CamelCase,因此您可以輸入方法名稱中大寫的字母來限制建議。例如,「cra」會快速帶出「createApplication」。

提示

IntelliSense 建議可以透過 editor.quickSuggestionseditor.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 + 點擊 摺疊圖示以摺疊或展開區域以及內部的所有區域。

Folding

您也可以使用以下動作

  • 摺疊 (⌥⌘[ (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 ::#regionREM #region ::#endregionREM #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.insertSpaceseditor.tabSize 設定

    "editor.insertSpaces": true,
    "editor.tabSize": 4,

自動偵測

VS Code 會分析您開啟的檔案,並判斷文件中使用的縮排。自動偵測到的縮排會覆寫您的預設縮排設定。偵測到的設定會顯示在狀態列的右側

auto detect indentation

您可以點擊狀態列縮排顯示,以顯示包含縮排命令的下拉式選單,讓您可以變更開啟檔案的預設設定,或在 Tab 字元和空格之間轉換。

indentation commands

注意事項

VS Code 自動偵測會檢查 2、4、6 或 8 個空格的縮排。如果您的檔案使用不同數量的空格,則縮排可能無法正確偵測。例如,如果您的慣例是以 3 個空格縮排,您可能需要關閉 editor.detectIndentation 並明確將 Tab 字元大小設定為 3。

    "editor.detectIndentation": false,
    "editor.tabSize": 3,

檔案編碼支援

透過使用 使用者設定工作區設定 中的 files.encoding 設定,以全域方式或每個工作區設定檔案編碼。

files.encoding setting

您可以在狀態列中檢視檔案編碼。

Encoding in status bar

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

Reopen or save with a different encoding

然後選擇編碼。

Select an 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)) 以將目前檔案與上次儲存的版本進行比較。

若要比較任何兩個檔案

  • 在 Explorer 檢視中以滑鼠右鍵點擊檔案,然後選取 選取以進行比較。然後,以滑鼠右鍵點擊第二個檔案,並選取 與選取的項目比較
  • 若要開始比較兩個空白的編輯器視窗,請從命令面板選取 檔案:比較新的未命名文字檔
提示

您可以從命令列使用 --diff 選項啟動 VS Code 來比較兩個檔案。深入瞭解 VS Code 命令列介面

後續步驟

您已涵蓋基本使用者介面 - VS Code 還有更多功能。請繼續閱讀以瞭解

常見問題

是否可以全域搜尋和取代?

可以,展開搜尋檢視文字框以包含取代文字欄位。您可以跨工作區中的所有檔案搜尋和取代。請注意,如果您未在資料夾上開啟 VS Code,則搜尋只會在目前開啟的檔案上執行。

global search and replace

如何開啟自動換行?

您可以透過 editor.wordWrap 設定來控制自動換行。預設情況下,editor.wordWrapoff,但如果您將其設定為 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 },
},