- 内联补全(Inline Completion),输入时自动触发
- FIM(prefix/suffix)提示模板,适配 Qwen 与 Codestral
- 结合剪贴板与 import 定义片段的轻量上下文
- Activity Bar 侧边栏配置面板,支持快捷修改 API Key 与参数
- Output Channel 记录请求、响应与调试信息
这个项目的初衷是:在生态逐步偏向 Codex 和 Claude Code 之后,像 Cursor 一样的轻量代码补全变少了;而市面上的大模型补全插件往往很重、响应也慢。因此希望做一个更轻、更快的内联补全体验。后续如果有好用的 Next Edit 模型,也会集成进来。
- 安装依赖:
npm install - 编译扩展:
npm run compile - 在 VS Code 中按
F5启动 Extension Development Host
仓库内提供 ttab-completion-0.0.1.vsix,可在 VS Code 中通过 “Extensions: Install from VSIX...” 安装。
- 打开 Activity Bar 中的
TTAB视图 - 选择模型(
qwen3-coder-flash或codestral-latest) - 填写对应的 API Key
- 开始输入代码即可看到灰字补全
也可以通过 Settings JSON 手动配置:
{
"ttabCompletion.apiKeys": {
"qwen": "YOUR_DASHSCOPE_KEY",
"codestral": "YOUR_CODESTRAL_KEY"
},
"ttabCompletion.model": "qwen3-coder-flash",
"ttabCompletion.maxTokens": 128,
"ttabCompletion.maxPromptTokens": 1024,
"ttabCompletion.debounceDelay": 350,
"ttabCompletion.enabled": true
}ttabCompletion.apiKey: 兼容旧配置的 API Key(会写入对应 provider)ttabCompletion.apiKeys: 分 provider 的 API Key(qwen/codestral)ttabCompletion.model: 模型名称(默认qwen3-coder-flash)ttabCompletion.maxTokens: 生成输出 token 上限(100-500)ttabCompletion.maxPromptTokens: prompt 上下文 token 上限(128-8192)ttabCompletion.debounceDelay: 触发防抖延迟(毫秒)ttabCompletion.enabled: 是否启用补全
- 读取当前文件的 prefix/suffix,构造 FIM prompt
- 拼接系统提示词,附带剪贴板内容与 import 定义片段
- 请求 DashScope(Qwen)或 Codestral 接口获取补全文本
- 过滤代码块标记后直接作为 Inline Completion 展示
npm run compile: 编译 TypeScriptnpm run watch: 监听并增量编译npm run package: 生成.vsix包
src/extension.ts: 内联补全入口与请求流程src/prompt.ts: FIM prompt 与系统 prompt 构建src/llm.ts: Qwen/Codestral 请求适配src/importDefinitions.ts: Tree-sitter import 定义片段src/sidebar.ts: 侧边栏配置 UI
本项目的思路与实现参考了 Continue:https://github.com/continuedev/continue
Apache-2.0
