VSCode原生不支持书签功能,因其设计哲学强调轻量与可扩展,核心聚焦编辑、调试和Git集成,书签等标记功能交由插件实现;推荐使用Bookmarks插件(alefragnani.bookmarks),支持多光标、跨会话保存及快捷键操作。

VSCode 原生不提供书签(Bookmark)功能,直接按 Ctrl+Shift+P 搜索 “bookmark” 会找不到对应命令——这是多数人卡住的第一步。
为什么 VSCode 默认没有书签?
VSCode 的设计哲学是轻量与可扩展,核心功能聚焦于编辑、调试和 Git 集成,而代码标记类操作(如跳转到特定行、临时标记关键位置)交由插件生态完成。官方不内置书签,是因为它更倾向用 workbench.action.QuickOpen + Ctrl+P 模糊搜索文件、符号,或用 editor.action.bookmarkToggle 这类命令依赖插件注册。
推荐插件:Bookmarks(alefragnani.bookmarks)
这是目前最稳定、更新频繁、支持多光标和跨会话保存的书签插件。安装后立即生效,无需配置即可使用:
-
Ctrl+Alt+K(Windows/Linux)或Cmd+Option+K(macOS):在当前行添加/移除书签 -
Ctrl+Alt+J/Cmd+Option+J:跳转到上一个书签 -
Ctrl+Alt+L/Cmd+Option+L:跳转到下一个书签 -
Ctrl+Alt+O/Cmd+Option+O:打开书签面板(显示所有书签及文件路径)
注意:Ctrl+Alt+K 在某些键盘布局(如中文输入法激活时)可能被拦截,建议切换为英文输入法再操作;另外,书签默认不随项目保存,需手动开启插件设置中的 bookmarks.saveToWorkspace,否则关闭窗口后丢失。
大型项目中避免误触和混乱的实操建议
在几十个文件、上万行代码里打书签,容易变成“书签泛滥”,反而降低效率。实际用下来,这几个习惯最有效:
- 只对「需要反复比对的逻辑块」或「待修复的 hack 注释」打书签,比如
// TODO: fix race condition here所在行 - 避免在
node_modules或生成文件(如dist/,.next/)中添加书签——插件默认会跳过这些目录,但手动触发仍可能命中 - 如果团队协作,不要依赖书签做交接;书签不进 Git,也不同步到其他开发者机器
- 配合 VSCode 的
outline视图(Ctrl+Shift+O)使用:先用大纲快速定位类/函数,再用书签锚定具体分支条件或异常处理段落
书签本质是临时记忆外挂,不是结构化导航。真正影响大型项目跳转效率的,往往是 coc.nvim 或 typescript-language-server 的符号索引质量,以及你是否养成了写清晰 /** @see */ 注释的习惯。书签插件只是补短,别让它掩盖了代码可读性问题。










