AI Filename — VSCode 扩展
输入中文(或任意)名称,用 AI 生成符合编程约定的英文目录名 / 文件名,并直接在 VSCode 资源管理器中创建。
这是 ai-filename Python CLI 工具的 VSCode 扩展版本,命名逻辑、AI 提示词与请求格式与 CLI 版完全一致。默认使用 硅基流动 SiliconFlow 的 zai-org/GLM-4.5-Air 模型。
特性
- 🌐 中文 → 英文命名:输入「用户登录」,得到
user-login、user-signin 等候选
- 🔌 OpenAI 兼容:一个
baseUrl 切换任意模型服务(OpenAI / DeepSeek / Kimi / 智谱 / 本地 Ollama 等)
- 🎨 多种命名风格:
kebab-case / snake_case / camelCase / PascalCase / CONSTANT_CASE / space
- 🗳️ 多候选选择:一次生成多个候选,QuickPick 交互挑选,可自定义 / 重新生成
- 📁 一步到位:生成名后直接在工作区创建目录或文件
- 🔒 安全存储:API Key 存入 VSCode SecretStorage,不明文落在 settings.json
快速开始
1. 安装依赖 & 构建
cd ai-filename-vscode
npm install
npm run build
2. 在 VSCode 中调试运行
用 VSCode 打开本目录,按 F5 启动「扩展开发宿主」。在开发宿主窗口里即可使用全部命令。
3. 配置 API Key
按 Cmd/Ctrl + Shift + P → 输入 AI Filename: Set API Key:
- 选择服务商(默认第 1 项硅基流动,回车即可)
- 粘贴 API Key
服务商预设会自动填好 baseUrl 与 model。
4. 使用
- 命令面板:
AI Filename: Generate File Name / Generate Folder Name
- 资源管理器右键菜单:在文件树空白处或某文件夹上右键 → 「AI Filename: Generate File Name / Generate Folder Name」,基于右键位置创建
交互流程:
输入中文/原始名称: 用户登录
正在生成文件名 (模型: zai-org/GLM-4.5-Air) ...
user-login 候选 1
user-signin 候选 2
account-login 候选 3
✏️ 自定义名称…
🔄 重新生成
✓ 已创建文件:user-login.ts
命令
| 命令 |
说明 |
AI Filename: Generate File Name |
生成英文名并创建文件 |
AI Filename: Generate Folder Name |
生成英文名并创建目录 |
AI Filename: Set API Key |
选服务商并写入 API Key(存 SecretStorage) |
AI Filename: Show Config |
查看当前配置(API Key 自动打码) |
配置项
在 settings.json 中(命名空间 aiFilename):
| 配置项 |
默认值 |
说明 |
aiFilename.baseUrl |
https://api.siliconflow.cn/v1 |
OpenAI 兼容接口 base URL |
aiFilename.model |
zai-org/GLM-4.5-Air |
模型名 |
aiFilename.style |
kebab |
命名风格:kebab/snake/camel/pascal/constant/space |
aiFilename.language |
英文 |
生成名称使用的语言 |
aiFilename.candidates |
3 |
候选数量(1-10) |
aiFilename.temperature |
0.4 |
采样温度(0-2) |
aiFilename.maxTokens |
256 |
单次请求最大 token 数 |
aiFilename.timeout |
60 |
请求超时(秒) |
aiFilename.defaultExt |
"" |
生成文件名时的默认扩展名(不带点,如 ts) |
aiFilename.openAfterCreate |
true |
创建文件后是否自动打开 |
环境变量 AIFN_API_KEY 会覆盖 SecretStorage 中的 key,适合 CI / 容器场景。
常见服务商 base_url
| 服务商 |
base_url |
示例 model |
| 硅基流动 (默认) |
https://api.siliconflow.cn/v1 |
zai-org/GLM-4.5-Air |
| OpenAI |
https://api.openai.com/v1 |
gpt-4o-mini |
| DeepSeek |
https://api.deepseek.cn/v1 |
deepseek-chat |
| Kimi |
https://api.moonshot.cn/v1 |
moonshot-v1-8k |
| 智谱 GLM |
https://open.bigmodel.cn/api/paas/v4 |
glm-4-flash |
| 本地 Ollama |
http://localhost:11434/v1 |
qwen2.5:7b |
Ollama 的 key 任意非空字符串即可。
本地 Ollama 示例
ollama pull qwen2.5:7b
ollama serve # 默认监听 11434
执行 AI Filename: Set API Key → 选「本地 Ollama」→ key 随便填,即可全离线生成命名。
项目结构
ai-filename-vscode/
├── src/
│ ├── extension.ts # activate/deactivate,注册命令
│ ├── ai.ts # OpenAI 兼容客户端 + 提示词
│ ├── commands.ts # 命令实现 + QuickPick 交互 + 文件/目录创建
│ ├── config.ts # 配置读写(workspace config + SecretStorage)
│ └── naming.ts # 命名规范化(拆词、风格化、清洗)
├── package.json # 扩展清单:命令/配置/右键菜单
├── tsconfig.json
└── esbuild 配置见 package.json scripts
开发
npm install
npm run build # 单次构建
npm run watch # 监听重建
npm run typecheck # 仅类型检查
按 F5 在「扩展开发宿主」中调试。
许可证
MIT