Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>AI Inline AutocompleteNew to Visual Studio Code? Get it now.
AI Inline Autocomplete

AI Inline Autocomplete

Lyx.

|
3 installs
| (0) | Free
VS Code inline AI autocomplete extension with custom model endpoints.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AI Inline Autocomplete

一个专门做 VS Code 内联补全的扩展骨架,目标是让你可以直接接自己的模型服务,而不是被某一家固定厂商绑死。

当前版本已经包含:

  • VS Code InlineCompletionItemProvider
  • 更像 Copilot 的主动触发体验
  • 状态栏状态提示和一键开关
  • 可视化配置 GUI
  • Accept Next Word / Accept Next Line 命令
  • 流式补全
  • 多候选排序
  • 基于接受行为的本地排序学习
  • 工作区信任与主机审批保护
  • 最近建议续写复用,减少闪烁
  • 旧请求取消、请求去重、短时缓存
  • 更丰富的上下文采样
  • 当前文件头部 / imports
  • 光标附近代码窗口
  • 当前选择内容
  • 其他已打开编辑器的可见代码
  • 自定义模型接入
  • 支持三种接口风格
  • OpenAI-compatible /chat/completions
  • OpenAI /responses
  • Ollama /api/generate
  • 自定义请求头、自定义附加请求体
  • API Key 明文配置 or VS Code Secret Storage
  • 测试连接命令

目录结构

.
├─ .vscode/launch.json
├─ package.json
├─ README.md
└─ src
   ├─ completion-context.js
   ├─ config.js
   ├─ extension.js
   ├─ prompt.js
   ├─ provider.js
   └─ settings-panel.js

怎么运行

  1. 用 VS Code 打开这个仓库目录。
  2. 运行 npm install 安装依赖。
  3. 运行 npm run build:webview 生成设置面板资源。
  4. 按 F5 启动一个 Extension Development Host。
  5. 运行命令 AI Autocomplete: 打开设置面板 打开可视化配置面板。
  6. 确认 VS Code 设置 editor.inlineSuggest.enabled 为 true。
  7. 在 GUI 里配置 baseUrl、apiStyle、model 和 API Key。
  8. 如果使用 Secret Storage 中的 API 密钥,首次连接新的远程 host 时需要显式批准该 host。
  9. 点击 保存 或 保存并测试。
  10. 在代码文件里输入内容,等待 ghost text 建议出现。
  11. 如果想更像 Copilot 地使用:
  • Tab 接受整段建议
  • 运行 AI Autocomplete: 接受下一个单词
  • 运行 AI Autocomplete: 接受下一行
  1. 如果需要直接编辑 settings.json,可以运行 AI Autocomplete: 打开 JSON 配置,或在设置面板中点击同名按钮。

开发命令

  • npm run build:webview: 打包设置面板的 Webview 资源到 media/
  • npm test: 运行纯 Node 测试,覆盖配置差异写入、补全清洗、最近建议续写和排序学习存储

推荐配置示例

1. Ollama 本地模型

{
  "aiAutocomplete.apiStyle": "ollama-generate",
  "aiAutocomplete.baseUrl": "http://localhost:11434",
  "aiAutocomplete.model": "qwen2.5-coder:7b"
}

2. OpenAI-compatible 网关

{
  "aiAutocomplete.apiStyle": "openai-chat",
  "aiAutocomplete.baseUrl": "http://127.0.0.1:8000/v1",
  "aiAutocomplete.model": "deepseek-coder",
  "aiAutocomplete.apiKey": "your-key"
}

3. OpenAI Responses API

{
  "aiAutocomplete.apiStyle": "openai-responses",
  "aiAutocomplete.baseUrl": "https://api.openai.com/v1",
  "aiAutocomplete.model": "gpt-4.1-mini"
}

