想在 VS Code 中获得代码补全能力,又不希望项目源码频繁发送到云端,可以尝试使用 Ollama 配合 Continue 插件。Ollama 负责在本机运行大语言模型,Continue 则将模型接入编辑器,提供行内补全、代码问答、编辑建议和上下文引用等功能。下面从安装、模型配置、上下文使用到故障排查,整理一套可直接实践的本地开发方案。💻
一、准备 Ollama 与 Continue
首先安装 Ollama。Windows、macOS 和 Linux 的安装方式有所不同,建议直接参考 来源链接 官方下载页面。安装完成后,在终端执行以下命令检查版本:
ollama --version
如果服务没有自动启动,可以执行:
ollama serve
Ollama 默认在本机的 11434 端口提供接口。访问服务或执行模型列表命令无报错,通常说明运行正常:
ollama list
接下来打开 VS Code 扩展市场,搜索并安装 Continue。安装后,编辑器侧边栏会出现 Continue 入口。首次配置时,建议使用当前推荐的 YAML 格式,而不是照搬旧教程中的 config.json。具体格式可参考 Continue 的 Ollama 接入指南。🔧
二、下载适合代码补全的模型
补全场景更看重响应速度,而不是模型规模。Continue 官方文档将 Qwen2.5-Coder 系列列为本地补全选择之一。初次体验可以下载体积较小的版本:
ollama pull qwen2.5-coder:1.5b
下载完成后,再执行 ollama list 检查名称和标签。配置文件中的 model 值必须与本地模型标签一致,例如 qwen2.5-coder:1.5b,否则可能出现“model not found”错误。
如果需要更强的代码解释、重构和测试生成能力,可以额外准备较大的代码模型,并将“补全”和“聊天编辑”分配给不同模型。这样能避免大型模型拖慢每次按键后的行内建议。⚡
三、配置 Continue 本地代码补全
在 Continue 面板中打开本地配置文件,将补全模型加入 models,并为它声明 autocomplete 角色。一个精简配置如下:
name: Local Coding
version: 0.0.1
schema: v1
models:
- name: Qwen Local Autocomplete
provider: ollama
model: qwen2.5-coder:1.5b
roles:
- autocomplete
保存配置后,回到 Continue 面板选择该模型,并确认 Enable Tab Autocomplete 已开启。开始输入代码时,编辑器会显示灰色行内建议;按 Tab 接受,按 Esc 忽略。
如果 Ollama 部署在局域网中的另一台机器,可在模型项中增加 apiBase,指向对应主机的 Ollama 地址。此时还应检查防火墙、端口监听范围和局域网访问权限,不要未经鉴权将服务直接暴露到公网。
四、设置聊天、编辑与上下文能力
行内补全只解决“接下来写什么”,实际开发还经常需要解释函数、修改文件或结合项目结构回答问题。可在同一个配置中增加聊天模型,并声明相应角色:
- name: Local Code Assistant
provider: ollama
model: qwen2.5-coder:7b
roles:
- chat
- edit
- apply
这里的模型名称仅为示例,使用前必须先通过 Ollama 下载对应标签,并根据本机内存和显存情况选择规模。聊天模型不必追求瞬时返回,因此可以比补全模型更大;配置较低的设备则应优先保证编辑器流畅。
合理添加上下文
使用 Continue 提问时,可以引用当前文件、选中的代码以及项目中的相关文件,让模型明确任务边界。例如,先选中一个函数,再要求“解释异常处理逻辑并补充单元测试”,通常比直接询问“帮我优化项目”更准确。
- 当前文件:适合解释局部实现、生成注释和修复单文件问题。
- 选中代码:适合重构函数、定位错误和补充类型声明。
- 指定文件:适合同时参考接口定义、调用方与测试文件。
- 代码库上下文:适合跨文件检索,但应控制范围,避免无关内容挤占上下文。
所谓“上下文越多越好”并不准确。大量无关文件会增加处理时间,也可能分散模型注意力。更实用的做法是先描述目标,再添加真正相关的接口、类型、配置和错误日志。📚
五、补全效果与性能优化
- 优先使用代码专用模型:通用聊天模型未必适合低延迟的代码填空任务。
- 补全模型保持轻量:如果建议出现过慢,可降低模型规模,而不是一味延长等待时间。
- 关闭冲突的补全扩展:多个扩展同时提供行内建议时,可能出现覆盖、闪烁或快捷键冲突。
- 限制不需要补全的文件:可在 Continue 设置中使用 glob 模式排除日志、纯文本或生成目录。
- 按需开启多行补全:多行建议更完整,但推理开销也可能更高,可在 always、never 和 auto 之间测试。
更多补全选项与排查步骤,可查看 Continue 自动补全文档。对于支持思考模式开关的模型,补全时通常应关闭额外思考过程,以减少不必要的延迟。
六、常见问题排查
如果完全没有补全提示,先确认 Ollama 服务正在运行,并使用 ollama list 核对模型标签;随后检查 Continue 是否启用了 Tab Autocomplete,以及 VS Code 的 editor.inlineSuggest.enabled 是否为 true。
若出现 404 错误,通常是模型尚未下载,或者配置名称与本地标签不一致。若连接被拒绝,应检查 11434 端口、apiBase 地址和服务启动状态。补全速度较慢时,可先关闭其他占用显存的程序,再切换到更小的模型进行对比。
总结
Ollama 与 Continue 的组合,可以在 VS Code 中建立一套以本地推理为核心的代码辅助环境。实践时建议采用“轻量模型负责自动补全、较强模型负责聊天与编辑”的分工,并通过精准引用当前文件、选中代码和相关模块来控制上下文。完成基础配置后,再根据设备性能调整模型规模、多行补全和文件排除规则,通常能在响应速度、代码质量与本地可控性之间取得更合适的平衡。✅