AI Naming Assistant
一个偏编辑器内交互的 VS Code 命名插件原型:
- 选中变量名、函数名或类型名时,在当前行上方显示
$(sparkle) AI 命名 CodeLens 入口
- 点击入口或使用快捷键
Cmd/Ctrl + Alt + N,会打开评论线程形式的行内输入框
- 输入中文或英文描述后,插件会生成符合当前语言风格的候选名称
- 支持在线程右上角切换模型入口与中英语义方向
- 支持为 OpenAI / Claude / Gemini 分别配置
API Key、Base URL、Model
Auto 会按 OpenAI -> Claude -> Gemini 顺序自动选择第一个已配置成功的 Provider
- 支持在评论输入框中使用
Cmd/Ctrl + Enter 直接触发“生成命名”
- 未选中内容时也可直接唤起,生成结果会插入到当前光标处
- 选中内容时只替换当前选区,不会联动修改别处
- 候选结果会直接显示在当前评论线程中,每条候选可在线程内点击“应用”,不再弹出单独结果选择框
- 生成完成后评论线程会保持展开;打开时会尽量自动把焦点带到评论输入框
交互说明
- 在编辑器里选中一个名称
- 点击行上的
AI 命名,或使用快捷键 Cmd/Ctrl + Alt + N
- 如果当前没有显式选中内容,快捷键会在当前光标处打开输入框
- 在行内输入框里输入描述
- 点击
生成命名,或按 Cmd/Ctrl + Enter
- 在候选列表里选择一个结果并应用
Provider 配置
可以直接在 VS Code 设置里搜索 AI Naming,或者在 settings.json 中这样配置:
{
"aiNaming.defaultModel": "auto",
"aiNaming.requestTimeoutMs": 30000,
"aiNaming.openai.apiKey": "sk-***",
"aiNaming.openai.baseUrl": "https://your-proxy.example.com/v1",
"aiNaming.openai.model": "gpt-4o-mini",
"aiNaming.claude.apiKey": "",
"aiNaming.claude.baseUrl": "https://api.anthropic.com",
"aiNaming.claude.model": "claude-sonnet-4-0",
"aiNaming.gemini.apiKey": "",
"aiNaming.gemini.baseUrl": "https://generativelanguage.googleapis.com",
"aiNaming.gemini.model": "gemini-2.5-flash"
}
说明:
- 如果你的 Key 必须配合代理地址使用,把对应 provider 的
baseUrl 改成你的代理 / 网关地址即可
openai.baseUrl 支持填根地址、/v1,也支持直接填到兼容接口路径
gemini.baseUrl 和 claude.baseUrl 如果填的是 OpenAI 兼容网关地址,例如 https://xxx/openai/v1,插件会自动按 OpenAI 兼容协议发送请求
- 如果你的 OpenAI 兼容网关要求必须使用流式返回,插件在检测到
Stream must be set to true 后会自动切到流式模式重试
- 当所选 Provider 未配置完整或请求失败时,插件会自动回退到本地命名引擎,并在线程里提示原因
当前实现说明
- 当前版本只保留
CodeLens + CommentController 作为入口与行内输入体验,避免行首装饰图标带来的误触和交互干扰
- 模型切换已经接入真实 Provider,请求失败时会自动回退到本地命名引擎,确保插件不会完全不可用
| |