Visual Studio Code 的鍵盤快速鍵
Visual Studio Code 可讓您直接透過鍵盤執行大部分工作。本頁列出預設快速鍵 (鍵盤快速鍵),並說明如何更新這些快速鍵。
注意:如果您在 Mac 上瀏覽此頁面,將會看到 Mac 的鍵盤快速鍵。如果您使用 Windows 或 Linux 瀏覽,則會看到該平台的按鍵。如果您需要其他平台的鍵盤快速鍵,請將滑鼠游標停留在您感興趣的按鍵上。
鍵盤快速鍵編輯器
VS Code 透過鍵盤快速鍵編輯器提供豐富的鍵盤快速鍵編輯體驗。此編輯器列出所有具備和不具備鍵盤快速鍵的可用命令,並可讓您使用可用的動作來變更/移除/重設其鍵盤快速鍵。您可以使用搜尋方塊來尋找命令或鍵盤快速鍵。您可以前往 [檔案] > [喜好設定] > [鍵盤快速鍵] 下的功能表,或使用 [喜好設定: 開啟鍵盤快速鍵] 命令 (⌘K ⌘S (Windows、Linux Ctrl+K Ctrl+S)) 來開啟此編輯器。
最重要的是,您可以根據鍵盤配置查看鍵盤快速鍵。例如,當配置變更為德文時,在美式鍵盤配置中,鍵盤快速鍵 Cmd+\ 將會顯示為 Ctrl+Shift+Alt+Cmd+7。輸入鍵盤快速鍵的對話方塊將會根據您的鍵盤配置指派正確且所需的鍵盤快速鍵。
如需進行更進階的鍵盤快速鍵自訂,請參閱進階自訂。
自訂 UI 動作的快速鍵
您可以快速自訂使用者介面動作的鍵盤快速鍵。在工作台中的任何動作項目上按一下滑鼠右鍵,然後選取 [設定按鍵繫結]。如果動作具有 when
子句,則會自動包含該子句,讓您更輕鬆地依照需求設定鍵盤快速鍵。
鍵盤配置擴充功能
鍵盤快速鍵對於生產力至關重要,而改變鍵盤習慣可能很困難。為了協助您,[檔案] > [喜好設定] > [從...移轉鍵盤快速鍵] 會顯示熱門鍵盤配置擴充功能的清單。這些擴充功能會修改 VS Code 快速鍵,以符合其他編輯器的快速鍵,讓您不必學習新的鍵盤快速鍵。Marketplace 中也有 鍵盤配置類別的擴充功能。
提示:按一下上方的擴充功能磚,以閱讀描述和評論,進而判斷哪個擴充功能最適合您。如需詳細資訊,請參閱 Marketplace。
鍵盤快速鍵參考
我們也有這些鍵盤快速鍵的可列印版本。[說明] > [鍵盤快速鍵參考] 會顯示精簡的 PDF 版本,適合列印以供輕鬆參考。
以下是三個平台特定版本 (美式英文鍵盤) 的連結
偵測鍵盤快速鍵衝突
如果您安裝了許多擴充功能,或已自訂鍵盤快速鍵,則有時可能會發生鍵盤快速鍵衝突,其中相同的鍵盤快速鍵會對應至多個命令。這可能會導致混淆的行為,尤其是當您在編輯器中移動時,不同的鍵盤快速鍵會進出範圍。
鍵盤快速鍵編輯器具有內容功能表命令 [顯示相同按鍵繫結],這會根據鍵盤快速鍵篩選鍵盤快速鍵,以顯示衝突。
選取您認為超載的鍵盤快速鍵命令,您就可以查看是否已定義多個命令、鍵盤快速鍵的來源以及它們的啟用時間。
疑難排解鍵盤快速鍵
若要疑難排解鍵盤快速鍵問題,您可以執行命令 [開發人員: 切換鍵盤快速鍵疑難排解]。這會啟用已分派鍵盤快速鍵的記錄,並開啟包含對應記錄檔的輸出面板。
然後,您可以按下您想要的鍵盤快速鍵,並檢查 VS Code 偵測到哪個鍵盤快速鍵以及叫用哪個命令。
例如,在 macOS 上的程式碼編輯器中按下 cmd+/
時,記錄輸出會是
[KeybindingService]: / Received keydown event - modifiers: [meta], code: MetaLeft, keyCode: 91, key: Meta
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: MetaLeft, keyCode: 57 ('Meta')
[KeybindingService]: \ Keyboard event cannot be dispatched.
[KeybindingService]: / Received keydown event - modifiers: [meta], code: Slash, keyCode: 191, key: /
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: Slash, keyCode: 85 ('/')
[KeybindingService]: | Resolving meta+[Slash]
[KeybindingService]: \ From 2 keybinding entries, matched editor.action.commentLine, when: editorTextFocus && !editorReadonly, source: built-in.
第一個按鍵按下事件是針對 MetaLeft
鍵 (cmd
),且無法分派。第二個按鍵按下事件是針對 Slash
鍵 (/
),且會分派為 meta+[Slash]
。有兩個鍵盤快速鍵項目從 meta+[Slash]
對應,而符合的項目是針對命令 editor.action.commentLine
,其具有 when
條件 editorTextFocus && !editorReadonly
,而且是內建鍵盤快速鍵項目。
檢視已修改的鍵盤快速鍵
您可以在 VS Code 的鍵盤快速鍵編輯器中,使用 [更多動作] (...) 功能表中的 [顯示使用者按鍵繫結] 命令,檢視任何使用者修改過的鍵盤快速鍵。這會將 @source:user
篩選器套用至鍵盤快速鍵編輯器 ([來源] 為 '使用者')。
進階自訂
VS Code 中的所有鍵盤快速鍵都可以透過 keybindings.json
檔案自訂,您可以在其中覆寫預設鍵盤快速鍵。
若要開啟 keybindings.json
檔案
-
開啟鍵盤快速鍵編輯器,然後選取編輯器標題列右側的 [開啟鍵盤快速鍵 (JSON)] 按鈕。
在命令面板中 (⇧⌘P (Windows、Linux Ctrl+Shift+P))。
鍵盤規則
每個規則都包含
- 描述按下按鍵的
key
。 - 包含要執行命令的識別碼的
command
。 - 選用的
when
子句,其中包含布林運算式,將根據目前的內容進行評估。
和弦 (兩個個別的按鍵動作) 是透過以空格分隔兩個按鍵來描述。例如,Ctrl+K Ctrl+C。
按下按鍵時
- 規則會從下而上評估。
- 第一個符合的規則 (包括
key
和when
) 會被接受。 - 不再處理任何規則。
- 如果找到規則且已設定
command
,則會執行command
。
額外的 keybindings.json
規則會在執行階段附加至預設規則的底部,因此允許它們覆寫預設規則。VS Code 會監看 keybindings.json
檔案,因此在 VS Code 執行時編輯它將會在執行階段更新規則。
鍵盤快速鍵分派是透過分析以 JSON 表示的規則清單來完成。以下是一些範例
// Keyboard shortcuts that are active when the focus is in the editor
{ "key": "home", "command": "cursorHome", "when": "editorTextFocus" },
{ "key": "shift+home", "command": "cursorHomeSelect", "when": "editorTextFocus" },
// Keyboard shortcuts that are complementary
{ "key": "f5", "command": "workbench.action.debug.continue", "when": "inDebugMode" },
{ "key": "f5", "command": "workbench.action.debug.start", "when": "!inDebugMode" },
// Global keyboard shortcuts
{ "key": "ctrl+f", "command": "actions.find" },
{ "key": "alt+left", "command": "workbench.action.navigateBack" },
{ "key": "alt+right", "command": "workbench.action.navigateForward" },
// Global keyboard shortcuts using chords (two separate keypress actions)
{ "key": "ctrl+k enter", "command": "workbench.action.keepEditor" },
{ "key": "ctrl+k ctrl+w", "command": "workbench.action.closeAllEditors" },
接受的按鍵
key
是由修飾鍵和按鍵本身組成。
接受下列修飾鍵
平台 | 修飾鍵 |
---|---|
macOS | Ctrl+、Shift+、Alt+、Cmd+ |
Windows | Ctrl+、Shift+、Alt+、Win+ |
Linux | Ctrl+、Shift+、Alt+、Meta+ |
接受下列按鍵
- f1-f19、a-z、0-9
- `, -, =, [, ], \, ;, ', ,, ., /
- left、up、right、down、pageup、pagedown、end、home
- tab、enter、escape、space、backspace、delete
- pausebreak、capslock、insert
- numpad0-numpad9、numpad_multiply、numpad_add、numpad_separator
- numpad_subtract、numpad_decimal、numpad_divide
命令引數
您可以使用引數叫用命令。如果您經常對特定檔案或資料夾執行相同的作業,這會很有用。您可以新增自訂鍵盤快速鍵來完全符合您的需求。
以下是覆寫 Enter 鍵以列印某些文字的範例
{
"key": "enter",
"command": "type",
"args": { "text": "Hello World" },
"when": "editorTextFocus"
}
type
命令會收到 {"text": "Hello World"}
作為其第一個引數,並將 "Hello World" 新增至檔案,而不是產生預設命令。
如需有關接受引數的命令的詳細資訊,請參閱內建命令。
執行多個命令
可以使用 runCommands
命令建立依序執行數個其他命令的鍵盤快速鍵。
- 執行數個不含引數的命令:向下複製目前行、將目前行標示為註解、將游標移至複製的行
{
"key": "ctrl+alt+c",
"command": "runCommands",
"args": {
"commands": [
"editor.action.copyLinesDownAction",
"cursorUp",
"editor.action.addCommentLine",
"cursorDown"
]
}
},
- 也可以將引數傳遞至命令:建立新的未命名 TypeScript 檔案並插入自訂程式碼片段
{
"key": "ctrl+n",
"command": "runCommands",
"args": {
"commands": [
{
"command": "workbench.action.files.newUntitledFile",
"args": {
"languageId": "typescript"
}
},
{
"command": "editor.action.insertSnippet",
"args": {
"langId": "typescript",
"snippet": "class ${1:ClassName} {\n\tconstructor() {\n\t\t$0\n\t}\n}"
}
}
]
}
},
請注意,由 runCommands
執行的命令會收到 "args"
的值作為第一個引數。因此,在上述範例中,workbench.action.files.newUntitledFile
會收到 {"languageId": "typescript" }
作為其第一個也是唯一的引數。
若要傳遞數個引數,則需要將 "args"
作為陣列
{
"key": "ctrl+shift+e",
"command": "runCommands",
"args": {
"commands": [
{
// command invoked with 2 arguments: vscode.executeCommand("myCommand", "arg1", "arg2")
"command": "myCommand",
"args": ["arg1", "arg2"]
}
]
}
}
若要將陣列作為第一個引數傳遞,則需要將陣列包裝在另一個陣列中:"args": [ [1, 2, 3] ]
。
移除特定的鍵盤快速鍵規則
您可以撰寫鍵盤快速鍵規則,以移除特定的預設鍵盤快速鍵。使用 keybindings.json
,一律可以重新定義 VS Code 的所有鍵盤快速鍵,但進行小幅調整可能很困難,尤其是在超載按鍵 (例如 Tab 或 Escape) 周圍。若要移除特定的鍵盤快速鍵,請將 -
新增至命令,而規則將會是移除規則。
以下是一個範例
// In Default Keyboard Shortcuts
...
{ "key": "tab", "command": "tab", "when": ... },
{ "key": "tab", "command": "jumpToNextSnippetPlaceholder", "when": ... },
{ "key": "tab", "command": "acceptSelectedSuggestion", "when": ... },
...
// To remove the second rule, for example, add in keybindings.json:
{ "key": "tab", "command": "-jumpToNextSnippetPlaceholder" }
若要使用空白動作覆寫特定的鍵盤快速鍵規則,您可以指定空白命令
// To override and disable any `tab` keyboard shortcut, for example, add in keybindings.json:
{ "key": "tab", "command": "" }
鍵盤配置
注意:本節僅與鍵盤快速鍵相關,與在編輯器中輸入無關。
上方的按鍵是虛擬按鍵的字串表示法,不一定與按下時產生的字元相關。更精確地說
- 參考:虛擬按鍵代碼 (Windows)
- tab 代表
VK_TAB
(0x09
) - ; 代表
VK_OEM_1
(0xBA
) - = 代表
VK_OEM_PLUS
(0xBB
) - , 代表
VK_OEM_COMMA
(0xBC
) - - 代表
VK_OEM_MINUS
(0xBD
) - . 代表
VK_OEM_PERIOD
(0xBE
) - / 代表
VK_OEM_2
(0xBF
) - ` 代表
VK_OEM_3
(0xC0
) - [ 代表
VK_OEM_4
(0xDB
) - \ 代表
VK_OEM_5
(0xDC
) - ] 代表
VK_OEM_6
(0xDD
) - ' 代表
VK_OEM_7
(0xDE
) - 等等
不同的鍵盤配置通常會重新定位上述虛擬按鍵,或變更按下時產生的字元。當使用與標準美式不同的鍵盤配置時,Visual Studio Code 會執行下列動作
所有鍵盤快速鍵都會使用目前系統的鍵盤配置在 UI 中呈現。例如,當使用法文 (法國) 鍵盤配置時,[分割編輯器] 現在會呈現為 Ctrl+*
當編輯 keybindings.json
時,VS Code 會醒目提示誤導的鍵盤快速鍵,這些鍵盤快速鍵在檔案中以標準美式鍵盤配置下產生的字元表示,但在目前系統的鍵盤配置下需要按下具有不同標籤的按鍵。例如,以下是使用法文 (法國) 鍵盤配置時,預設鍵盤快速鍵規則的外觀
還有一個小工具可協助在編輯 keybindings.json
時輸入鍵盤快速鍵規則。若要啟動 [定義按鍵繫結] 小工具,請按下 ⌘K ⌘K (Windows、Linux Ctrl+K Ctrl+K)。此小工具會監聽按鍵按下動作,並在文字方塊中呈現序列化的 JSON 表示法,並在下方呈現 VS Code 在您目前的鍵盤配置下偵測到的按鍵。輸入您想要的按鍵組合後,您可以按下 Enter,系統會插入規則程式碼片段。
注意:在 Linux 上,Visual Studio Code 會在啟動時偵測您目前的鍵盤配置,然後快取此資訊。為了獲得良好的體驗,如果您變更鍵盤配置,建議您重新啟動 VS Code。
與鍵盤配置無關的繫結
使用掃描碼,可以定義不會隨著鍵盤配置變更而變更的鍵盤快速鍵。例如
{ "key": "cmd+[Slash]", "command": "editor.action.commentLine", "when": "editorTextFocus" }
接受的掃描碼
- [F1]-[F19]、[KeyA]-[KeyZ]、[Digit0]-[Digit9]
- [Backquote]、[Minus]、[Equal]、[BracketLeft]、[BracketRight]、[Backslash]、[Semicolon]、[Quote]、[Comma]、[Period]、[Slash]
- [ArrowLeft]、[ArrowUp]、[ArrowRight]、[ArrowDown]、[PageUp]、[PageDown]、[End]、[Home]
- [Tab]、[Enter]、[Escape]、[Space]、[Backspace]、[Delete]
- [Pause]、[CapsLock]、[Insert]
- [Numpad0]-[Numpad9]、[NumpadMultiply]、[NumpadAdd]、[NumpadComma]
- [NumpadSubtract]、[NumpadDecimal]、[NumpadDivide]
when 子句內容
VS Code 可讓您透過選用的 when
子句精細控制何時啟用鍵盤快速鍵。如果您的鍵盤快速鍵沒有 when
子句,則鍵盤快速鍵會隨時全域可用。when
子句會評估為布林值 true 或 false,以啟用鍵盤快速鍵。
VS Code 會根據 VS Code UI 中可見和作用中的元素設定各種內容索引鍵和特定值。例如,內建的 [開始偵錯] 命令具有鍵盤快速鍵 F5,只有在有可用的適當偵錯工具 (內容 debuggersAvailable
為 true) 且編輯器未處於偵錯模式 (內容 inDebugMode
為 false) 時才會啟用。
您也可以直接在預設 keybinding.json
中檢視鍵盤快速鍵的 when 子句 ([喜好設定]: [開啟預設鍵盤快速鍵 (JSON)])
{ "key": "f5", "command": "workbench.action.debug.start",
"when": "debuggersAvailable && !inDebugMode" },
條件運算子
針對 when 子句條件運算式,下列條件運算子對於鍵盤快速鍵很有用
運算子 | 符號 | 範例 |
---|---|---|
相等 | == |
"editorLangId == typescript" |
不相等 | != |
"resourceExtname != .js" |
或 | || |
"isLinux || isWindows" |
和 | && |
"textInputFocus && !editorReadonly" |
符合 | =~ |
"resourceScheme =~ /^untitled$|^file$/" |
您可以在when 子句內容參考中找到 when 子句條件運算子的完整清單。
可用的內容
您可以在when 子句內容參考中找到一些可用的 when 子句內容。
該處的清單並未詳盡列出,您可以在鍵盤快速鍵編輯器 ([喜好設定]: [開啟鍵盤快速鍵]) 中搜尋和篩選,或檢閱預設 keybindings.json
檔案 ([喜好設定]: [開啟預設鍵盤快速鍵 (JSON)]),來尋找其他 when 子句內容。
用於重構的自訂鍵盤快速鍵
editor.action.codeAction
命令可讓您針對特定的重構 ([程式碼動作]) 設定鍵盤快速鍵。例如,下列鍵盤快速鍵會觸發 [擷取函式] 重構程式碼動作
{
"key": "ctrl+shift+r ctrl+e",
"command": "editor.action.codeAction",
"args": {
"kind": "refactor.extract.function"
}
}
這會在重構主題中深入探討,您可以在其中瞭解不同種類的程式碼動作,以及在有多個可能的重構時如何將它們排定優先順序。
預設鍵盤快速鍵
您可以在 VS Code 的鍵盤快速鍵編輯器中,使用 [更多動作] (...) 功能表中的 [顯示預設按鍵繫結] 命令,檢視所有預設鍵盤快速鍵。這會將 @source:default
篩選器套用至鍵盤快速鍵編輯器 ([來源] 為 '預設')。
您可以使用命令 [喜好設定]: [開啟預設鍵盤快速鍵 (JSON)],將預設鍵盤快速鍵檢視為 JSON 檔案。
注意:下列按鍵的呈現方式假設為標準美式鍵盤配置。如果您使用不同的鍵盤配置,請參閱下文。您可以在 VS Code 的命令面板 ([檢視] -> [命令面板]) 或鍵盤快速鍵編輯器 ([檔案] > [喜好設定] > [鍵盤快速鍵]) 中檢視目前作用中的鍵盤快速鍵。
以下包含的某些命令沒有預設鍵盤快速鍵,因此會顯示為 未指派,但您可以指派自己的鍵盤快速鍵。
基本編輯
命令 | 按鍵 | 命令識別碼 |
---|---|---|
剪下行 (空白選取範圍) | ⌘X (Windows、Linux Ctrl+X) | editor.action.clipboardCutAction |
複製行 (空白選取範圍) | ⌘C (Windows、Linux Ctrl+C) | editor.action.clipboardCopyAction |
貼上 | ⌘V (Windows、Linux Ctrl+V) | editor.action.clipboardPasteAction |
刪除行 | ⇧⌘K (Windows、Linux Ctrl+Shift+K) | editor.action.deleteLines |
在下方插入行 | ⌘Enter (Windows、Linux Ctrl+Enter) | editor.action.insertLineAfter |
在上方插入行 | ⇧⌘Enter (Windows、Linux Ctrl+Shift+Enter) | editor.action.insertLineBefore |
向下移動行 | ⌥↓ (Windows、Linux Alt+Down) | editor.action.moveLinesDownAction |
向上移動行 | ⌥↑ (Windows、Linux Alt+Up) | editor.action.moveLinesUpAction |
向下複製行 | ⇧⌥↓ (Windows Shift+Alt+Down、Linux Ctrl+Shift+Alt+Down) | editor.action.copyLinesDownAction |
向上複製行 | ⇧⌥↑ (Windows Shift+Alt+Up、Linux Ctrl+Shift+Alt+Up) | editor.action.copyLinesUpAction |
復原 | ⌘Z (Windows、Linux Ctrl+Z) | undo |
取消復原 | ⇧⌘Z (Windows、Linux Ctrl+Y) | redo |
將選取範圍新增至下一個尋找相符項 | ⌘D (Windows、Linux Ctrl+D) | editor.action.addSelectionToNextFindMatch |
將最後一個選取範圍移至下一個尋找相符項 | ⌘K ⌘D (Windows、Linux Ctrl+K Ctrl+D) | editor.action.moveSelectionToNextFindMatch |
復原最後一個游標操作 | ⌘U (Windows、Linux Ctrl+U) | cursorUndo |
在每個選取行的結尾插入游標 | ⇧⌥I (Windows、Linux Shift+Alt+I) | editor.action.insertCursorAtEndOfEachLineSelected |
選取目前選取範圍的所有執行個體 | ⇧⌘L (Windows、Linux Ctrl+Shift+L) | editor.action.selectHighlights |
選取目前單字的所有執行個體 | ⌘F2 (Windows、Linux Ctrl+F2) | editor.action.changeAll |
選取目前行 | ⌘L (Windows、Linux Ctrl+L) | expandLineSelection |
在下方插入游標 | ⌥⌘↓ (Windows Ctrl+Alt+Down、Linux Shift+Alt+Down) | editor.action.insertCursorBelow |
在上方插入游標 | ⌥⌘↑ (Windows Ctrl+Alt+Up、Linux Shift+Alt+Up) | editor.action.insertCursorAbove |
跳到相符的括弧 | ⇧⌘\ (Windows、Linux Ctrl+Shift+\) | editor.action.jumpToBracket |
縮排行 | ⌘] (Windows、Linux Ctrl+]) | editor.action.indentLines |
凸排行 | ⌘[ (Windows、Linux Ctrl+[) | editor.action.outdentLines |
移至行首 | Home | cursorHome |
移至行尾 | End | cursorEnd |
移至檔案結尾 | ⌘↓ (Windows、Linux Ctrl+End) | cursorBottom |
移至檔案開頭 | ⌘↑ (Windows、Linux Ctrl+Home) | cursorTop |
向下捲動行 | ⌃PageDown (Windows、Linux Ctrl+Down) | scrollLineDown |
向上捲動行 | ⌃PageUp (Windows、Linux Ctrl+Up) | scrollLineUp |
向下捲動頁面 | ⌘PageDown (Windows、Linux Alt+PageDown) | scrollPageDown |
向上捲動頁面 | ⌘PageUp (Windows、Linux Alt+PageUp) | scrollPageUp |
摺疊 (收合) 區域 | ⌥⌘[ (Windows、Linux Ctrl+Shift+[) | editor.fold |
展開 (取消收合) 區域 | ⌥⌘] (Windows、Linux Ctrl+Shift+]) | editor.unfold |
切換摺疊區域 | ⌘K ⌘L (Windows、Linux Ctrl+K Ctrl+L) | editor.toggleFold |
摺疊 (收合) 所有子區域 | ⌘K ⌘[ (Windows、Linux Ctrl+K Ctrl+[) | editor.foldRecursively |
展開 (取消收合) 所有子區域 | ⌘K ⌘] (Windows、Linux Ctrl+K Ctrl+]) | editor.unfoldRecursively |
摺疊 (收合) 所有區域 | ⌘K ⌘0 (Windows、Linux Ctrl+K Ctrl+0) | editor.foldAll |
展開 (取消收合) 所有區域 | ⌘K ⌘J (Windows、Linux Ctrl+K Ctrl+J) | editor.unfoldAll |
新增行註解 | ⌘K ⌘C (Windows、Linux Ctrl+K Ctrl+C) | editor.action.addCommentLine |
移除行註解 | ⌘K ⌘U (Windows、Linux Ctrl+K Ctrl+U) | editor.action.removeCommentLine |
切換行註解 | ⌘/ (Windows、Linux Ctrl+/) | editor.action.commentLine |
切換區塊註解 | ⇧⌥A (Windows Shift+Alt+A、Linux Ctrl+Shift+A) | editor.action.blockComment |
尋找 | ⌘F (Windows、Linux Ctrl+F) | actions.find |
取代 | ⌥⌘F (Windows、Linux Ctrl+H) | editor.action.startFindReplaceAction |
尋找下一個 | Enter | editor.action.nextMatchFindAction |
尋找上一個 | ⇧Enter (Windows、Linux Shift+Enter) | editor.action.previousMatchFindAction |
選取所有尋找相符項的執行個體 | ⌥Enter (Windows、Linux Alt+Enter) | editor.action.selectAllMatches |
切換尋找區分大小寫 | ⌥⌘C (Windows、Linux Alt+C) | toggleFindCaseSensitive |
切換尋找 Regex | ⌥⌘R (Windows、Linux Alt+R) | toggleFindRegex |
切換尋找全字拼寫須相符 | ⌥⌘W (Windows、Linux Alt+W) | toggleFindWholeWord |
切換使用 Tab 鍵設定焦點 | ⌃⇧M (Windows、Linux Ctrl+M) | editor.action.toggleTabFocusMode |
切換轉譯空白字元 | toggleRenderWhitespace |
|
切換自動換行 | ⌥Z (Windows、Linux Alt+Z) | editor.action.toggleWordWrap |
豐富的語言編輯
命令 | 按鍵 | 命令識別碼 |
---|---|---|
觸發建議 | ⌃Space (Windows、Linux Ctrl+Space) | editor.action.triggerSuggest |
觸發參數提示 | ⇧⌘Space (Windows、Linux Ctrl+Shift+Space) | editor.action.triggerParameterHints |
格式化文件 | ⇧⌥F (Windows Shift+Alt+F、Linux Ctrl+Shift+I) | editor.action.formatDocument |
格式化選取範圍 | ⌘K ⌘F (Windows、Linux Ctrl+K Ctrl+F) | editor.action.formatSelection |
移至定義 | F12 | editor.action.revealDefinition |
顯示浮動宣告 | ⌘K ⌘I (Windows、Linux Ctrl+K Ctrl+I) | editor.action.showHover |
預覽定義 | ⌥F12 (Windows Alt+F12、Linux Ctrl+Shift+F10) | editor.action.peekDefinition |
在側邊開啟定義 | ⌘K F12 (Windows、Linux Ctrl+K F12) | editor.action.revealDefinitionAside |
快速修正 | ⌘. (Windows、Linux Ctrl+.) | 快速修復 |
前往參考 | ⇧F12 (Windows、Linux Shift+F12) | editor.action.goToReferences |
重新命名符號 | F2 | editor.action.rename |
取代為下一個值 | ⇧⌘. (Windows、Linux Ctrl+Shift+.) | editor.action.inPlaceReplace.down |
取代為上一個值 | ⇧⌘, (Windows、Linux Ctrl+Shift+,) | editor.action.inPlaceReplace.up |
擴展 AST 選取範圍 | ⌃⇧⌘→ (Windows、Linux Shift+Alt+Right) | editor.action.smartSelect.expand |
縮小 AST 選取範圍 | ⌃⇧⌘← (Windows、Linux Shift+Alt+Left) | editor.action.smartSelect.shrink |
修剪尾隨空白 | ⌘K ⌘X (Windows、Linux Ctrl+K Ctrl+X) | editor.action.trimTrailingWhitespace |
變更語言模式 | ⌘K M (Windows、Linux Ctrl+K M) | workbench.action.editor.changeLanguageMode |
導覽
命令 | 按鍵 | 命令識別碼 |
---|---|---|
顯示所有符號 | ⌘T (Windows、Linux Ctrl+T) | workbench.action.showAllSymbols |
前往行... | ⌃G (Windows、Linux Ctrl+G) | workbench.action.gotoLine |
前往檔案...,快速開啟 | ⌘P (Windows、Linux Ctrl+P) | workbench.action.quickOpen |
前往符號... | ⇧⌘O (Windows、Linux Ctrl+Shift+O) | workbench.action.gotoSymbol |
顯示問題 | ⇧⌘M (Windows、Linux Ctrl+Shift+M) | workbench.actions.view.problems |
前往下一個錯誤或警告 | F8 | editor.action.marker.nextInFiles |
前往上一個錯誤或警告 | ⇧F8 (Windows、Linux Shift+F8) | editor.action.marker.prevInFiles |
顯示所有命令 | ⇧⌘P (Windows、Linux Ctrl+Shift+P) 或 F1 | workbench.action.showCommands |
瀏覽編輯器群組歷史紀錄 | ⌃Tab (Windows、Linux Ctrl+Tab) | workbench.action.quickOpenPreviousRecentlyUsedEditorInGroup |
返回 | ⌃- (Windows Alt+Left、Linux Ctrl+Alt+-) | workbench.action.navigateBack |
在快速輸入中返回 | ⌃- (Windows Alt+Left、Linux Ctrl+Alt+-) | workbench.action.quickInputBack |
向前 | ⌃⇧- (Windows Alt+Right、Linux Ctrl+Shift+-) | workbench.action.navigateForward |
聚焦於麵包屑導航 | ⇧⌘; (Windows、Linux Ctrl+Shift+;) | breadcrumbs.focus |
聚焦並選取麵包屑導航 | ⇧⌘. (Windows、Linux Ctrl+Shift+.) | breadcrumbs.focusAndSelect |
編輯器/視窗管理
命令 | 按鍵 | 命令識別碼 |
---|---|---|
新增視窗 | ⇧⌘N (Windows、Linux Ctrl+Shift+N) | workbench.action.newWindow |
關閉視窗 | ⌘W (Windows、Linux Alt+F4) | workbench.action.closeWindow |
關閉編輯器 | ⌘W (Windows Ctrl+F4、Linux Ctrl+W) | workbench.action.closeActiveEditor |
關閉資料夾 | ⌘K F (Windows、Linux Ctrl+K F) | workbench.action.closeFolder |
在編輯器群組之間循環 | workbench.action.navigateEditorGroups |
|
分割編輯器 | ⌘\ (Windows、Linux Ctrl+\) | workbench.action.splitEditor |
聚焦於第一個編輯器群組 | ⌘1 (Windows、Linux Ctrl+1) | workbench.action.focusFirstEditorGroup |
聚焦於第二個編輯器群組 | ⌘2 (Windows、Linux Ctrl+2) | workbench.action.focusSecondEditorGroup |
聚焦於第三個編輯器群組 | ⌘3 (Windows、Linux Ctrl+3) | workbench.action.focusThirdEditorGroup |
聚焦於左側的編輯器群組 | workbench.action.focusPreviousGroup |
|
聚焦於右側的編輯器群組 | workbench.action.focusNextGroup |
|
向左移動編輯器 | ⌘K ⇧⌘← (Windows、Linux Ctrl+Shift+PageUp) | workbench.action.moveEditorLeftInGroup |
向右移動編輯器 | ⌘K ⇧⌘→ (Windows、Linux Ctrl+Shift+PageDown) | workbench.action.moveEditorRightInGroup |
向左移動作用中的編輯器群組 | ⌘K ← (Windows、Linux Ctrl+K Left) | workbench.action.moveActiveEditorGroupLeft |
向右移動作用中的編輯器群組 | ⌘K → (Windows、Linux Ctrl+K Right) | workbench.action.moveActiveEditorGroupRight |
將編輯器移至下一個群組 | ⌃⌘→ (Windows、Linux Ctrl+Alt+Right) | workbench.action.moveEditorToNextGroup |
將編輯器移至上一個群組 | ⌃⌘← (Windows、Linux Ctrl+Alt+Left) | workbench.action.moveEditorToPreviousGroup |
檔案管理
命令 | 按鍵 | 命令識別碼 |
---|---|---|
新增檔案 | ⌘N (Windows、Linux Ctrl+N) | workbench.action.files.newUntitledFile |
開啟檔案... | ⌘O (Windows、Linux Ctrl+O) | workbench.action.files.openFile |
儲存 | ⌘S (Windows、Linux Ctrl+S) | workbench.action.files.save |
全部儲存 | ⌥⌘S (Windows Ctrl+K S、Linux ) | saveAll |
另存為... | ⇧⌘S (Windows、Linux Ctrl+Shift+S) | workbench.action.files.saveAs |
關閉 | ⌘W (Windows Ctrl+F4、Linux Ctrl+W) | workbench.action.closeActiveEditor |
關閉其他 | ⌥⌘T (Windows、Linux ) | workbench.action.closeOtherEditors |
關閉群組 | ⌘K W (Windows、Linux Ctrl+K W) | workbench.action.closeEditorsInGroup |
關閉其他群組 | workbench.action.closeEditorsInOtherGroups |
|
關閉左側群組 | workbench.action.closeEditorsToTheLeft |
|
關閉右側群組 | workbench.action.closeEditorsToTheRight |
|
全部關閉 | ⌘K ⌘W (Windows、Linux Ctrl+K Ctrl+W) | workbench.action.closeAllEditors |
重新開啟已關閉的編輯器 | ⇧⌘T (Windows、Linux Ctrl+Shift+T) | workbench.action.reopenClosedEditor |
保持開啟 | ⌘K Enter (Windows、Linux Ctrl+K Enter) | workbench.action.keepEditor |
複製作用中檔案路徑 | ⌘K P (Windows、Linux Ctrl+K P) | workbench.action.files.copyPathOfActiveFile |
在 Windows 中顯示作用中檔案 | ⌘K R (Windows、Linux Ctrl+K R) | workbench.action.files.revealActiveFileInWindows |
在新視窗中顯示已開啟的檔案 | workbench.action.files.showOpenedFileInNewWindow |
|
與已開啟的檔案比較 | workbench.files.action.compareFileWith |
顯示
命令 | 按鍵 | 命令識別碼 |
---|---|---|
切換全螢幕 | ⌃⌘F (Windows、Linux F11) | workbench.action.toggleFullScreen |
切換禪模式 | ⌘K Z (Windows、Linux Ctrl+K Z) | workbench.action.toggleZenMode |
離開禪模式 | Escape Escape | workbench.action.exitZenMode |
放大 | ⌘= (Windows、Linux Ctrl+=) | workbench.action.zoomIn |
縮小 | ⌘- (Windows、Linux Ctrl+-) | workbench.action.zoomOut |
重設縮放 | ⌘Numpad0 (Windows、Linux Ctrl+Numpad0) | workbench.action.zoomReset |
切換側邊欄可見性 | ⌘B (Windows、Linux Ctrl+B) | workbench.action.toggleSidebarVisibility |
顯示檔案總管 / 切換焦點 | ⇧⌘E (Windows、Linux Ctrl+Shift+E) | workbench.view.explorer |
顯示搜尋 | ⇧⌘F (Windows、Linux Ctrl+Shift+F) | workbench.view.search |
顯示原始碼控制 | ⌃⇧G (Windows、Linux Ctrl+Shift+G) | workbench.view.scm |
顯示執行 | ⇧⌘D (Windows、Linux Ctrl+Shift+D) | workbench.view.debug |
顯示擴充功能 | ⇧⌘X (Windows、Linux Ctrl+Shift+X) | workbench.view.extensions |
顯示輸出 | ⇧⌘U (Windows Ctrl+Shift+U、Linux Ctrl+K Ctrl+H) | workbench.action.output.toggleOutput |
快速開啟檢視 | ⌃Q (Windows Ctrl+Q、Linux ) | workbench.action.quickOpenView |
開啟新的命令提示字元 | ⇧⌘C (Windows、Linux Ctrl+Shift+C) | workbench.action.terminal.openNativeConsole |
切換 Markdown 預覽 | ⇧⌘V (Windows、Linux Ctrl+Shift+V) | markdown.showPreview |
在側邊開啟預覽 | ⌘K V (Windows、Linux Ctrl+K V) | markdown.showPreviewToSide |
切換整合式終端機 | ⌃` (Windows、Linux Ctrl+`) | workbench.action.terminal.toggleTerminal |
搜尋
命令 | 按鍵 | 命令識別碼 |
---|---|---|
顯示搜尋 | ⇧⌘F (Windows、Linux Ctrl+Shift+F) | workbench.view.search |
在檔案中取代 | ⇧⌘H (Windows、Linux Ctrl+Shift+H) | workbench.action.replaceInFiles |
切換大小寫比對 | ⌥⌘C (Windows、Linux Alt+C) | toggleSearchCaseSensitive |
切換全字比對 | ⌥⌘W (Windows、Linux Alt+W) | toggleSearchWholeWord |
切換使用正規表示式 | ⌥⌘R (Windows、Linux Alt+R) | toggleSearchRegex |
切換搜尋詳細資訊 | ⇧⌘J (Windows、Linux Ctrl+Shift+J) | workbench.action.search.toggleQueryDetails |
聚焦於下一個搜尋結果 | F4 | search.action.focusNextSearchResult |
聚焦於上一個搜尋結果 | ⇧F4 (Windows、Linux Shift+F4) | search.action.focusPreviousSearchResult |
顯示下一個搜尋詞彙 | ↓ (Windows、Linux Down) | history.showNext |
顯示上一個搜尋詞彙 | ↑ (Windows、Linux Up) | history.showPrevious |
搜尋編輯器
命令 | 按鍵 | 命令識別碼 |
---|---|---|
在編輯器中開啟結果 | ⌘Enter (Windows、Linux Alt+Enter) | search.action.openInEditor |
聚焦於搜尋編輯器輸入 | Escape | search.action.focusQueryEditorWidget |
再次搜尋 | ⇧⌘R (Windows、Linux Ctrl+Shift+R) | rerunSearchEditorSearch |
刪除檔案結果 | ⇧⌘Backspace (Windows、Linux Ctrl+Shift+Backspace) | search.searchEditor.action.deleteFileResults |
偏好設定
命令 | 按鍵 | 命令識別碼 |
---|---|---|
開啟設定 | ⌘, (Windows、Linux Ctrl+,) | workbench.action.openSettings |
開啟工作區設定 | workbench.action.openWorkspaceSettings |
|
開啟鍵盤快捷鍵 | ⌘K ⌘S (Windows、Linux Ctrl+K Ctrl+S) | workbench.action.openGlobalKeybindings |
開啟使用者程式碼片段 | workbench.action.openSnippets |
|
選取色彩主題 | ⌘K ⌘T (Windows、Linux Ctrl+K Ctrl+T) | workbench.action.selectTheme |
設定顯示語言 | workbench.action.configureLocale |
偵錯
命令 | 按鍵 | 命令識別碼 |
---|---|---|
切換中斷點 | F9 | editor.debug.action.toggleBreakpoint |
開始 | F5 | workbench.action.debug.start |
繼續 | F5 | workbench.action.debug.continue |
開始 (不偵錯) | ⌃F5 (Windows、Linux Ctrl+F5) | workbench.action.debug.run |
暫停 | F6 | workbench.action.debug.pause |
逐步進入 | F11 | workbench.action.debug.stepInto |
工作
命令 | 按鍵 | 命令識別碼 |
---|---|---|
執行建置任務 | ⇧⌘B (Windows、Linux Ctrl+Shift+B) | workbench.action.tasks.build |
執行測試任務 | workbench.action.tasks.test |
擴充功能
命令 | 按鍵 | 命令識別碼 |
---|---|---|
安裝擴充功能 | workbench.extensions.action.installExtension |
|
顯示已安裝的擴充功能 | workbench.extensions.action.showInstalledExtensions |
|
顯示過期的擴充功能 | workbench.extensions.action.listOutdatedExtensions |
|
顯示建議的擴充功能 | workbench.extensions.action.showRecommendedExtensions |
|
顯示熱門擴充功能 | workbench.extensions.action.showPopularExtensions |
|
更新所有擴充功能 | workbench.extensions.action.updateAllExtensions |
後續步驟
既然您已了解我們的鍵盤快捷鍵支援,接下來...
常見問題
如何找出哪個命令繫結到特定按鍵?
在鍵盤快捷鍵編輯器中,您可以篩選特定按鍵組合,以查看哪些命令繫結到哪些按鍵。您可以在下方看到 Ctrl+Shift+P 繫結到顯示所有命令,以開啟命令面板。
如何將鍵盤快捷鍵新增至動作,例如,將 Ctrl+D 新增至「刪除行」
在預設鍵盤快捷鍵中尋找觸發動作的規則,並在您的 keybindings.json
檔案中寫入修改後的版本
// Original, in Default Keyboard Shortcuts
{ "key": "ctrl+shift+k", "command": "editor.action.deleteLines",
"when": "editorTextFocus" },
// Modified, in User/keybindings.json, Ctrl+D now will also trigger this action
{ "key": "ctrl+d", "command": "editor.action.deleteLines",
"when": "editorTextFocus" },
如何只為特定檔案類型新增鍵盤快捷鍵?
在您的 when
子句中使用 editorLangId
內容金鑰
{ "key": "shift+alt+a", "command": "editor.action.blockComment",
"when": "editorTextFocus && editorLangId == csharp" },
我已在 keybindings.json
中修改我的鍵盤快捷鍵;為什麼它們無法運作?
最常見的問題是檔案中有語法錯誤。否則,請嘗試移除 when
子句或選取不同的 key
。遺憾的是,目前這是一個反覆試驗的過程。