Project Manager插件不会自动扫描目录,仅识别手动添加的项目;需用命令逐个添加根目录,配置文件为projects.json,路径失效时需清理或修复权限。

Project Manager 插件根本不会自动识别已有文件夹
它默认只认你手动「添加过」的项目,不是扫描整个目录树。几百个本地项目如果没挨个点一遍 Add Project,插件里就是空的——这不是 bug,是设计逻辑。你看到的「项目列表为空」或右键菜单里没选项,大概率是因为还没建索引。
实操建议:
- 用
Project Manager: Add Project命令(Ctrl+Shift+P 输入),每次选一个根目录,别图快批量拖拽——它不支持 - 优先加常用项目的根目录,比如
/home/user/projects/api-service,而不是/home/user/projects/这种父级,否则打开时工作区会包含太多无关子目录 - 如果项目结构统一(如全在
~/src/xxx下),可提前写个脚本生成projects.json,再手动替换插件的配置文件(路径见下一条)
项目配置文件 projects.json 的位置和手动编辑技巧
VSCode 不会把项目信息存在工作区或全局设置里,而是维护一个独立的 projects.json 文件。Windows/macOS/Linux 路径不同,但内容结构一致:每个项目是一个对象,含 name、rootPath、paths 等字段。
实操建议:
- 找到文件位置:
~/.vscode/extensions/alefragnani.project-manager-1.10.0/storage/projects.json(版本号可能变,用ls ~/.vscode/extensions/alefragnani.project-manager*确认) -
rootPath必须是绝对路径,且末尾不能带斜杠;name重复会导致覆盖,建议加前缀如"backend-auth"而非泛泛的"auth" - 如果某项目有多个相关路径(如前端+后端共存),可用
paths数组,但 VSCode 打开时仍只加载第一个有效路径
切换时打开空白窗口或报错 Unable to open 'xxx': File not found
常见于项目路径被移动、重命名或磁盘挂载点变化(比如从 /mnt/d/ 改成 /d/)。Project Manager 不校验路径有效性,只是原样执行 code /old/path,失败就静默跳过或弹窗报错。
实操建议:
- 定期运行
Project Manager: Clean Projects清理失效条目(它会检查rootPath是否可读) - 不要依赖「最近打开」列表替代项目管理——那个走的是 VSCode 自己的缓存,和 Project Manager 无关
- 如果频繁跨设备同步项目(比如 WSL ↔ Windows),用符号链接统一路径,避免硬编码不同盘符
和 VSCode 多根工作区(Multi-root Workspace)的关系
Project Manager 本质只是快捷方式,最终调用的是 code /path/to/project。如果你某个项目本身是多根工作区(含 .code-workspace 文件),它会正常加载;但如果误把 .code-workspace 文件本身设为 rootPath,VSCode 会试图把它当普通文件夹打开,导致结构错乱。
实操建议:
-
rootPath指向工作区文件所在目录,不是指向.code-workspace文件本身 - 想快速切换同一套多根项目的不同组合?Project Manager 不擅长这个——得靠手动保存多个
.code-workspace文件,再分别注册为独立项目 - 注意:Project Manager 的「导入」功能只支持 JSON 格式,不识别
.code-workspace文件内容
最麻烦的其实是路径权限和符号链接——尤其在 Docker 或 WSL 场景下,rootPath 看似正确,但 VSCode 实际进程无权访问,错误又不明显。这时候得关掉插件,直接命令行跑 code /path 看终端报什么错,再反推问题在哪。


















