feat(keybindings): add Claude CLI terminal profile and rework keybindings

Replace Cursor-specific composerMode bindings with Claude Code focused
keybindings. The shift+cmd+c shortcut now opens a Claude CLI terminal
instead of toggling the extension sidebar, and cmd+i toggles the Claude
Code sidebar focus.

- Add "Claude" terminal profile (settings) to launch claude CLI
- Add shift+cmd+c to open Claude terminal in panel
- Add alt+shift+cmd+c macro to open Claude terminal in locked side editor
- Remap cmd+i to toggle Claude Code sidebar focus/blur
- Remove Cursor composerMode keybindings (agent, plan, chat)
- Fix shift+enter newline in terminal using kitty keyboard protocol
- Disable sendKeybindingsToShell for proper keybinding interception
- Move Claude Code preferred location to sidebar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Jim Myhrberg
2026-02-11 11:28:50 +00:00
parent 25343d5e72
commit c06e69e9b6
2 changed files with 51 additions and 29 deletions

View File

@@ -22,51 +22,44 @@
},
//
// ===========================================================================
// MARK: Cursor (Text Editor)
// ===========================================================================
//
{ // Toggle Agent.
"key": "cmd+i",
"command": "composerMode.agent"
},
{ // Toggle Plan.
"key": "alt+cmd+i",
"command": "composerMode.plan"
},
{ // Toggle Ask.
"key": "cmd+l",
"command": "composerMode.chat"
},
//
// ===========================================================================
// MARK: Claude Code
// ===========================================================================
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code
//
//
{ // Focus Claude Code sidebar.
"key": "cmd+i",
"command": "claude-vscode.focus",
"when": "editorTextFocus && !config.claudeCode.useTerminal"
},
{ // Blur Claude Code sidebar.
"key": "cmd+i",
"command": "claude-vscode.blur",
"when": "!config.claudeCode.useTerminal && !editorTextFocus"
},
{ // Enable new lines in terminal.
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "\\\r\n"
"text": "\u001b[13;2u"
},
"when": "terminalFocus"
},
{ // Disable default open native console keybinding.
{ // Disable default open native console (External Terminal) keybinding.
"key": "shift+cmd+c",
"command": "-workbench.action.terminal.openNativeConsole",
"when": "!terminalFocus"
},
{ // Blur Claude Code.
{ // Open Claude terminal.
"key": "shift+cmd+c",
"command": "claude-vscode.blur",
"when": "!config.claudeCode.useTerminal && !editorTextFocus"
"command": "workbench.action.terminal.newWithProfile",
"args": {
"profileName": "Claude"
}
},
{ // Focus Claude Code.
"key": "shift+cmd+c",
"command": "claude-vscode.focus",
"when": "editorTextFocus && !config.claudeCode.useTerminal"
{ // Open Claude terminal in editor tab to the side (locked group).
"key": "alt+shift+cmd+c",
"command": "macros.openClaudeTerminalBeside"
},
//
// ===========================================================================

View File

@@ -143,7 +143,7 @@
// Extension:
// - https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code
//
"claudeCode.preferredLocation": "panel",
"claudeCode.preferredLocation": "sidebar",
//
// ===========================================================================
// MARK: Editor
@@ -304,8 +304,14 @@
"terminal.integrated.defaultProfile.osx": "zsh",
"terminal.integrated.macOptionIsMeta": true,
"terminal.integrated.persistentSessionScrollback": 1000,
"terminal.integrated.profiles.osx": {
"Claude": {
"path": "claude",
"icon": "terminal"
}
},
"terminal.integrated.scrollback": 50000,
"terminal.integrated.sendKeybindingsToShell": true,
"terminal.integrated.sendKeybindingsToShell": false,
"terminal.integrated.shellIntegration.enabled": true,
//
// ===========================================================================
@@ -994,6 +1000,29 @@
// - https://marketplace.visualstudio.com/items?itemName=ctf0.macros
//
"macros.list": {
"openClaudeTerminalBeside": [
{
"command": "workbench.action.terminal.newWithProfile",
"args": {
"profileName": "Claude",
"location": "editor"
}
},
{
"command": "$delay",
"args": {
"delay": 100
}
},
"workbench.action.moveEditorToRightGroup",
{
"command": "$delay",
"args": {
"delay": 50
}
},
"workbench.action.lockEditorGroup"
],
"insertEmDash": [
{
"command": "type",