基本編輯

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)可能會覆寫這些預設快速鍵。

Multi-cursor

⌘D (Windows, Linux Ctrl+D) 會選取游標所在的單字,或是目前選取範圍的下一個相符項目。

提示

在使用多重游標尋找時,您可以執行 ⌘K ⌘D (Windows, Linux Ctrl+K Ctrl+D) 來跳過下一個相符項目。這有助於您在編輯重複文字時避免加入不需要的選取項目。

Multi-cursor-next-word

提示

您也可以使用 ⇧⌘L (Windows, Linux Ctrl+Shift+L) 新增更多游標,這會在目前選取文字的每一個相符項目處新增選取範圍。

多重游標修飾鍵

如果您想將套用多重游標的修飾鍵變更為 macOS 上的 Cmd+Click 以及 Windows 與 Linux 上的 Ctrl+Click,您可以透過 editor.multiCursorModifier Open in VS Code Open in VS Code Insiders 設定 來達成。這可讓來自其他編輯器(例如 Sublime Text 或 Atom)的使用者繼續使用他們熟悉的鍵盤修飾鍵。

此設定可以設為

  • ctrlCmd - 對應到 Windows 上的 Ctrl 以及 macOS 上的 Cmd
  • alt - 現有的預設 Alt

還有一個功能表項目 Selection > Switch to Ctrl+Click for Multi-CursorSelection > Switch to Alt+Click for Multi-Cursor,可快速切換此設定。

Go to Definition (移至定義) 與 Open Link (開啟連結) 手勢也會遵循此設定並進行調整,以免發生衝突。例如,當設定為 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 將其繫結至您更熟悉的按鍵。

欄選取模式

使用者設定 Editor: Column Selection 會控制此功能。一旦進入此模式(如狀態列所示),滑鼠手勢和方向鍵預設將會建立欄選取。此全域切換開關也可以透過 Selection > Column Selection Mode 功能表項目來存取。此外,也可以從狀態列停用欄選取模式。

儲存 / 自動儲存

依預設,VS Code 需要明確動作才能將變更儲存到磁碟中 ⌘S (Windows, Linux Ctrl+S)

當編輯器有未儲存的變更時,編輯器分頁中會顯示一個點狀指示器,且總管檢視會顯示一個徽章,指出未儲存的檔案數量。這些變更尚未儲存至磁碟,但 VS Code 會自動備份它們,以便在應用程式意外關閉時進行還原(請參閱 熱退出 (Hot Exit))。

不過,您可以輕鬆開啟 Auto Save(自動儲存),它會在經過設定的延遲時間後,或當焦點離開編輯器時儲存您的變更。開啟此選項後,就不需要明確儲存檔案。開啟 Auto Save 最簡單的方法是使用 File > Auto Save 切換開關,以開啟或關閉延遲後儲存。

若要對 Auto Save 有更多控制,請開啟使用者或工作區 設定 並尋找相關設定

  • files.autoSave Open in VS Code Open in VS Code Insiders :可以有下列值
    • off - 停用自動儲存。
    • afterDelay - 在經過設定的延遲時間後儲存檔案(預設為 1000 毫秒)。
    • onFocusChange - 當焦點移出已變更檔案的編輯器時儲存檔案。
    • onWindowChange - 當焦點移出 VS Code 視窗時儲存檔案。
  • files.autoSaveDelay Open in VS Code Open in VS Code Insiders :當 files.autoSave Open in VS Code Open in VS Code Insiders 設定為 afterDelay 時,以毫秒為單位設定延遲時間。預設值為 1000 毫秒。

如果您想要針對特定語言或檔案類型自訂 Auto Save 功能,可以在 settings.json 檔案中新增語言特定規則來達成。

例如,若要為 LaTeX 檔案停用 Auto Save

    "[latex]": {
        "files.autoSave": "off",
    },

熱退出 (Hot Exit)

依預設,當您結束時,VS Code 會記住檔案中未儲存的變更。當透過 File > Exit(macOS 上為 Code > Quit)關閉應用程式,或關閉最後一個視窗時,就會觸發熱退出。

