MyTab - VS Code Extension
基于 OpenAI API 兼容端点的行内代码自动补全 VS Code 扩展。
功能
- 在编辑器中提供 AI 驱动的行内代码补全建议
- 支持 FIM(Fill-in-the-Middle)和 Chat 两种补全模板
- 支持多行补全和单行补全两种模式
- 状态栏显示开关与模式,点击弹出菜单可开启/关闭补全、切换补全模式
- 关闭补全后不再向 API 端点发送任何数据(provider 被注销,在途请求被中断)
- 支持语言过滤,可配置为仅对特定语言生效
开关补全
有三种方式:
- 状态栏:点击右下角
MyTab 项,在弹出菜单里选择「开启补全 / 关闭补全」
- 快捷键:
Ctrl+Alt+M(macOS Cmd+Alt+M)直接开关
- 编辑器右键 / 命令面板:
MyTab: 开启/关闭补全
说明:VS Code 扩展 API 不允许扩展在状态栏项上贡献自定义右键菜单
(contributes.menus 没有 statusBarItem 位置,参见 microsoft/vscode#27196、#167874,
至今仍在 Backlog)。因此状态栏项采用点击弹出菜单,功能与右键菜单一致。
关闭补全时的行为:
- 行内补全 provider 被注销,编辑器不会再触发补全请求
- 所有在途请求被 abort,不会再有数据发出
- 状态栏显示
MyTab: 已关闭 并以警告色高亮
配置
在 VS Code 设置中搜索 mytab 进行配置:
| 设置项 |
说明 |
默认值 |
mytab.enabled |
启用 MyTab 行内补全(关闭后不发送任何请求) |
true |
mytab.baseUrl |
OpenAI API 兼容的 Base URL |
https://api.openai.com/v1 |
mytab.apiKey |
API 密钥 |
- |
mytab.model |
模型名称 |
gpt-4o-mini |
mytab.maxTokens |
每次补全的最大 token 数 |
64 |
mytab.temperature |
采样温度 (0.0-2.0) |
0.1 |
mytab.debounceMs |
防抖延迟(毫秒) |
300 |
mytab.languages |
启用的语言("*" 表示全部) |
["*"] |
mytab.contextLineCount |
发送的上下文行数 |
30 |
mytab.useFim |
启用 FIM 模板,关闭则使用 Chat 模板 |
true |
mytab.completionMode |
补全模式:multiline / singleline |
multiline |
开发
# 安装依赖
npm install
# 编译
npm run compile
# 监听模式
npm run watch
许可证
MIT
| |