Skip to content

Latest commit

 

History

History
104 lines (76 loc) · 3.28 KB

File metadata and controls

104 lines (76 loc) · 3.28 KB
TTAB Banner

TTAB Completion

极简 ·内联 · 快速

面向 VS Code 的轻量级 AI 代码补全助手

License


功能特性

  • 内联补全(Inline Completion),输入时自动触发
  • FIM(prefix/suffix)提示模板,适配 Qwen 与 Codestral
  • 结合剪贴板与 import 定义片段的轻量上下文
  • Activity Bar 侧边栏配置面板,支持快捷修改 API Key 与参数
  • Output Channel 记录请求、响应与调试信息

愿景

这个项目的初衷是:在生态逐步偏向 Codex 和 Claude Code 之后,像 Cursor 一样的轻量代码补全变少了;而市面上的大模型补全插件往往很重、响应也慢。因此希望做一个更轻、更快的内联补全体验。后续如果有好用的 Next Edit 模型,也会集成进来。

安装与运行

本地开发

  1. 安装依赖:npm install
  2. 编译扩展:npm run compile
  3. 在 VS Code 中按 F5 启动 Extension Development Host

安装打包产物

仓库内提供 ttab-completion-0.0.1.vsix,可在 VS Code 中通过 “Extensions: Install from VSIX...” 安装。

使用方式

  1. 打开 Activity Bar 中的 TTAB 视图
  2. 选择模型(qwen3-coder-flashcodestral-latest
  3. 填写对应的 API Key
  4. 开始输入代码即可看到灰字补全

也可以通过 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: 编译 TypeScript
  • npm 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

License

Apache-2.0