您可以透過將 files.hotExit Open in VS Code Open in VS Code Insiders 設定為下列值來設定熱退出

  • "off":停用熱退出。
  • "onExit":當應用程式關閉時(也就是在 Windows/Linux 上關閉最後一個視窗時,或觸發 workbench.action.quit 命令(從命令選擇區、快速鍵或功能表)時),將會觸發熱退出。所有未開啟資料夾的視窗將會在下次啟動時還原。
  • "onExitAndWindowClose":當應用程式關閉時(也就是在 Windows/Linux 上關閉最後一個視窗時,或觸發 workbench.action.quit 命令(從命令選擇區、快速鍵或功能表)時),以及針對任何已開啟資料夾的視窗(無論是否為最後一個視窗)都會觸發熱退出。所有未開啟資料夾的視窗將會在下次啟動時還原。若要將資料夾視窗還原至關機前的狀態,請將 window.restoreWindows Open in VS Code Open in VS Code Insiders 設定為 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 Open in VS Code Open in VS Code Insiders 設定。

若要在找到相符項目後自動關閉「尋找」控制項並將焦點歸還給編輯器,請啟用 editor.find.closeOnResult Open in VS Code Open in VS Code Insiders 設定。

如果目前檔案中有多個相符項目,當「尋找」輸入方塊具有焦點時,請按下 Enter 前往下一個結果,或按下 ⇧Enter (Windows, Linux Shift+Enter) 前往上一個結果。

依預設,VS Code 會儲存工作區的尋找與取代查詢歷史記錄,並在重新啟動後還原。您可以使用 editor.find.history Open in VS Code Open in VS Code Insiders editor.find.replaceHistory Open in VS Code Open in VS Code Insiders 設定來設定此行為。將值設為 never 即可停用儲存歷史記錄。

從選取範圍植入搜尋字串

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

Seed Search String From Selection

editor.find.seedSearchStringFromSelection Open in VS Code Open in VS Code Insiders 設定為 "never" 即可關閉此功能。

在選取範圍中尋找

依預設,尋找作業會在編輯器中的整個檔案上執行。若要將搜尋限制在文字選取範圍內,請選取「尋找」控制項上的 Find in Selection 圖示,或按下 ⌥⌘L (Windows, Linux Alt+L)

Find In Selection

如果您希望這成為「尋找」控制項的預設行為,您可以將 editor.find.autoFindInSelection Open in VS Code Open in VS Code Insiders 設定為 always;或者如果您希望僅在選取多行內容時才對選取文字執行,則可設定為 multiline

進階尋找與取代選項

針對更進階的情境,「尋找與取代」控制項具有下列選項

  • 「尋找」控制項

    • 區分大小寫
    • 全字匹配
    • 常規表示法
  • 「取代」控制項

    • 保留大小寫

Advanced Find and Replace Options

多行支援與「尋找」控制項調整大小

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

Multiple Line Support

搜尋長文字時,「尋找」控制項的預設大小可能會太小。您可以拖曳左側分隔條來放大「尋找」控制項,或是按兩下左側分隔條將其最大化或縮回預設大小。

Resize Find control

跨檔案搜尋

VS Code 允許您快速搜尋目前開啟資料夾中的所有檔案。按下 ⇧⌘F (Windows, Linux Ctrl+Shift+F) 並輸入您的搜尋字詞。搜尋結果會分組到包含搜尋字詞的檔案中,並指出每個檔案中的相符次數與其位置。展開檔案即可預覽該檔案中的所有相符項目。然後按一下其中一個相符項目,即可在編輯器中檢視它。

A simple text search across files

提示

VS Code 也支援在搜尋方塊中使用常規表示法搜尋。

您可以選取搜尋方塊右下方側的省略符號 (Toggle Search Details) 來設定進階搜尋選項(或按下 ⇧⌘J (Windows, Linux Ctrl+Shift+J))。這會顯示用來設定搜尋的其他欄位。

提示

您可以使用快速搜尋在目前開啟資料夾的所有檔案中快速尋找文字。開啟命令選擇區 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 並輸入 Search: Quick Search 命令。

進階搜尋選項

Advanced search options

