Workspace Template Manager
Workspace Template Manager 是一个 VSCode 项目模板管理插件,用于把一组常用项目文件组织成可复用的“项目模板”,并将模板内容增量应用到当前工作区。
功能特性
- 📁 项目模板分组:每个模板分组对应一个真实文件夹,分组名就是文件夹名。
- 🌲 侧边栏文件树:在 VSCode 左侧
Workspace Template Manager 侧边栏中,以类似 Explorer 的方式浏览模板分组和模板文件。
- 📝 原生文件编辑:模板文件是真实磁盘文件,可以像普通工程文件一样打开、编辑、格式化和保存。
- 🚀 一键应用模板:点击分组上的应用按钮,将该模板分组中的文件写入当前真实工作区。
- ➕ 增量式写入:目标文件不存在时自动创建;目标文件已存在时追加到文件末尾,不覆盖原内容。
- 🧩 四个内置模板:仅内置 TypeScript、Rust、Python 和 AI 四类工程模板。
- 🔧 可自定义模板:支持新建、重命名、删除模板分组,并可在侧边栏中新增或删除模板文件与文件夹。
核心概念
项目模板分组
一个项目模板分组就是一套可复用的项目文件集合,例如:
Node.js TypeScript 项目
├── .gitignore
├── .npmrc
├── AGENTS.md
└── .vscode
├── settings.json
└── extensions.json
应用该模板后,会按照相同的相对路径写入当前工作区。
模板存储位置
模板使用 VSCode 官方提供的 ExtensionContext.globalStorageUri 保存。这是扩展存储全局持久数据的标准位置,模板不会写入扩展安装目录,也不会污染业务工程。
典型 Windows 路径类似:
%APPDATA%/Code/User/globalStorage/<publisher>.<extension-id>/groups/
实际路径会根据 VSCode Stable、Insiders、远程开发环境等有所不同。模板数据不会自动参与 Settings Sync,重要模板建议另行备份。
Marketplace 扩展 ID 为 congwen.workspace-template-manager。如果此前安装过 0.1.2 或更早版本的独立 VSIX,首次启动新扩展时会从旧的 congwen.project-template-manager 存储目录非破坏性复制模板;确认模板正常后可卸载旧扩展,避免两个版本同时注册相同命令。
使用方法
管理项目模板
- 打开 VSCode 左侧 Activity Bar 中的
Workspace Template Manager。
- 在侧边栏中查看内置模板或自定义模板。
- 点击模板文件可直接打开并编辑。
- 侧边栏顶部提供三个按钮:
- 打开模板存储文件夹
- 从现有文件夹添加 Project 模板
- 刷新模板树
- Project 模板分组的行内按钮仅保留:
- 应用模板
- Open in New Window(在新的 VSCode 窗口中打开该模板工作区)
- 在 Project 分组上右键可新建文件、新建文件夹、重命名或删除。
- 文件夹和文件节点的行内按钮仅保留应用:
- 文件夹右键菜单提供新建文件、新建文件夹、重命名和删除;
- 文件右键菜单提供重命名和删除;
- 应用文件夹时,仅迁移该文件夹及其子树;
- 应用文件时,仅迁移该文件;
- 迁移时保留相对于 Project 模板根目录的路径,且不会删除模板源文件。
应用项目模板
在 Workspace Template Manager 侧边栏中点击某个模板分组的应用按钮。
应用规则:
- 如果目标文件不存在:创建文件;
- 如果目标目录不存在:自动创建目录;
- 模板分组内的文件夹结构会被保留;
- 已有文件的处理方式由设置
projectTemplateManager.applyMode 控制。
可选模式:
append 增量应用,将模板内容追加到已有文件末尾(默认)
overwrite 覆盖应用,使用模板内容完整替换已有文件
通过右键菜单新建模板文件时会直接创建 新建文件.txt;如果同名则依次创建 新建文件 2.txt 等,并在模板树中自动选中。通过右键菜单重命名时,会使用 VSCode 顶部输入框修改名称。
也可以通过命令面板执行:
Workspace Template Manager: Apply Project Templates
选择一个或多个项目模板分组后应用到当前工作区。
内置模板
插件仅提供以下四个内置模板:
- TypeScript 工程
- Rust 工程
- Python 工程
- AI 工程
适用场景
- 快速初始化项目中的
.vscode 配置;
- 为不同技术栈维护不同的项目模板;
- 复用
.gitignore、.editorconfig、AGENTS.md 等团队规范文件;
- 为个人或团队沉淀常用项目启动配置。
许可证
MIT License