🚀 在 VS Code 中

基本編輯

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

鍵盤快速鍵

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

多重選取 (多重游標)

VS Code 支援多重游標,可進行快速同步編輯。您可以使用 Alt+按一下 來新增輔助游標 (呈現較細)。每個游標都會根據其所在的內容獨立運作。新增更多游標的常見方式是使用 ⌥⌘↓ (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+按一下 以及 Windows 和 Linux 上的 Ctrl+按一下,您可以使用 editor.multiCursorModifier 設定來執行此操作。這可讓來自其他編輯器 (例如 Sublime Text 或 Atom) 的使用者繼續使用他們熟悉的鍵盤修飾鍵。

此設定可以設定為

  • ctrlCmd - 對應至 Windows 上的 Ctrl 和 macOS 上的 Cmd
  • alt - 現有的預設 Alt

還有一個功能表項目選取項目 > 切換為 Ctrl+按一下以進行多重游標選取項目 > 切換為 Alt+按一下以進行多重游標,可快速切換此設定。

移至定義開啟連結手勢也會遵循此設定並進行調整,使其不會衝突。例如,當設定為 ctrlCmd 時,可以使用 Ctrl/Cmd+按一下 新增多重游標,而可以使用 Alt+按一下 叫用開啟連結或移至定義。

縮小/展開選取範圍

快速縮小或展開目前的選取範圍。使用 ⌃⇧⌘← (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 會記住檔案的未儲存變更。當應用程式透過檔案 > 結束 (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 等設定不同。在設定中,您必須使用 **/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+Shift+])) 展開游標處的區域以及該區域內的所有區域。
  • 全部摺疊 (⌘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# C# #endregion
C/C++ #pragma region #pragma endregion
CSS/Less/SCSS /*#region*/ /*#endregion*/
Coffeescript C# #endregion
F# //#region(#_region) //#endregion(#_endregion)
Java //#region//<editor-fold> //#endregion//</editor-fold>
Markdown <!-- #region --> <!-- #endregion -->
Perl5 #region=pod #endregion=cut
PHP C# #endregion
PowerShell C# #endregion
Python PowerShell #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 },
},