可调参数

  • aiAutocomplete.autoTrigger: 主动在输入后触发建议
  • aiAutocomplete.autoTriggerDelayMs: 主动触发延迟
  • aiAutocomplete.showStatusBar: 显示状态栏
  • aiAutocomplete.requireTrustedWorkspace: 未信任工作区中阻止联网
  • aiAutocomplete.debounceMs: 请求发送前的延迟
  • aiAutocomplete.requestTimeoutMs: 请求超时
  • aiAutocomplete.enableStreaming: 启用流式补全
  • aiAutocomplete.streamingThrottleMs: 流式刷新节流
  • aiAutocomplete.candidateCount: 候选数量
  • aiAutocomplete.candidateStrategy: 候选调度策略,支持 auto | single | parallel
  • aiAutocomplete.enableRanking: 启用本地排序
  • aiAutocomplete.enableRankingLearning: 启用排序学习
  • aiAutocomplete.minPrefixChars: 自动触发所需最小前缀长度
  • aiAutocomplete.maxPrefixChars: 光标前最大上下文
  • aiAutocomplete.maxSuffixChars: 光标后最大上下文
  • aiAutocomplete.maxLines: 建议插入的最大行数
  • aiAutocomplete.cacheTtlMs: 精确结果缓存时间
  • aiAutocomplete.reuseRecentCompletions: 复用最近建议尾部
  • aiAutocomplete.documentHeadChars: 当前文件头部上下文
  • aiAutocomplete.nearbyContextLines: 光标附近行数
  • aiAutocomplete.relatedFiles: 额外采样的打开文件数量
  • aiAutocomplete.relatedFileChars: 每个相关文件采样长度
  • aiAutocomplete.logLevel: 日志输出颗粒度,支持 off | error | warn | info | debug
  • aiAutocomplete.customHeaders: 附加请求头 JSON
  • aiAutocomplete.extraBody: 附加请求体 JSON
  • aiAutocomplete.showDebugLog: 旧兼容项;在未显式设置 logLevel 时等价于 debug

命令

  • AI Autocomplete: 切换启用状态
  • AI Autocomplete: 设置 API 密钥
  • AI Autocomplete: 清空 API 密钥
  • AI Autocomplete: 打开设置面板
  • AI Autocomplete: 打开 JSON 配置
  • AI Autocomplete: 测试连接
  • AI Autocomplete: 触发内联建议
  • AI Autocomplete: 接受下一个单词
  • AI Autocomplete: 接受下一行
  • AI Autocomplete: 显示下一个建议
  • AI Autocomplete: 显示上一个建议
  • AI Autocomplete: 查看输出日志

日志说明

  • 设置面板底部会显示最近日志,便于快速排查。
  • 点击 查看输出日志 会打开 OutputChannel,并写入当前会话快照。
  • 推荐使用 aiAutocomplete.logLevel 控制日志级别;旧的 showDebugLog 仅用于兼容已有配置。
  • 当 aiAutocomplete.logLevel = off 时,扩展日志会完全静默:不写 OutputChannel、不保留最近日志,点击 查看输出日志 只打开空面板。

实现说明

扩展会在你输入时主动触发 inline suggestion,请求会携带:

  • 当前语言、文件路径
  • 光标前后 FIM 上下文
  • 当前文件开头片段
  • 光标附近代码窗口
  • 当前选中内容
  • 其他打开编辑器的可见代码

模型只需要返回“应该插入的文本”,扩展会把返回内容作为 inline suggestion 显示。

为了适配更多自定义模型,当前没有把请求结构写死到单一厂商,而是提供了多种 API 风格和可扩展的请求头 / 请求体字段。

同时为了更接近 Copilot 的手感,当前实现还做了几件事:

  • 输入时主动触发,而不是完全依赖默认刷新时机
  • 新请求会取消旧请求,减少过期建议
  • 相同请求短时间内复用结果
  • 当你继续输入上一个建议的前半段时,会直接复用剩余尾部
  • 对模型返回内容做前缀 / 后缀去重和多行清洗
  • 提供一个 Webview GUI 来可视化配置模型、路径、API Key 和高级参数
  • 主候选支持流式返回并逐步刷新 ghost text
  • 支持一次请求多个候选,并按本地分数排序
  • 会记录展示、部分接受和完整接受行为,用于后续排序学习
  • 在未信任工作区中默认阻止联网,并对使用 Secret Storage 的远程 host 做显式审批
  • 旧的明文 aiAutocomplete.apiKey 仍可读取,但 GUI 保存会迁移到 Secret Storage

安全说明

  • 如果当前工作区未被信任,默认不会发送任何 AI 网络请求。
  • 当 endpoint 指向新的远程 host,且 API 密钥来自 Secret Storage 时,必须先批准该 host。
  • aiAutocomplete.apiKey 仅用于兼容旧配置,不建议继续以明文方式保存。

排序学习说明

  • 完整接受会被记录到本地排序学习数据中。
  • 部分接受只对扩展自带命令 接受下一个单词 / 接受下一行 进行统计。
  • 直接使用 VS Code 原生命令触发的部分接受,在稳定版 API 下不会被统计。

下一步可以继续增强

  • 语言级 Prompt 模板
  • 仅在特定文件 / 项目启用
  • 接入自定义 HTTP 适配器
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft