Folder Alias - VS Code 扩展
June 11, 2026 · View on GitHub
English | 中文
一个强大的 VS Code 扩展,允许您为文件树中的文件和文件夹添加可自定义的别名和备注,让项目导航和组织更加直观。
🌟 功能特性
- 可自定义别名:为任何文件或文件夹添加有意义的名称和描述
- 双重配置:支持公共(共享)和私有(个人)别名
- 预设系统:为常见工作区配置提供预置别名集(AI 代理、前端工具链)
- 视觉集成:无缝集成到 VS Code 的文件资源管理器中
- 简易管理:简单的右键界面用于添加和修改别名
- 持久存储:别名保存在工作区内的 JSON 配置文件中
🚀 安装
从 VS Code 市场
- 打开 VS Code
- 进入 扩展 (
Ctrl+Shift+X/Cmd+Shift+X) - 搜索 "Folder Alias"
- 点击 安装
- 提示时重新加载 VS Code
手动安装
- 从 发布页 下载最新的
.vsix文件 - 打开 VS Code
- 进入 扩展
- 点击 ... (更多操作) → 从 VSIX 安装...
- 选择下载的
.vsix文件
🎯 使用方法
快速开始
最快的方式是应用一个与您项目类型匹配的预设:
- 打开 命令面板 (
Ctrl+Shift+P/Cmd+Shift+P) - 输入 "Apply Preset" 并选择
- 从列表中选择预设:
- AI 代理 - 适用于使用 AI 编码助手的项目(Claude、Cursor、Copilot 等)
- 前端工具链 - 适用于使用常见构建工具的前端项目(Vite、ESLint、Prettier 等)
- 预设别名将立即应用到您的工作区
提示:预设别名的优先级低于您手动配置的别名。您可以使用"添加别名"功能自定义任何预设别名。
添加别名
- 右键点击 VS Code 资源管理器中的任何文件或文件夹
- 选择 "添加别名"
- 选择别名范围:
- 公共:保存在
folder-alias.json(可提交到版本控制) - 私有:保存在
private-folder-alias.json(版本控制忽略)
- 公共:保存在
- 输入所需的别名/描述
- 按 Enter 保存
修改别名
- 右键点击 已有别名的文件/文件夹
- 选择 "添加别名"
- 编辑现有文本或清空以删除别名
- 按 Enter 更新
刷新别名
手动编辑 JSON 配置文件后,可以刷新文件资源管理器显示:
- 右键点击 资源管理器任意位置
- 选择 "刷新别名"
- 或使用 命令面板 (
Ctrl+Shift+P/Cmd+Shift+P) 并输入 "Refresh Aliases" - 文件资源管理器将重新加载所有别名配置
预设
预设允许您快速应用为常见工作区配置预置的别名集。预设别名在运行时加载,优先级低于您的工作区配置(工作区配置优先于预设)。
可用预设
| 预设 | 描述 |
|---|---|
| AI 代理 | 常见 AI 代理配置目录和指令文件(Claude Code、Cursor、Copilot、MCP 等) |
| 前端工具链 | 常见前端构建工具和配置文件(Vite、Webpack、ESLint、Prettier、Tailwind 等) |
应用预设
- 右键点击 资源管理器中的工作区文件夹,或使用 命令面板 (
Ctrl+Shift+P) - 选择 "Apply Preset"
- 从列表中选择预设(内置预设标记为 📄)
- 预设别名将应用到您的工作区
- 再次选择已应用的预设可以移除它
保存自定义预设
- 添加您想要保存的别名
- 右键点击 工作区文件夹,或使用 命令面板
- 选择 "Save Config as Preset"
- 输入预设名称
- 预设将保存到
.vscode/folder-alias-presets/
删除自定义预设
- 右键点击 工作区文件夹,或使用 命令面板
- 选择 "Delete Preset"
- 选择要删除的自定义预设
预设存储
- 内置预设:随扩展一起发布(
media/presets/) - 用户预设:存储在
.vscode/folder-alias-presets/<name>.json - 已选预设:存储在
.vscode/folder-alias-selected-presets.json
多语言支持
预设支持本地化。扩展会检测您的工作区语言并以适当的语言显示预设名称和描述(目前支持英语和中文)。
文件结构
扩展支持两种配置位置,具有智能优先级:
配置优先级
扩展会优先使用 .vscode 目录而不是根目录:
.vscode/folder-alias.json- 公共别名(最高优先级).vscode/private-folder-alias.json- 私有别名(最高优先级)folder-alias.json- 公共别名(回退)private-folder-alias.json- 私有别名(回退)
行为规则:
- 读取:如果
.vscode/folder-alias.json存在,将使用该文件而不是根目录的folder-alias.json - 初始化:扩展只会在根目录创建默认配置文件,如果
.vscode目录中不存在对应的配置文件 - 保存:保存别名时,扩展只在检测到
.vscode目录已存在对应配置文件时才保存到.vscode目录,否则保存到根目录
文件位置
您可以将别名配置组织在任一位置:
.vscode/目录:保持工作区根目录整洁有序- 根目录:传统位置,与现有设置兼容
配置示例
{
"src/components/Button": {
"description": "🎛️ 可复用按钮组件",
"tooltip": "主要按钮组件,带变体样式"
},
"docs/api": {
"description": "📚 API 文档",
"tooltip": "REST API 端点文档"
}
}
🛠️ 开发
前置要求
- Node.js (v24+)
- pnpm(推荐包管理器)
- VS Code
设置开发环境
# 克隆仓库
git clone https://github.com/Muromi-Rikka/folder-alias.git
cd folder-alias
# 安装依赖
pnpm install
# 构建扩展
pnpm build
# 开发模式运行(带监听)
pnpm dev
可用脚本
| 命令 | 描述 |
|---|---|
pnpm build | 构建扩展 |
pnpm dev | 开发模式构建(带监听) |
pnpm test | 运行测试 |
pnpm test:watch | 监听模式运行测试 |
pnpm test:coverage | 运行测试并生成覆盖率报告 |
pnpm lint | 运行 ESLint |
pnpm typecheck | 运行 TypeScript 类型检查 |
pnpm update:gen | 重新生成 VS Code 扩展元数据 |
pnpm pack | 打包扩展 |
pnpm publish | 发布到 VS Code 市场 |
调试
- 在 VS Code 中打开项目
- 按
F5打开新的扩展开发宿主窗口 - 对源代码进行更改
- 重新加载 (
Ctrl+R/Cmd+R) 扩展开发宿主以查看更改
📝 配置
扩展设置
扩展会自动创建和管理配置文件,无需额外设置。
工作区集成
为了团队协作,考虑添加到 .gitignore:
# 文件夹别名 - 个人别名
private-folder-alias.json
🔧 架构
核心组件
src/index.ts- 扩展入口点,注册装饰提供者和命令src/file-alias.ts- 每个工作区文件夹的文件装饰提供者和别名管理src/hooks/useWorkspaceManager.ts- 管理工作区文件夹实例和 URI 解析src/hooks/useConfig.ts- 加载、合并和保存公共/私有 JSON 配置,支持预设src/command/add-alias.command.ts- 添加/修改别名的命令处理器src/command/apply-preset.command.ts- 应用/切换预设的命令处理器src/command/save-preset.command.ts- 将配置保存为预设的命令处理器src/command/delete-preset.command.ts- 删除用户预设的命令处理器src/command/refresh-aliases.command.ts- 刷新所有别名的命令处理器src/typings/preset.typing.ts- 预设类型定义,支持本地化src/utils/preset.util.ts- 预设工具函数(加载、保存、本地化、合并)src/utils/file.util.ts- 配置管理的文件 I/O 工具src/utils/logger.util.ts- 日志工具
使用的技术
- TypeScript - 主要语言
- reactive-vscode - VS Code 扩展的响应式编程
- es-toolkit - 现代工具库(替代 lodash)
- destr - 安全的 JSON 解析
- pathe - 跨平台文件路径工具
- tsdown - TypeScript 构建工具
- ESLint(antfu 配置)- 代码检查
- Vitest - 测试框架
🤝 贡献
欢迎贡献!快速开始:
- Fork 仓库
- 创建功能分支:
git checkout -b feature/new-feature - 进行更改
- 运行测试:
pnpm test - 运行检查:
pnpm lint - 提交更改并推送
- 提交拉取请求
贡献预设
我们欢迎新预设的贡献!预设帮助开发者快速为常见项目类型设置别名。
预设文件格式
在 media/presets/ 中创建 JSON 文件,格式如下:
{
"name": "我的预设",
"description": "此预设的用途说明",
"localized": {
"zh-cn": {
"name": "我的预设",
"description": "此预设的用途说明",
"aliases": {
"path/to/file": { "description": "中文描述", "tooltip": "中文提示" }
}
}
},
"aliases": {
"path/to/file": { "description": "English description", "tooltip": "English tooltip" }
}
}
预设规范
- 文件命名:使用小写加连字符(例如
react-framework.json) - 描述格式:使用
"工具名 + 描述类型"格式(例如"Vite配置"、"ESLint配置") - 工具提示:提供清晰简洁的中英文说明
- 别名:包含项目类型最常用和有用的文件/目录
- 本地化:始终包含英文(默认)和中文(
zh-cn)翻译 - 避免重复:检查现有预设以避免冗余
当前可用预设
| 预设 | 描述 |
|---|---|
ai-agents.json | AI 代理配置目录和指令文件 |
frontend-tooling.json | 前端构建工具和配置文件 |
提交新预设
- 在
media/presets/中创建预设文件 - 遵循上述格式和规范
- 运行
pnpm test确保一切正常 - 提交拉取请求,并清晰描述:
- 此预设针对的项目类型
- 为什么对开发者有用
- 使用示例
📄 许可证
本项目采用 GPLv3 许可证 授权。
🐛 问题和支持
如果您遇到任何问题或有功能请求,请在 GitHub 上 创建问题。
📈 更新日志
查看 CHANGELOG.md 了解详细的更改和更新历史。
由 Rikka 用心制作 ❤️