VSCode整行复制默认快捷键为Shift+Alt+↓(向下)或Shift+Alt+↑(向上),需确保无选区、英文输入法、焦点在编辑器且无扩展干扰;Ctrl+C虽可隐式复制但依赖剪贴板,多行复制须先选中再触发。

默认快捷键是 Shift+Alt+↓(向下)或 Shift+Alt+↑(向上)
VSCode 原生支持不选中、不依赖剪贴板的整行复制,Windows/Linux 用 Shift+Alt+↓ 向下克隆,Shift+Alt+↑ 向上克隆;macOS 对应 Shift+Option+↓ 和 Shift+Option+↑。它直接触发内置命令 editor.action.copyLinesDownAction 或 editor.action.copyLinesUpAction,插入新行后光标自动落在新行行首。
常见错误现象:按了没反应、光标跳动但没复制、复制出空行或只复制了部分文本。
- 光标必须在某一行内(哪怕停在第 7 个字符),且未选中任何文本;一旦有选区,快捷键会复制选区而非整行
- 中文输入法常劫持
Alt+↓(如搜狗默认切中英文),务必切换到英文输入法再试 - 部分笔记本(联想、戴尔)需额外按
Fn才能激活方向键组合 - 焦点不在编辑器里(比如终端、搜索框、设置页处于激活状态)时,快捷键完全无效
Ctrl+C 在没选中时也能复制整行,但有隐式陷阱
Ctrl+C(Windows/Linux)或 Cmd+C(macOS)在无选区时确实会隐式复制当前行(含换行符),但它走的是剪贴板路径,不是原地克隆。这带来两个实际问题:
- 粘贴时容易多出空行——尤其当光标停在上一行末尾,
Ctrl+V会先换行再贴内容,视觉上像插入了空白行 - 行为受
"editor.emptySelectionClipboard": true控制(默认开启),但 Pylance、ESLint 等扩展可能干扰该逻辑,导致有时不生效 - 折叠区域内的行仍可被复制,但复制的是原始源码,不是折叠后显示的简化文本
快捷键失效时,用命令面板临时救场
不用重启、重装或改配置,立刻调出命令面板执行:
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS) - 输入
Copy Line Down或Copy Line Up,回车执行 - 这两个命令名对应的就是
editor.action.copyLinesDownAction和editor.action.copyLinesUpAction - 若常用,可在命令面板中右键该条目 → “Change Keybinding” 直接绑定新快捷键
复制多行不能靠连按,得先选中再触发
Shift+Alt+↓ 默认只作用于光标所在单行。想复制连续多行,必须先选中:
- 把光标放在首行开头,按住
Shift+ 多次↓扩展选区(确保最后一行包含换行符,否则粘贴时可能与下一行连在一起) - 选中后,再按一次
Shift+Alt+↓,VSCode 会把整个选区原样复制到下方 - 不要试图连按多次——第二次按的时候光标已在新行,复制的是新行而非原选区
- 如果语言模式启用了
editor.autoIndent(默认开启),粘贴后缩进会自动适配上下文


















