本地模型当 Copilot,VSCode 插件联动实战

本地模型当 Copilot,VSCode 插件联动实战

把 Copilot 装进本地:VSCode 联动实战

以前用云端的代码助手,心里总有点不踏实。尤其是处理公司内部的核心逻辑,或者调试一些涉及敏感配置的脚本时,把代码片段上传到第三方服务器总觉得像是在“裸奔”。最近折腾了一下 AMD Strix Halo 架构的笔记本,发现本地跑大模型的效果已经非常惊艳,索性决定把这套方案落地到日常开发中——用本地模型替代云端 Copilot

这不仅仅是为了省那点订阅费,更重要的是数据主权。所有的代码补全、错误解释、单元测试生成,全部在本地闭环完成,断网也能用,隐私绝对安全。今天就来聊聊怎么把 VSCode 和本地的 Ollama 或 LM Studio 打通,打造一套完全私有的智能编程环境。

为什么选择本地部署?

在动手之前,先简单说说为什么我要折腾这套方案。传统的云端 Copilot 确实强大,响应快、模型大,但有两个硬伤:

  1. 隐私顾虑:代码是程序员的命根子,尤其是未开源的项目,谁愿意让它经过别人的服务器?
  2. 定制化受限:云模型是通用的,它不懂你项目的特定规范,也不了解你们团队内部的“黑话”。

而基于 Strix Halo 架构的本地部署,凭借统一内存架构,让轻薄本也能轻松跑起 14B 甚至 32B 参数的模型。Radeon GPU 的加速让推理速度达到了实用级别(14B 模型能跑到 20+ tokens/s),这意味着你在写代码时几乎感觉不到延迟。更重要的是,你可以随意微调 Prompt,让模型专门学习你的代码风格,这是云端服务很难做到的。

第一步:搭建本地推理服务

要实现 VSCode 联动,首先得让模型在本地“跑起来”。目前最成熟的两个方案是OllamaLM Studio

方案 A:Ollama(命令行极客首选)

Ollama 轻量、稳定,非常适合后台常驻。

  1. 安装与启动:去官网下载 Windows 版安装包,一路默认即可。安装完成后,打开 PowerShell,输入以下命令启动服务:

    ollama serve
  2. 拉取模型:推荐拉取针对代码优化的模型,比如qwen2.5-coderllama3。在终端执行:

    ollama run qwen2.5-coder:14b

    注:Strix Halo 的大内存优势在这里体现得淋漓尽致,14B 模型加载后依然能给系统留出充足空间。

  3. 验证服务:确保终端显示success,且服务监听在http://127.0.0.1:11434

方案 B:LM Studio(图形界面党最爱)

如果你更喜欢可视化的操作,或者需要频繁切换不同参数的模型,LM Studio 是更好的选择。

  1. 下载与配置:安装后搜索Qwen2.5-Coder-14B-Instruct并下载 GGUF 格式模型。
  2. GPU 加速设置:这是关键一步。在右侧栏找到GPU Offload,将滑块直接拉满。Strix Halo 的 Radeon 显卡会被自动识别,确保所有计算层都交给 GPU 处理。
  3. 启动本地服务器:点击顶部导航栏的 "<->" 图标(Local Server),点击Start Server。默认地址通常是http://127.0.0.1:1234/v1
    • Tip:在 Settings 中把 Context Length 拉到 128k,这样在处理长文件时不会丢失上下文。

第二步:VSCode 插件联动配置

服务跑通了,接下来就是重头戏:让 VSCode 连上它。我们需要安装一个支持自定义后端的插件,这里推荐ContinueTwinny(两者都支持 Ollama/LM Studio)。以Continue为例,它的配置灵活度极高。

  1. 安装插件:在 VSCode 扩展商店搜索Continue并安装。
  2. 配置文件修改:安装完成后,点击侧边栏的 Continue 图标,点击右上角的齿轮图标打开config.json
  3. 填入本地地址: 如果你用的是Ollama,配置如下:
    { "models": [ { "title": "Local Qwen Coder", "provider": "ollama", "model": "qwen2.5-coder:14b", "apiBase": "http://127.0.0.1:11434" } ], "tabAutocompleteModel": { "title": "Local Autocomplete", "provider": "ollama", "model": "qwen2.5-coder:14b" } }
    如果你用的是LM Studio,只需改 provider 和 apiBase:
    { "models": [ { "title": "LM Studio Local", "provider": "openai", "model": "qwen2.5-coder", "apiBase": "http://127.0.0.1:1234/v1", "apiKey": "lm-studio" } ] }
    注意:LM Studio 模拟的是 OpenAI 接口,所以 provider 选openai,但地址指向本地。

保存配置后,右下角状态栏显示绿色即表示连接成功。

第三步:实战体验与快捷键

配置好后,你会发现开发体验发生了微妙变化。

  • 代码自动补全:当你敲下函数名的一半,本地模型会瞬间给出后续代码。虽然首字延迟比云端略高(约 0.3 秒),但在 Strix Halo 的加持下,生成速度非常流畅,完全不影响思路。
  • 错误解释与修复:选中一段报错代码,按下Ctrl+L(Continue 默认快捷键),直接在对话框问:“这段代码为什么报空指针异常?”模型会结合上下文给出精准分析,甚至直接给出修复后的代码块。
  • 单元测试生成:选中一个复杂的类,输入“为这个类生成 Jest 单元测试,覆盖边界条件”,几秒钟后,一份结构完整的测试文件就生成了。

常用快捷键建议

  • Ctrl+L:唤起侧边栏对话(解释代码、重构建议)。
  • Ctrl+I:行内编辑(直接让 AI 修改当前选中的代码)。
  • Tab:接受自动补全建议。

本地 vs 云端:到底差在哪?

用了一周下来,对比非常明显。

维度云端 Copilot本地私有 Copilot (Strix Halo)
隐私安全代码需上传,存在合规风险数据不出域,绝对安全
响应速度依赖网络,偶尔超时局域网延迟,离线可用
定制化通用模型,难适应特定规范可换模型,Prompt 随心调
成本按月订阅,费用不菲一次硬件投入,终身免费
上下文通常有限制可利用大内存跑 128k+ 长文本

当然,本地方案也不是完美的。对于 70B 以上的超大模型,本地推理还是会慢一些;而且需要自己维护环境和更新模型。但对于绝大多数日常开发场景,14B-32B 的本地模型已经完全够用,甚至在代码理解的准确度上,因为可以选用专门的 Code 模型,表现并不输给通用大模型。

结语

把 Copilot 搬回本地,不仅仅是一次技术尝试,更是一种开发理念的回归:工具应该服务于人,而不是让人去适应工具的规则

有了 Strix Halo 这样的硬件底座,加上 Ollama 或 LM Studio 的便捷部署,我们终于可以在享受 AI 便利的同时,牢牢握住数据的控制权。下次当你在飞机上、在保密会议室,或者只是单纯不想让代码离开本机时,这套本地智能编程环境就是你最可靠的后盾。动手试试吧,那种“我的代码我做主”的感觉,真的很爽。