VS Code本身不支持SVN,必须安装johnstoncode.svn-scm插件并手动配置svn.executablePath指向本地1.8.x版svn命令,打开含.svn的根目录,首次检出须用终端执行svn checkout,提交前必须先Update。

VS Code 本身不支持 SVN,装插件只是挂了个壳,真正干活的是你本地的 svn 命令——没它,插件就是个摆设。
插件安装:别只点“安装”,得确认作者和版本
在 VS Code 扩展面板(Ctrl+Shift+X)搜 svn,结果里第一个常是 johnstoncode.svn-scm,这是目前最稳定、更新最勤的主流插件。别选名字类似但作者不明的“SVN Support”或“Subversion”——它们要么已弃更,要么功能残缺(比如不支持冲突标记解析)。
- 联网环境:直接点击 Install 即可,无需重启
- 内网/离线环境:去
marketplace.visualstudio.com搜该插件,下载.vsix文件,再用命令code --install-extension johnstoncode.svn-scm-2.17.0.vsix安装(路径要写全) - 注意:插件名带
-scm后缀才是官方维护版;版本号建议 ≥2.16.0,低版本对 SVN 1.14+ 的 externals 和 authz 支持有问题
svn.executablePath 必须手动填,PATH 不管用
插件不会从系统 PATH 查找 svn,也不会自动探测多个安装版本。填错路径或留空,状态栏连 “SOURCE CONTROL” 都不显示。
- Windows 上常见路径:
"svn.executablePath": "C:/Program Files/TortoiseSVN/bin/svn.exe"(用正斜杠,避免双反斜杠转义问题) - macOS 上若用 Homebrew 装的 svn,路径通常是
/usr/local/bin/svn;但老项目依赖 SVN 1.8.x 时,得单独下载subversion-1.8.19并指向其/usr/local/svn18/bin/svn - 路径中不能含中文、空格、
~;填完必须彻底退出 VS Code(关所有窗口),再重开,否则缓存不刷新
打开文件夹必须含 .svn 目录,否则插件静默失效
插件只认“当前打开的根目录下有没有 .svn 文件夹”,不递归、不猜测、不兼容子目录结构。
- 错误做法:打开
project/src/,而.svn在上层project/→ 插件完全不激活,右键无 SVN 菜单 - 正确做法:File → Open Folder… 选中
project/这一层(确保资源管理器顶部出现 “SOURCE CONTROL” 面板,且左下角显示 “SVN”) - Windows 下若
.svn在C:\Program Files\类受保护路径,非管理员启动的 VS Code 可能读不到元数据,导致识别失败
首次检出别用插件,update 前必须先做
插件的 SVN: Checkout 对网络认证、代理、大仓库健壮性差,容易卡死或生成损坏工作副本;而 SVN 提交是乐观锁机制,不 update 直接 commit 必然报错 Commit failed: File is out of date。
- 首次拉代码,坚持用终端执行:
svn checkout <url> ./myproj,等命令结束再用 VS Code 打开myproj/ - 提交前务必先点左下角分支名(如
trunk),选Update,或按 Ctrl+Shift+P 输入SVN: Update - 遇到冲突文件,VS Code 会标为
conflicted,需手动删掉>>>>>>等标记行,再右键选Mark as resolved
最容易被忽略的是:插件完全不读取 ~/.subversion/server 里的代理、证书或协议设置。所有连通性问题(比如 E170002、SSL handshake failed)都得先在终端用 svn info <url> 验证通过,VS Code 才可能正常工作。


















