VSCode可构建轻量本地知识库,核心是纯文本路径+Markdown+Git:用文件夹分层存.md文件,禁用BOM、规范命名;必装Markdown All in One和Paste Image插件并合理配置;用标准链接替代双链,Git管理版本,命令行批量处理提升生命力。

VSCode 本身不是笔记软件,但通过合理组合插件和文件结构,能构建出轻量、可编程、完全本地化的个人知识库。关键不在于“装多少插件”,而在于选对 Obsidian 风格的纯文本路径 + markdown + git 底层支撑。
用 Markdown 文件夹代替“笔记本”
知识库的本质是可搜索、可链接、可版本控制的文本集合。VSCode 不需要新建“知识库项目”,只需一个普通文件夹(比如 ~/my-kb),里面全是 .md 文件,按主题/日期/项目分层建子目录即可。
常见错误:试图用 VSCode 工作区文件(.code-workspace)来“定义知识库边界”——它只管打开行为,不参与内容组织。
- 推荐结构:
~/my-kb/01-ideas/20240520-async-caching.md、~/my-kb/02-ref/regex-cheatsheet.md - 所有文件用 UTF-8 编码,禁用 BOM(VSCode 默认满足)
- 避免在文件名中使用空格或中文,用短横线(
-)替代,方便终端操作和 URL 安全
必装插件:Markdown All in One + Paste Image
Markdown All in One 提供自动 TOC、快捷键跳转、标题折叠等基础能力;Paste Image 解决截图即存即链的痛点——这是手写笔记流的关键闭环。
容易被忽略的配置:
- 在
settings.json中设"pasteImage.path": "${currentFileDir}/assets",让每张图存到当前文档同级assets/目录下 - 关闭
Markdown All in One的自动编号(markdown.extension.orderedList.autoRenumber设为false),避免重排干扰原始逻辑 - 启用
markdown.extension.toc.levels到"1-4",确保多级标题都能进目录
用 VSCode 内置功能替代“双链”?不现实,但有折中方案
VSCode 没有原生双链(如 Obsidian 的 [[note]]),强行模拟会破坏可移植性。更务实的做法是:
- 用标准 Markdown 链接:
[API 设计原则](./02-ref/api-design-principles.md),VSCode 能点击跳转(需开启markdown.extension.links.enableLinkOpener) - 用
Ctrl+Click(macOS 是Cmd+Click)快速打开链接目标,比双链更快定位 - 配合
Search: Find in Files(Ctrl+Shift+F)搜关键词,效果接近反向链接(Backlinks) - 拒绝安装所谓“VSCode 双链插件”——它们大多依赖自定义语法或后台服务,一旦停更或冲突,整个知识库就卡住
Git 是知识库的隐形骨架
不初始化 git,知识库只是散落的文件。每天写完几条笔记后执行一次 git add . && git commit -m "notes: update regex and caching ideas",成本极低,但换来的是时间旅行能力。
真正重要的不是远程同步,而是本地快照:
- 用
git log --oneline -n 20快速看最近修改脉络 - 用
git diff HEAD~1 -- 01-ideas/对比昨天和今天的思路变化 - VSCode 内置 Git 面板(
Ctrl+Shift+G)足够完成日常操作,无需额外 GUI 工具
最常被低估的一点:知识库的生命力不在“多好看”,而在“是否能用命令行批量处理”。比如某天想把所有 TODO 提取出来,一行 grep -r "TODO" ~/my-kb/ | grep -v assets 就搞定——这只有纯文本 + 标准工具链才能做到。










