2026-07-14-keybindings-design.md 1.7 KB

Copy AI Ctx 快捷键支持 — 设计规格

概述

为 Copy AI Ctx 扩展的 4 个命令添加快捷键支持,使用 Ctrl+K Ctrl+C(macOS 映射为 Cmd+K C),通过 VS Code when 条件自动匹配上下文。

变更范围

仅修改 package.json 文件。不涉及 TypeScript 代码。

快捷键设计

平台 快捷键
macOS Cmd+K 松手 → C
Windows/Linux Ctrl+K 松手 → C

绑定规则

所有命令共享同一快捷键,通过 when 条件区分上下文:

when 条件 触发命令
editorHasSelection copy-ai-ctx.copySelection — 复制选中区域引用
!editorHasSelection && editorFocus copy-ai-ctx.copyFile — 复制当前文件引用
explorerViewletVisible && !listMultiSelection copy-ai-ctx.copySelectedFiles — 资源管理器单选
explorerViewletVisible && listMultiSelection copy-ai-ctx.copyMultiFiles — 资源管理器多选

keybindings 贡献声明

"keybindings": [
  {
    "key": "ctrl+k ctrl+c",
    "command": "copy-ai-ctx.copySelection",
    "when": "editorHasSelection"
  },
  {
    "key": "ctrl+k ctrl+c",
    "command": "copy-ai-ctx.copyFile",
    "when": "!editorHasSelection && editorFocus"
  },
  {
    "key": "ctrl+k ctrl+c",
    "command": "copy-ai-ctx.copySelectedFiles",
    "when": "explorerViewletVisible && !listMultiSelection"
  },
  {
    "key": "ctrl+k ctrl+c",
    "command": "copy-ai-ctx.copyMultiFiles",
    "when": "explorerViewletVisible && listMultiSelection"
  }
]

不受影响的部分

  • 现有命令定义不变
  • 右键菜单 (menus) 不变
  • 核心复制逻辑 (copyContext.ts) 不变
  • 扩展激活逻辑 (extension.ts) 不变
  • 输出格式不变