VSCode复制当前行到下方/上方的原生命令名是editor.action.copyLinesDownAction和editor.action.copyLinesUpAction,可通过命令面板搜索“Copy Line Down”悬停查看,拼写必须准确、大小写敏感。

怎么查到复制行的原生命令名
VSCode 复制当前行到下方/上方的默认行为,对应两个独立命令:editor.action.copyLinesDownAction 和 editor.action.copyLinesUpAction。它们不走剪贴板,而是直接插入新行副本——这是和 Ctrl+C 的根本区别。
查命令名最稳的方式是打开命令面板:Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(macOS),输入 “Copy Line Down”,悬停在结果上就能看到完整命令 ID。别信网上搜到的“copyLine”之类简写,VSCode 只认全名。
常见错误现象:绑定后快捷键无效,八成是命令名拼错,比如漏了 Lines 或大小写不对(copylinesdownaction 就不行)。
用图形界面快速重绑快捷键
这是最快上手的方式,适合不想碰 JSON 的人:
- 按
Ctrl+K Ctrl+S(Win/Linux)或Cmd+K Cmd+S(macOS)打开快捷键设置页 - 搜索 “Copy Line Down”,找到对应条目
- 右键 → “Add Keybinding”,然后按下你想设的新组合键(比如
Ctrl+Alt+D) - 如果提示冲突,可选“重写”或换一个组合
注意:Ctrl+C 在无选中时虽能“隐式复制整行”,但它触发的是 editor.action.clipboardCopyAction,且依赖剪贴板状态;而 copyLinesDownAction 是纯编辑器内操作,更可靠。
手动编辑 keybindings.json 更精准
图形界面改完可能被扩展覆盖,长期稳定要用 JSON 配置:
- 按
Ctrl+Shift+P输入 “Preferences: Open Keyboard Shortcuts (JSON)” 回车 - 在数组里加一条对象,例如:
[{ "key": "ctrl+alt+down", "command": "editor.action.copyLinesDownAction", "when": "editorTextFocus && !editorReadonly" }] -
when字段很重要:不加它,快捷键可能在终端、搜索框等地方误触发;editorTextFocus确保只在代码编辑区生效 - 多个快捷键就加多条对象,每条必须是独立对象,不能合并
macOS 用户注意:cmd 在 JSON 里写作 meta,所以 Cmd+Option+Down 要写成 "key": "meta+alt+down"。
为什么重绑后还是没反应
不是配置错了,大概率是环境干扰:
- 中文输入法劫持
Alt+↓(搜狗、百度输入法常默认绑定为中英文切换)——切英文再试 - 焦点不在编辑器:终端、侧边栏、设置页激活时,快捷键完全不响应
- 笔记本需按
Fn才能激活方向键,Shift+Alt+Fn+↓才是真组合 - 某些语言模式(如自定义
.astro或.vue配置)会禁用默认 keybinding,临时切到Plain Text模式测试一下 - 扩展冲突:装了
multi-command或macros类扩展后,可能拦截了原生命令,禁用它们试试
最轻量验证法:命令面板里手动执行 “Copy Line Down”,如果能跑通,说明命令本身没问题,问题一定出在快捷键映射或输入环境上。


