在搜尋方塊下方的兩個輸入方塊中,您可以輸入要包含在搜尋中或從搜尋中排除的模式。如果您輸入 example,將會符合工作區中所有命名為 example 的資料夾與檔案。如果您輸入 ./example,將會符合工作區最上層的 example/ 資料夾。使用 , 分隔多個模式。路徑必須使用正斜線。您也可以使用 通用模式 (glob pattern) 語法,例如

  • *:符合路徑片段中零個或多個字元
  • ?:符合路徑片段中一個字元
  • **:符合任意數量的路徑片段,包括沒有
  • {} 用來將條件分組(例如 {**/*.html,**/*.txt} 會符合所有 HTML 與文字檔案)
  • [] 用來宣告要符合的字元範圍(example.[0-9] 會符合 example.0example.1 等)
  • [!...] 用來否定要符合的字元範圍(example.[!0-9] 會符合 example.aexample.b,但不會符合 example.0

關於區分大小寫的注意事項:通用模式遵循作業系統的檔案系統規則。在 Windows 和 macOS 上,模式不區分大小寫(例如 *.CS 會符合 file.cs)。在 Linux 上,模式會區分大小寫。這與控制搜尋文字本身是否區分大小寫的 Match Case (區分大小寫) 切換開關是分開的。深入了解 通用模式區分大小寫

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

請注意,搜尋檢視中的通用模式運作方式與 files.exclude Open in VS Code Open in VS Code Insiders search.exclude Open in VS Code Open in VS Code Insiders 等設定中的運作方式不同。在設定中,您必須使用 **/example 來符合工作區中子資料夾 folder1/example 內名為 example 的資料夾。在搜尋檢視中,會自動假設有 ** 前置詞。這些設定中的通用模式一律會相對於工作區資料夾的路徑進行評估。

另請注意 files to exclude 方塊中的 Use Exclude Settings and Ignore Files 切換按鈕。此切換開關決定是否要排除被您的 .gitignore 檔案忽略且/或符合您的 files.exclude Open in VS Code Open in VS Code Insiders search.exclude Open in VS Code Open in VS Code Insiders 設定的檔案。

files to include 方塊中,您可以使用 Search only in changed files 切換按鈕,將搜尋結果限制為具有未提交原始碼控制變更的檔案。當沒有存放庫或沒有要搜尋的變更時,此切換開關會停用。

注意

.gitignore 檔案中的模式在 Windows 和 macOS 上是不區分大小寫來進行比對,在 Linux 上則是區分大小寫。深入了解 通用模式區分大小寫

提示

從總管中,您可以在資料夾上按一下滑鼠右鍵並選取 Find in Folder,以僅在資料夾內部搜尋。

搜尋與取代

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

search and replace

當您在「取代」文字方塊中輸入文字時,您將會看到待處理變更的 diff 顯示。您可以從「取代」文字方塊跨所有檔案進行取代、在單一檔案中全部取代,或取代單一變更。

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

Open Search Editor 命令會開啟現有的搜尋編輯器(如果有的話),否則會建立新的搜尋編輯器。New Search Editor 命令則會永遠建立新的搜尋編輯器。

在搜尋編輯器中,可以使用 Go to Definition 動作來巡覽至結果,例如按下 F12 在目前的編輯器群組中開啟原始程式位置,或按下 ⌘K F12 (Windows, Linux Ctrl+K F12) 在側邊的編輯器中開啟該位置。此外,您可以使用 search.searchEditor.singleClickBehaviour Open in VS Code Open in VS Code Insiders search.searchEditor.doubleClickBehaviour Open in VS Code Open in VS Code Insiders 設定來設定按一下或按兩下搜尋結果的行為。例如,開啟預覽定義視窗或開啟原始程式位置。

您也可以使用搜尋檢視頂端的 Open New Search Editor 按鈕,並透過結果樹狀結構頂端的 Open in editor 連結或 Search Editor: Open Results in Editor 命令,將現有結果從搜尋檢視複製到搜尋編輯器中。

Search Editor Button

上方的搜尋編輯器是透過選取搜尋檢視頂端的 Open New Search Editor 按鈕(第三個按鈕)來開啟的。

搜尋編輯器命令與引數

  • 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 Open in VS Code Open in VS Code Insiders 設定的預設值為 1,表示會在搜尋編輯器中的每個結果行前後顯示一行本文。

重複使用上次的搜尋編輯器設定

search.searchEditor.reusePriorSearchConfiguration Open in VS Code Open in VS Code Insiders 設定(預設為 false)讓您在建立新的搜尋編輯器時,可以重複使用上次作用中搜尋編輯器的設定。

IntelliSense

我們一律會提供單字自動完成,但對於功能豐富的 語言(例如 JavaScript、JSON、HTML、CSS、SCSS、Less、C# 和 TypeScript),我們提供真正的 IntelliSense 體驗。如果語言服務知道可能的完成項目,IntelliSense 建議就會在您輸入時彈出。您隨時可以使用 ⌃Space (Windows, Linux Ctrl+Space) 手動觸發它。依預設,TabEnter 是接受建議的按鍵觸發程序,但您也可以 自訂這些快速鍵

提示

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

提示

IntelliSense 建議可以透過 editor.quickSuggestions Open in VS Code Open in VS Code Insiders editor.suggestOnTriggerCharacters Open in VS Code Open in VS Code Insiders 設定 來進行設定。

JavaScript 與 TypeScript 開發人員可以利用 npmjs 型別宣告 (typings) 檔案存放庫,來取得常用 JavaScript 程式庫(Node.js、React、Angular)的 IntelliSense。您可以在 JavaScript 語言 主題和 Node.js 教學課程中找到關於使用型別宣告檔案的詳細說明。

深入了解請參閱 IntelliSense 文件

格式化

VS Code 對原始碼格式化提供絕佳的支援。編輯器具有兩個明確的格式化動作

  • Format Document (⇧⌥F (Windows Shift+Alt+F, Linux Ctrl+Shift+I)) - 格式化整個作用中檔案。
  • Format Selection (⌘K ⌘F (Windows, Linux Ctrl+K Ctrl+F)) - 格式化選取的文字。

您可以從命令選擇區 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 或編輯器內容功能表叫用這些功能。

VS Code 針對 JavaScript、TypeScript、JSON、HTML 和 CSS 提供預設的格式化工具。每種語言都有特定的格式化選項(例如 html.format.indentInnerHtml Open in VS Code Open in VS Code Insiders ),您可以在使用者或工作區 設定 中根據您的偏好進行調整。如果您安裝了其他提供相同語言格式化功能的擴充功能,也可以停用預設的語言格式化工具。

"html.format.enable": false

除了手動叫用程式碼格式化之外,您也可以根據使用者手勢(例如輸入、儲存或貼上)來觸發格式化。這些功能預設為關閉,但您可以透過下列 設定 來啟用這些行為

  • editor.formatOnType Open in VS Code Open in VS Code Insiders - 輸入後格式化該行。
  • editor.formatOnSave Open in VS Code Open in VS Code Insiders - 儲存時格式化檔案。
  • editor.formatOnPaste Open in VS Code Open in VS Code Insiders - 格式化貼上的內容。
注意

並非所有格式化工具都支援貼上時格式化,因為若要這樣做,它們必須支援格式化選取範圍或文字範圍。

除了預設的格式化工具之外,您也可以在 Marketplace 上找到支援其他語言或格式化工具的擴充功能。有一個 Formatters 類別,讓您能夠輕鬆搜尋並尋找 格式化擴充功能。在 Extensions 檢視搜尋方塊中,輸入 'formatters' 或 'category:formatters' 即可在 VS Code 中檢視篩選後的擴充功能清單。

程式碼摺疊

您可以使用行號與行首之間裝訂邊上的折疊圖示來折疊原始碼區域。將滑鼠移至裝訂邊上方並按一下即可折疊和展開區域。在折疊圖示上使用 Shift + Click 可折疊或展開該區域以及其中的所有區域。

Folding

您也可以使用下列動作

  • Fold (⌥⌘[ (Windows, Linux Ctrl+Shift+[)) 會折疊游標處最內層未摺疊的區域。
  • Unfold (⌥⌘] (Windows, Linux Ctrl+Shift+])) 會展開游標處已折疊的區域。
  • Toggle Fold (⌘K ⌘L (Windows, Linux Ctrl+K Ctrl+L)) 會折疊或展開游標處的區域。
  • Fold Recursively (⌘K ⌘[ (Windows, Linux Ctrl+K Ctrl+[)) 會折疊游標處最內層未摺疊的區域以及該區域內的所有區域。
  • Unfold Recursively (⌘K ⌘] (Windows, Linux Ctrl+K Ctrl+])) 會展開游標處的區域以及該區域內的所有區域。
  • Fold All (⌘K ⌘0 (Windows, Linux Ctrl+K Ctrl+0)) 會折疊編輯器中的所有區域。
  • Unfold All (⌘K ⌘J (Windows, Linux Ctrl+K Ctrl+J)) 會展開編輯器中的所有區域。
  • Fold Level X (⌘K ⌘2 (Windows, Linux Ctrl+K Ctrl+2) 用於層級 2) 會折疊層級 X 的所有區域,但目前游標位置所在的區域除外。
  • Fold All Block Comments (⌘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

若要僅折疊和展開由標記定義的區域,請使用

  • Fold Marker Regions (⌘K ⌘8 (Windows, Linux Ctrl+K Ctrl+8)) 會折疊所有標記區域。
  • Unfold Marker Regions (⌘K ⌘9 (Windows, Linux Ctrl+K Ctrl+9)) 會展開所有標記區域。

折疊選取範圍

Create Manual Folding Ranges from Selection 命令 (⌘K ⌘, (Windows, Linux Ctrl+K Ctrl+,)) 會從目前選取的行建立折疊範圍並加以收合。該範圍稱為手動折疊範圍,它會覆蓋在由折疊提供者計算出的範圍之上。

可以使用 Remove Manual Folding Ranges 命令 (⌘K ⌘. (Windows, Linux Ctrl+K Ctrl+.)) 來移除手動折疊範圍。

手動折疊範圍對於沒有程式語言支援折疊的情況特別有用。

縮排

VS Code 讓您可以控制文字縮排,以及您是想要使用空格還是定位點。依預設,VS Code 會插入空格,並每個 Tab 鍵使用 4 個空格。如果您想使用其他預設值,可以修改 editor.insertSpaces Open in VS Code Open in VS Code Insiders editor.tabSize Open in VS Code Open in VS Code Insiders 設定

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

自動偵測

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

auto detect indentation

您可以按一下狀態列的縮排顯示,以開啟包含縮排命令的下拉式選單,讓您變更開啟檔案的預設設定,或在定位點與空格之間進行轉換。

indentation commands

注意

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

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

檔案編碼支援

使用 User SettingsWorkspace Settings 中的 files.encoding Open in VS Code Open in VS Code Insiders 設定,即可全域或依工作區設定檔案編碼。

files.encoding setting

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

Encoding in status bar

按一下狀態列中的編碼按鈕,即可使用不同的編碼重新開啟或儲存作用中檔案。

Reopen or save with a different encoding

然後選擇編碼。

Select an encoding

覆寫模式

在 1.96 版發布之前,除非您安裝了 Vim 按鍵對應擴充功能,否則 VS Code 僅支援 insert 模式(在此模式下,字元會插入在游標位置)。

從 1.96 版開始,VS Code 支援 overtype 模式,讓您能夠覆寫現有的字元,而不是在游標位置插入字元。依預設,覆寫模式為關閉。

若要在插入和覆寫模式之間切換,請在命令選擇區中執行 Toggle Overtype/Insert Mode 命令,或按下 (⌥⌘O (Windows, Linux Insert))。當您處於覆寫模式時,狀態列指示器會顯示 OVR

您可以透過設定 editor.overtypeCursorStyle Open in VS Code Open in VS Code Insiders 設定來變更覆寫模式的游標樣式。

使用 editor.overtypeOnPaste Open in VS Code Open in VS Code Insiders 設定可以在貼上時覆寫文字。您必須處於覆寫模式,此設定才會生效。

比較檔案

VS Code 支援多種方法來比較目前檔案或任意兩個檔案的內容。

當您在編輯器中開啟作用中檔案時,您有下列比較選項

  • Compare with a workspace file:在命令選擇區中,選取 File: Compare Active File With...,然後選擇要比較的另一個檔案。
  • Compare with clipboard:在命令選擇區中,選取 File: Compare Active File with Clipboard (⌘K C (Windows, Linux Ctrl+K C)),將目前檔案與剪貼簿內容進行比較。
  • Compare with saved:在命令選擇區中,選取 File: Compare Active File with Saved (⌘K D (Windows, Linux Ctrl+K D)),將目前檔案與上次儲存的版本進行比較。

若要比較任意兩個檔案

  • 在總管檢視中的檔案上按一下滑鼠右鍵,然後選取 Select for Compare。接著,在第二個檔案上按一下滑鼠右鍵,並選取 Compare with Selected
  • 若要在兩個空白編輯器視窗之間開始比較,請從命令選擇區選取 File: Compare New Untitled Text Files
提示

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

後續步驟

您已經了解基本的使用者介面 — VS Code 還有更多功能。請繼續閱讀以了解

常見問題

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

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

global search and replace

如何開啟自動換行?

您可以透過 editor.wordWrap Open in VS Code Open in VS Code Insiders 設定 來控制自動換行。依預設, editor.wordWrap Open in VS Code Open in VS Code Insiders off,但如果您將其設為 on,文字將會在編輯器的視口寬度處自動換行。

    "editor.wordWrap": "on"

您可以使用 ⌥Z (Windows, Linux Alt+Z) 切換 VS Code 工作階段的自動換行。

您也可以使用 editor.rulers Open in VS Code Open in VS Code Insiders 設定將垂直欄尺標新增至編輯器,該設定接受您希望放置垂直尺標的欄字元位置陣列。

如同其他編輯器一樣,像 剪下複製 這類的指令會套用到整個自動換行行。按三下滑鼠可選取整個自動換行行。連按兩下 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 },
},
English 한국어 中文(简体) 中文(繁體)
© . This website operates independently and is not affiliated with or endorsed by Microsoft. All brand names, logos, and trademarks are the property of their respective owners.