乐闻世界logo
搜索文章和话题

VS Code 多光标编辑有哪些技巧?

2月18日 18:23

VS Code 多光标编辑与高级选择技巧

VS Code 多光标编辑功能允许同时在多个位置编辑代码,大幅提高编辑效率。配合高级选择技巧,可以快速完成复杂的批量编辑任务。

多光标创建方式

鼠标操作

  1. Alt + 点击: 在点击位置添加光标
  2. Ctrl + Alt + 上/下箭头: 在上方或下方添加光标
  3. Ctrl + U: 撤销最后一个光标

键盘操作

  1. Ctrl + Alt + 上/下箭头: 添加光标
  2. Ctrl + Alt + 左/右箭头: 向左或向右扩展选择

快捷选择

  1. Ctrl + D: 选择下一个相同的词
  2. Ctrl + Shift + L: 选择所有相同的词
  3. Ctrl + F2: 选择所有当前词的实例

高级选择技巧

列选择模式

  1. Shift + Alt + 拖动: 列选择
  2. Ctrl + Shift + Alt + 上/下箭头: 列选择扩展

智能选择

  1. Shift + Alt + →: 扩展选择到下一个语法单元
  2. Shift + Alt + ←: 收缩选择
  3. Ctrl + Shift + →: 扩展选择到下一个单词
  4. Ctrl + Shift + ←: 收缩选择到上一个单词

快速跳转和选择

  1. Ctrl + G: 跳转到指定行
  2. Ctrl + T: 跳转到符号
  3. Ctrl + Shift + O: 跳转到文件中的符号
  4. Ctrl + P: 快速打开文件

实用场景

批量重命名变量

javascript
// 原始代码 const userName = 'John'; const userAge = 25; const userEmail = 'john@example.com'; // 操作:双击 userName,按 Ctrl + D 两次,然后修改 const firstName = 'John'; const firstAge = 25; const firstEmail = 'john@example.com';

批量修改属性

javascript
// 原始代码 const obj = { name: 'John', age: 25, email: 'john@example.com' }; // 操作:选择所有属性名,添加引号 const obj = { 'name': 'John', 'age': 25, 'email': 'john@example.com' };

批量添加注释

javascript
// 选择多行,按 Ctrl + / // const line1 = 'code'; // const line2 = 'code'; // const line3 = 'code';

正则表达式查找替换

使用正则表达式

  1. Ctrl + H: 打开查找替换
  2. Alt + R: 启用正则表达式模式
  3. Ctrl + Alt + Enter: 替换所有

正则表达式示例

javascript
// 查找: console\.log\((.*)\) // 替换: console.info($1) // 将所有 console.log 替换为 console.info

捕获组使用

javascript
// 查找: (\w+)\.(\w+)\((.*)\) // 替换: $2($1, $3) // 将 obj.method(args) 转换为 method(obj, args)

高级编辑技巧

多行编辑

  1. Shift + Enter: 在当前行下方插入新行
  2. Ctrl + Enter: 在当前行上方插入新行
  3. Ctrl + Shift + K: 删除当前行

代码格式化

  1. Shift + Alt + F: 格式化整个文档
  2. Ctrl + K, Ctrl + F: 格式化选中部分

代码移动

  1. Alt + 上/下箭头: 移动当前行
  2. Shift + Alt + 上/下箭头: 复制当前行

代码折叠

  1. Ctrl + K, Ctrl + 0: 折叠所有
  2. Ctrl + K, Ctrl + J: 展开所有
  3. Ctrl + K, Ctrl + [: 折叠当前区域
  4. Ctrl + K, Ctrl + ]: 展开当前区域

自定义快捷键

keybindings.json 中自定义快捷键:

json
[ { "key": "ctrl+shift+;", "command": "editor.action.insertCursorAtEndOfEachLineSelected", "when": "editorTextFocus" } ]

注意事项

  • 多光标编辑在大量光标时可能影响性能
  • 使用 Ctrl + U 可以撤销光标操作
  • 正则表达式替换前建议预览
  • 复杂操作可以录制宏
  • 合理使用选择历史记录(Ctrl + Shift + G)
标签:VSCode