VSCode 的 Settings Sync 不同步离线文档,因其仅处理 settings.json、keybindings.json、snippets、extensions.json 和 UI State 五类元数据,完全不涉及 .md/.pdf/.html 等文件;应通过云盘共享、Git 仓库或压缩包分发文档。

VSCode 本身不提供“离线文档同步”功能,所谓“离线文档”通常指本地 Markdown、HTML 或 PDF 等静态文件,它们不属于 VSCode 的设置、扩展或同步机制管辖范围。要让同事拿到这些文档,得靠文件级协作,不是编辑器同步。
为什么 Settings Sync 不管用
内置的 Settings Sync 和第三方 Settings Sync 扩展(如 Shan Khan 版)只同步以下五类用户级元数据:
-
settings.json(编辑器行为配置) -
keybindings.json(快捷键) -
snippets/下的代码片段 -
extensions.json(已安装扩展列表) - UI State(侧边栏、编辑器布局等)
它**完全不触碰你打开的任何 .md / .pdf / .html 文件**,也不会扫描项目目录或工作区里的文档。所以哪怕你开了同步,同事也收不到你桌面上那几个 api-spec.md 或 setup-guide.pdf。
真正可行的离线文档分发方式
你需要把文档当普通文件来传,而不是依赖 VSCode 同步。推荐三种实操路径:
-
共享云盘链接:把文档统一放在
iCloud Drive、OneDrive或Google Drive的某个文件夹里,生成“仅查看”链接发给同事。注意别放 VSCodeUser目录下——那个目录结构敏感,且不同系统路径不一致(比如%APPDATA%\Code\User在 Windows,~/Library/Application Support/Code/User在 macOS) -
Git 仓库托管:建一个私有 Git 仓库(GitHub/GitLab),把文档按主题归类提交。同事
git clone即可获得完整历史和版本控制。适合需审核、回滚或多人协作文档的场景 -
压缩包直传:用
zip打包文档 + 一个简短README.md说明用途和更新时间,通过企业微信、钉钉或邮件发送。最轻量,但无更新追踪
别踩的坑:误把文档塞进同步路径
有人会尝试把文档硬塞进 ~/.config/Code/User/(Linux/macOS)或 %APPDATA%\Code\User\(Windows),以为这样能随同步走——结果是:
- 同步服务直接忽略非标准文件(只认
settings.json等固定名) - 下次手动上传时可能报错或静默失败
- 同事拉下来后根本找不到那些文件,因为路径没被映射,也不在 VSCode 加载逻辑里
更麻烦的是,如果用了符号链接方案(比如把 User 目录软链到 iCloud),文档混在里面会导致云盘同步变慢、冲突增多,甚至触发 iCloud 的“文件重复检测”警告。
文档就是文件,不是配置。想让同事拿到,就老老实实用文件传输逻辑——同步功能只管“怎么打开编辑器”,不管“打开什么内容”。











