iT邦幫忙

0

Day 24:【快速鍵與工作區自訂】Keybindings.json:打造符合個人手勢的極速快捷鍵配置

  • 分享至 

  • xImage
  •  

💡 前言

在前幾天的文章中,我們學會瞭如何為專案配置獨立的工作區設定與推薦套件。但在實際寫程式的過程中,真正決定你開發速度快慢的關鍵,其實是你對鍵盤快速鍵的掌握程度。

雖然 VS Code 內建了大量實用的快捷鍵(如 Ctrl + P 快速開檔、Ctrl + Shift + F 全域搜尋),但有些預設快捷鍵按起來可能不太順手,或是你希望把某些高頻操作(例如:刪除整行、複製整行、切換分割視窗)改成自己最順磁的按鍵手勢。

今天 Day 24 我們要來解鎖 VS Code 的鍵盤對應核心——keybindings.json,教你如何打造一套專屬於你的極速操作手勢!


🎯 本篇重點

  1. 視覺化鍵盤捷徑設定面板的操作技巧
  2. 認識底層核心:keybindings.json 的 JSON 結構
  3. 實用自訂快捷鍵範例(快速複製、刪除、分頁切換)
  4. 如何避免快捷鍵衝突 (Keybinding Conflicts)

🎛️ 1. 視覺化鍵盤捷徑面板 (Keyboard Shortcuts UI)

如果你不想直接改寫 JSON,VS Code 提供了一個非常直覺的搜尋與修改介面:

  1. 開啟快速鍵設定面板:按下快捷鍵 Ctrl + K, Ctrl + S(Mac 為 Cmd + K, Cmd + S),或透過命令面板輸入 Preferences: Open Keyboard Shortcuts。
  2. 搜尋功能:在頂部的搜尋框中輸入你想找的動作(例如 Delete Line 或 Split Right)。
  3. 修改快速鍵:
    • 找到該項目後,雙擊它或按 Enter。
    • 接著直接在鍵盤上按下你想要的組合鍵(例如 Ctrl + D 或自訂組合),最後按下 Enter 即可完成綁定!

📄 2. 透過 keybindings.json 進行精準設定

如果你喜歡直接管理程式碼配置,點擊設定面板右上角的小檔案圖示(或透過命令面板搜尋 Preferences: Open Keyboard Shortcuts (JSON)),即可打開底部的 keybindings.json。

來看一個經典的自訂快捷鍵範例:

[
  {
    "key": "ctrl+d",
    "command": "editor.action.copyLinesDownAction",
    "when": "editorTextFocus"
  },
  {
    "key": "ctrl+shift+k",
    "command": "editor.action.deleteLines",
    "when": "editorTextFocus"
  },
  {
    "key": "alt+right",
    "command": "workbench.action.nextEditor"
  },
  {
    "key": "alt+left",
    "command": "workbench.action.previousEditor"
  }
]

核心參數解析:

• key:你想要觸發的按鍵組合(例如 "ctrl+shift+k")。
• command:該快捷鍵對應的 VS Code 內部指令名稱。
• when(條件限制):決定這個快捷鍵在什麼情境下才生效。例如 "editorTextFocus" 代表只有當游標在程式碼編輯器內時才觸發,避免影響其他面板的操作。


⚡ 3. 實用自訂快捷鍵推薦

以下幾種自訂對調能大幅提升日常寫 Code 的流暢度:

  1. 快速複製目前行到下方:
    將原本的 Shift + Alt + Down 改成更順手的單手按鍵(例如結合習慣的巨集)。
  2. 左右分頁快速切換 (Alt + 左右方向鍵):
    當你同時開了多個編輯器分割畫面(Split Editor)時,設定用 Alt + ← / Alt + → 在不同分頁檔案間快速跳躍,不需要每次都用滑鼠去點。
  3. 關閉當前分頁 (Ctrl + W):
    確認這是你最順手的關閉分頁手勢,若不習慣可隨時在面板中覆寫。

⚠️ 4. 小心快捷鍵衝突

當你在設定新快捷鍵時,如果發現怎麼按都沒有反應,通常是因為該組合鍵已經被其他功能佔用了:
• 在快速鍵面板搜尋該按鍵組合,檢查有沒有其他項目顯示衝突。
• 如果不需要舊的功能,可以點擊右鍵選擇 「移除鍵盤捷徑 (Remove Keybinding)」,將其釋放給你的自訂指令。



圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言