Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Smart CompletionNew to Visual Studio Code? Get it now.
Smart Completion

Smart Completion

binran

| (0) | Free
AI 代码自动补全,支持 DeepSeek、Kimi、GLM(智谱)、通义千问 等国产大模型
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Smart Completion

AI 代码自动补全 VSCode 插件,支持 DeepSeek、Kimi (Moonshot)、GLM (智谱)、通义千问 (Qwen) 等国产大模型,可随时切换 provider。

GitHub Copilot 式的灰色 ghost text 补全,利用光标前后文(FIM,Fill-in-the-Middle)生成更贴合上下文的代码。

特性

  • 自动补全(输入停顿后防抖触发)+ 手动触发快捷键 Alt+\
  • 支持 FIM(Fill-in-the-Middle):用光标前后的代码填充中间,补全质量更高
  • 四家 provider 一键切换,状态栏显示当前 provider
  • 每家 provider 的 base URL / 模型名均可配置覆盖,方便接入自建或代理端点
  • 自动取消未完成的旧请求,连续输入不串扰
  • 非流式一次返回,稳定可靠

安装与调试

npm install
npm run compile

在 VSCode 中用 F5 启动 Extension Development Host 调试。

如需监听改动自动重建:

npm run watch

配置

在 VSCode 设置中搜索 smart completion。

配置项 说明 默认值
smartCompletion.provider 补全 provider deepseek
smartCompletion.enabled 是否启用 true
smartCompletion.debounceDelay 自动触发防抖延迟 (ms) 300
smartCompletion.maxTokens 单次最大生成 token 256
smartCompletion.temperature 采样温度 0.2
smartCompletion.maxPrefixLines 光标前最大行数 80
smartCompletion.maxSuffixLines 光标后最大行数 40
smartCompletion.extraStopSequences 额外停止序列 []

每家 provider 各有子配置:

  • smartCompletion.deepseek.{apiKey, model, fimModel, baseUrl}
  • smartCompletion.moonshot.{apiKey, model, baseUrl}
  • smartCompletion.glm.{apiKey, model, baseUrl}
  • smartCompletion.qwen.{apiKey, model, fimModel, baseUrl}

至少填入所选 provider 的 apiKey 即可使用。

各 provider 端点说明

Provider 方式 端点 默认模型
DeepSeek 原生 FIM POST {base}/beta/completions deepseek-coder
通义千问 Qwen 原生 FIM POST {base}/completions qwen-coder-plus
GLM 智谱 chat 模拟 FIM POST {base}/chat/completions codegeex-4
Kimi Moonshot chat 模拟 FIM POST {base}/chat/completions moonshot-v1-8k

命令

  • Smart Completion: Toggle Enable/Disable — 开关补全
  • Smart Completion: Trigger Completion — 手动触发(绑定 Alt+\)
  • Smart Completion: Switch Provider — 切换 provider(也可点击状态栏)

日志

输出面板选择 Smart Completion 频道查看请求与错误日志。

架构

src/
├── extension.ts          # 激活、注册 provider、命令、状态栏
├── config.ts             # 配置读取
├── context.ts            # 构建 prefix/suffix
├── completionProvider.ts # InlineCompletionItemProvider:防抖、取消、清洗
├── types.ts              # 类型与 Provider 接口
├── logger.ts             # OutputChannel 日志
├── api/openaiClient.ts   # 统一 HTTP 客户端(chat + FIM)
└── providers/            # deepseek / moonshot / glm / qwen + base

核心抽象:Provider 接口统一 complete(input, opts, signal);openaiClient 同时支持 chat completions 与 FIM completions 两种端点;不支持原生 FIM 的 provider 复用 base.chatFim 做 chat 模拟。

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft