在每行末尾或开头批量加光标应使用alt+shift+i(win/linux)或option+shift+i(macos)及alt+shift+home/option+shift+home,而非ctrl+d或ctrl+shift+l;空行也会被添加光标,若需排除可先用正则筛选。

Ctrl+D 选中相同词却漏掉或错位?
这不是快捷键坏了,是 VSCode 默认只向后扫描、且严格按「完整单词 + 大小写敏感」匹配。光标停在 user_id 中间,按一次 Ctrl+D 选中它;再按一次,只会找下一个完全相同的 user_id,跳过 user_id_token 或 User_ID。
- 想改所有含
user_id的变体:先双击选中user_id,再按Ctrl+D—— 此时它以所选文本为模板,逐字匹配 - 中间某处不想改(比如字符串里的
"user_id"):按Ctrl+K Ctrl+D跳过当前匹配项 - 误选了?按
Ctrl+U撤销上一次添加,可连按多次回退 - 光标卡在空白处或换行符上?
Ctrl+D会先选中空格/换行,导致后续偏移 —— 先把光标移到词内再操作
Ctrl+Shift+L 全文档加光标没反应?
Ctrl+Shift+L 不是“一键多光标”,它是“把当前选中文本,在全文所有完全匹配位置放光标”。失效基本都因前置条件不满足。
- 必须先选中一段非空纯文本 —— 双击一个变量名(如
props),不能只把光标停在里面 - 默认区分大小写:你选了
name,但代码里是Name,就不会命中;打开查找面板(Ctrl+F),关掉右下角的 Aa 图标 - 目标在字符串或注释里?某些 LSP 插件(如 Pylance)可能过滤这些区域 —— 临时禁用插件,或改用命令面板执行
Add Cursor At All Occurrences - 右下角没显示 “x matches found”?说明没识别到有效匹配 —— 换个更短、更唯一的词重试
想在每行末尾或开头批量加光标?
Ctrl+D 和 Ctrl+Shift+L 都不解决位置对齐问题。真正该用的是专用列定位快捷键。
- 在选中的多行末尾加光标:
Alt+Shift+I(Windows/Linux)或Option+Shift+I(macOS) - 在选中的多行开头加光标:
Alt+Shift+Home(Windows/Linux)或Option+Shift+Home(macOS) - 空行也会被加光标 —— 如果不想改空行,提前用
Ctrl+F搜索^\s*$(空行正则),删掉或跳过 - 别用
Ctrl+Alt+↑/↓模拟行首/行尾 —— 它按列追加,一旦某行缩进不齐,光标就贴到行尾,错位风险高
Alt+Click 加光标总跳转定义?
这是默认行为冲突。Ctrl+Click 绑定的是「转到定义」,不是「加光标」。强行改设置(editor.multiCursorModifier)会让其他功能失灵。
- 最稳解法:直接用
Alt+Click(Windows/Linux)或Option+Click(macOS)—— 像素级定位,不受缩进、空行、注释干扰 - 拖拽列选择要用
Alt+Shift+拖拽(不是Ctrl+Alt+拖拽),新版已弃用后者 - 按住
Alt后鼠标移动太慢?松开Alt把鼠标挪到位,再按下去点 —— VSCode 只认点击瞬间的位置 - 点了没反应?检查设置里
editor.multiCursorModifier是否被设为ctrlCmd,应保持默认alt











