|
@@ -0,0 +1,62 @@
|
|
|
|
|
+# 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 贡献声明
|
|
|
|
|
+
|
|
|
|
|
+```jsonc
|
|
|
|
|
+"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`) 不变
|
|
|
|
|
+- 输出格式不变
|