VSCode没有隐藏功能,只有未被注意但高频实用的原生能力:多光标编辑(Ctrl/Cmd+Click逐点添加、Ctrl+D选相同内容)、大纲视图快速跳转(Ctrl+Shift+O)、终端与编辑器深度集成、条件断点与日志点调试。

多光标编辑不是按住 Alt 拖鼠标那么简单
真正高效的多光标,核心是 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)逐点添加,而不是拖选——尤其适合跳着选函数名、变量名或重复结构中的字段。
- 选中一个单词后,按
Ctrl+D会逐个选中下一个相同内容,比手动找快得多;再按一次跳过当前匹配可跳过干扰项 -
Ctrl+Shift+L把当前选区拆成每行一个光标,适合批量修改 JSON 字段值或日志行尾 - 误触多光标时,按
Esc一键退出,别去点别的地方“取消”
文件内快速跳转别只依赖 Ctrl+F
Ctrl+Shift+O(大纲视图)能直接列出所有函数、类、方法,支持模糊搜索和符号类型过滤(比如输入 @c 只显示 class),比翻代码快一个数量级。
- 输入
@:可跳转到当前文件的指定行号(如@:42) - 输入
@>显示所有未折叠区域(适合长文件里快速定位展开块) - 如果文件没语言服务支持(比如纯 .txt 或自定义后缀),大纲为空——这不是 bug,是缺少语义解析
终端集成不是为了替代 shell,而是减少窗口切换
VSCode 内置终端默认复用系统 shell,但关键在于它和编辑器上下文打通了:
- 在文件中右键 →
Open in Integrated Terminal,终端自动cd到该文件所在目录 -
Ctrl+Shift+P输入Terminal: Run Selected Text in Active Terminal,可直接执行选中的命令片段(比如一段 curl 或 git 命令) - 终端输出里的文件路径是可点击的,点击后自动打开对应文件并跳转到行号——前提是路径格式符合正则
.*?:\d+
调试时的“条件断点”和“日志点”常被忽略
断点不止是点一下。右键断点可设条件、命中次数或仅记录不暂停(即“日志点”):
- 条件断点:比如只在
user.id === 123时中断,避免循环里反复停住 - 日志点(Logpoint):输入
console.log("name:", name, "count:", count),运行时不中断,直接输出到 Debug Console —— 等效于手动插console但不用改源码、不污染提交 - 注意:日志点表达式不支持复杂语句,只能是单行表达式;若含异步操作(如
await fetch()),会报错











