
最近把 VS Code 里的 AI Chat 从“偶尔玩一下”用成了“每天的主力工具”说实话感触挺深——这玩意儿早就不是只会聊几句、给你贴段代码的“聊天框”了。不管是内置的 GitHub Copilot Chat还是社区里各种能接本地大模型的插件AI Chat 现在已经能参与到跨文件分析、报错排查、自动化重构、生成测试这类实打实的开发环节里。这篇就来聊聊我实际使用和折腾下来的经验主流插件怎么选、怎么把 Ollama 本地模型接进 VS Code、真实工作流里它能干什么活以及那些文档里不写的坑。1. AI Chat 在 VS Code 里到底能干什么1.1 从“会聊天”到“真干活”AI Chat 的能力全景先纠正一个很多人还停留的印象AI Chat 在 VS Code 里不只是一个“增强版补全”。它现在的主战场在对话框之外的上下文理解。你可以直接在聊天面板里选中一段代码让它解释这段逻辑、指出潜在 bug、重构成更清晰的写法或者给这段函数补几个边界测试。这些操作不是“粘贴到网页再粘回来”而是基于你的工程上下文在做判断这是质的区别。我日常用得最多的几个场景按频率排大概是代码解释。接手老项目或者刚拉下来的开源仓库选中一个函数问它“这个函数在做什么主流程是什么”它能把调用链捋出来比自己满目录翻快很多。报错排查。编译错误、运行时异常、Lint 报错直接把红色波浪线对应的代码和错误信息丢给它它给出的修复建议有相当高的命中率。测试生成。对核心函数右键让它“基于这段代码生成单元测试覆盖正常输入、边界输入和异常输入”生成完我只需要看一眼微调断言比从零写快一倍以上。提交信息生成。用 AI 生成 commit message 看起来有点大材小用但确实能让“忘记规范提交格式”的人少挨批。现在好几个插件都能基于暂存区的 diff 生成符合 Conventional Commits 的信息。跨文件分析。这是真正让我刮目相看的点。你在聊天里问“我想把订单状态改成支持多个状态应该改哪些文件”它配合索引工具会去扫描整个 workspace列出相关文件和大致改动点不再局限于你选中的那几行。还有个容易被忽略的点AI Chat 对“解释性内容”的价值。比如在写 SQL 查询、正则表达式、Shell 命令的时候输入“帮我写一个正则匹配手机号并在第二个和第三个数字后加空格”它会给出表达式还会解释每个部分是什么意思。对于不常写正则的人来说这就是人工 GPT 教程的综合体。1.2 为什么偏偏是 VS Code 把这件事做“顺”了很多 IDE 都有 AI 助手但我个人最终留在 VS Code核心原因是它的“轻量 插件体系 远程开发”组合。VS Code 本身是一个编辑器不做太重的事但它的插件机制几乎覆盖了所有主流语言和框架。C/C 有 clangd 和 C/C ExtensionPython 有 PylanceJava 有 Language Support for Java前端有 Volar / ESLint。AI Chat 插件在这些语言服务之上工作能拿到准确的语法树、符号定义和错误列表所以回答的“上下文质量”比在一个没有准确语言索引的编辑器里高一个量级。再叠加 Remote-SSH 和 Dev Containers连开发环境都可以在远端、在容器里跑。这时候 AI Chat 插件仍然能工作——它分析的是远端代码模型调用也只发生在本地或云端 API整个链路跑通之后本地只是一个前端壳子体验却很完整。这个组合对于那些需要高频切换环境、或者主力开发机性能不强的开发者来说太友好了。一句话总结VS Code 赢在它不是“捆绑 AI”的 IDE而是“所有东西都开放接入”的平台。你可以在里面组合出最适合自己的 AI 工作流而不是被厂商锁死。2. 主流 AI Chat 插件选型我试了好几个说说差别这个领域现在一天一个样我尽量说说我用过、并且觉得靠谱的几类方案然后给个选择的思路。2.1 GitHub Copilot Chat如果你愿意付费这是最省心的选择GitHub Copilot 是 VS Code 官方生态里整合度最高的 AI 方案。它有行内补全也有真正的 Chat 面板。我最常用的是workspace这个符号你输入workspace 这个项目里用户登录态的缓存是怎么管理的它会基于整个 workspace 的代码索引来回答而不是只盯着你打开的那几个文件。这在接手新项目时特别管用。另一个我很喜欢的能力是“内联聊天”。不用切到聊天面板在编辑器里选中代码按快捷键直接呼出对话问完就关上下文就是光标附近的代码。这个交互设计我觉得比单纯聊天面板更符合“沉浸式开发”的习惯。Copilot Chat 的短板也很明显它本身不是一个完全免费的方案适合愿意用付费换取时间成本的人。另外它对网络有强依赖网络不稳定时体验会直线下降。至于有人问“Copilot Chat 和 Claude Code 在 VS Code 里谁好用”我觉得这问题有点伪。Claude Code 和 Copilot Chat 走的是不同路线Claude Code 更像一个自主执行多步骤任务的 Agent而 Copilot Chat 是更传统的“你问它答”两者适合的场景不太一样。真要对比应该拿 Claude Code 和 Cline 去比而不是和补全类助手比。2.2 Claude Code / Minimax Code 这类“Code Agent”能跑任务但需要自己控场现在很火的 Claude Code for VS Code本质是一个“命令行 Agent”的 VS Code 外壳。你给它一个任务比如“把 utils 文件夹里的日期函数统一改成 dayjs 的写法”它会自己遍历相关文件、做修改、运行测试来验证。这个能力上限很高但也需要用户具备相当强的代码审查能力——它改错了你得能看出来并纠正它。类似的还有 MiniMax 的 Minimax Code、Kimi 的 Kimi CLI / 插件、DeepSeek 的 API 服务等。这类工具通常没有官方 VS Code 插件统一标准但大多可以通过「自定义 OpenAI 兼容 API」的方式接入或者使用 Cline / Roo Code 这类通用 Agent 插件来承载模型能力。我用下来最大的感受是这类 Agent 不适合在你不熟悉代码结构时“放手让它干”更合适的姿势是让它做“费时间的体力活”改完你逐行 review。配置上也不复杂。以 Claude Code 为例装好扩展后通常会要求配置 API Key它内部会调用模型并执行 shell 命令。平台支持上Windows、macOS、Linux 都能跑但更推荐在类 Unix 环境下使用原因后面在问题排查里说。2.3 免费与本地优先Continue、Cline、通义灵码如果你不想付费或者出于隐私考虑想让代码不出本机那本地模型方案是你绕不开的路径。这里最值得推荐的是 Continue 开源插件它支持自定义接入 Ollama、LM Studio、OpenAI 兼容 APIUI 手感接近 Copilot Chat而且完全免费。后面整个第 3 部分我都会基于 Continue 来讲接入 Ollama 的实操你可以直接照抄。Cline前身是 Claude Dev也值得关注它和 Continue 的定位不同。Continue 更像“对话式 IDE 伴侣”而 Cline 是真正的自主 Agent它可以读写文件、执行终端命令、调用浏览器每一步都要你确认。这种“人在回路”的设计虽然操作步骤多但安全可控对于真想让 AI 独立跑完一个任务的人来说很有价值。国内团队做的通义灵码TONGYI Lingma也更新得很勤它有插件版也能在 VS Code 里做代码补全和代码库问答免费额度充足适合不想折腾的用户。不过要注意它默认走云端 API和“本地优先”的理念有冲突如果你在意代码上传需要仔细看它的隐私说明。2.4 怎么选不同需求的推荐我根据自己的使用场景给一个不严谨但好用的选择路径你的情况推荐方案愿意付费、追求最省心的体验GitHub Copilot Chat在意隐私 / 想离线 / 折腾党Continue Ollama 本地模型想让 AI 自主完成多步骤任务Cline 或 Claude Code配合 API想要免费且中文体验好通义灵码公司已有统一模型网关任意支持“自定义 OpenAI 兼容 API”的插件没有一个方案是通吃的。Copilot 再省心也有上下文上限本地模型再私密也有精度差距。关键是搞清楚自己当前最在意什么然后先跑起来不满意再换。3. 把 AI Chat 接上本地大模型Ollama 实操记录3.1 为什么要接本地模型我知道有人会说“本地模型效果不如 GPT-4 那类云端模型折腾这个有什么用”。如果你拿 7B 模型和 Claude Sonnet / GPT-4o 直接比那确实差距明显。但在很多场景下本地模型的价值不是“最强”而是“可用”代码隐私要求高。公司的业务代码不可能随便发到第三方 API本地只跑开源模型数据不出机器心理负担和合规风险都低。离线开发环境。出差、地铁、内网隔离有时候就是连不上外网 API。本地模型这时候就是救命稻草。成本可控。API 按 token 计费重度使用时账单很可观。本地模型一次性花个硬件钱往后再薅羊毛都算自己的。延迟稳定。本地模型不受服务商负载影响第一次加载慢点后面每次请求的延迟基本恒定不会出现“高峰期排队”的情况。当然前提是你的机器配置别太差。我的主力开发机是 32GB 内存 一块 8GB 显存的显卡跑 7B / 14B 量级的模型还凑合再大就要吃内存了。这个配置在当下算中不溜但已经足够体验完整的本地 AI Chat 工作流。3.2 Ollama 安装与模型选择Ollama 的安装非常无脑。Windows 用户去官网下载安装包双击一路下一步装完命令行里ollama -v能看见版本号就算成功。macOS 和 Linux 也都有对应的安装脚本。装完之后最关键的一步是拉取模型。我强烈建议从代码专用模型开始推荐两个亲测能用的qwen2.5-coder:7b阿里通义千问出的代码模型支持 32K 上下文。我日常用的主力无论是代码解释、代码补全还是生成测试在 7B 这个量级里表现很均衡中文理解尤其好。deepseek-coder:6.7bDeepSeek 的代码模型数学和逻辑推理稍强适合代码相关的问答。拉取命令很简单ollama pull qwen2.5-coder:7b拉完用ollama list确认。你也可以用ollama run qwen2.5-coder:7b先在命令行里验证一下模型本身能不能正常回答确认没问题再去配置 VS Code。这一步我建议不要跳模型拉取失败、内存不足等问题先在命令行阶段暴露比在插件里查半天的日志要快得多。模型选多少参数量主要看你机器的内存/显存规模。一个比较粗的估算7B 模型的 Q4 量化版本大约需要 5GB6GB 显存/内存14B 模型约 10GB12GB32B 模型就需要 20GB 以上了。如果你的机器是纯 CPU 推理内存决定上限但速度会明显慢这个问题放到第 5 章说。3.3 在 VS Code 里用 Continue 接入 Ollama安装 Continue 很简单在 VS Code 扩展市场搜 “Continue”装好之后它会弹出一个独立的聊天面板图标在左边栏并生成一个~/.continue/config.json或config.yaml配置文件。之所以要在这一步把重点放在配置上是因为 Continue 默认配置的是 Anthropic / OpenAI 等云端模型如果你想用本地 Ollama 的模型必须手动改配置。Continue 支持两种配置方式图形界面配置和配置文件。我推荐直接改配置文件操作逻辑更可控。新版 Continue 使用config.yaml的格式你在配置文件里添加一个 OpenAI 兼容的 provider指向 Ollama 的本地服务地址name: local type: openai apiBase: http://localhost:11434/v1 apiKey: EMPTY models: - name: qwen2.5-coder:7b role: chat default: true如果你用的是老版 Continue也可以使用config.json在models数组里新增{ models: [ { title: Ollama Qwen2.5 Coder, provider: ollama, model: qwen2.5-coder:7b } ] }需要说明的是新版 Continue 其实自带了对 Ollama 的原生支持你甚至可以直接在模型列表下拉框里选OLLAMA开头的模型不一定非要手写配置。但我上面手写配置的方式更通用找问题的时候也更直观。加好之后回到聊天面板把模型的 provider 切换成你刚配置的名字就可以直接对话了。Ollama 默认监听的端口是11434它的接口是兼容 OpenAI 的/v1/chat/completions格式所以 Continue 这类支持 OpenAI 兼容接口的工具都能直接识别。这个设计很聪明等于所有能接 OpenAI 的插件都能用同一套逻辑接上 Ollama。配置好之后我建议第一句话先问一个简单的、跟当前文件相关的测试性问题比如“这个文件的核心函数是什么”确认从模型返回结果正常。如果卡半天没反应八成是端口没起来或者模型名不对开终端跑一下ollama serve看看有没有报错。3.4 本地模型的实际表现与短板接好之后最关心的问题到底好不好用我的真实感受是7B 模型日常“解释代码、生成简单工具函数、改样式”完全够用但一旦涉及复杂业务逻辑或者需要很强推理能力的设计题明显不如云端大模型经常给你一种“说得头头是道但代码跑不通”的感觉。具体来说代码解释7B 模型可以做到“大致正确”能把主流程讲明白但偶尔会漏掉边界情况你需要有甄别能力。生成模板代码效率极高。比如生成一个 Vue 组件的骨架、Mock 接口返回、资源配置文件都是它的舒适区。复杂重构效果一般。它一次能处理的代码量有限超过上下文窗口就必须简化问题否则答非所问。速度如果只是 CPU 推理7B 模型生成速度大概在每秒 515 个 token一段 300 字的解释要等十来秒体感比云端 API 明显慢。如果 GPU 能加速会流畅很多。上下文虽然标称 32K 上下文但实际用起来超过 8K 就开始“说话没边”这也不只是本地模型的问题云端模型也有类似情况。所以我的定位是本地模型用于“轻量且私密”的日常任务平时聊天和补全主力它来碰到真正难啃的架构问题还是切回云端模型跑。两条路都通根据情况切换反正 VS Code 的插件支持多 provider 并存。4. 真实工作流我把 AI Chat 用在了这些环节里4.1 跨文件重构与“改这块会不会影响那边”这是我认为 AI Chat 目前最被低估的能力。有一次我把一个老项目的订单状态从单个字段改成“状态 子状态”的结构。放在以前我得全局搜orderStatus的引用一个个打开文件分析修改位置。现在做法是在 Chat 里选中有状态定义的文件输入workspace 我要把订单状态重构为状态加子状态的结构请列出所有需要修改的文件和每个文件的修改点。它会从项目索引里找出所有引用并按依赖关系给出修改清单。我先不直接让它改代码而是让它“先给出修改方案我确认后再逐文件修改”。这个“方案先行、修改随后”的节奏非常重要。AI 一次性把所有文件改完的场景目前还是有风险但通过对话把“改哪些地方”这个最耗时的问题解决掉剩下的体力活我们自己动手效率和安全性反而最高。再用副驾驶的心态去理解它它不替你开车但它帮你扫清了路障、标出了地图方向盘还握在你自己手里。4.2 报错与调试不再是搜索引擎转译器以前遇到报错常规操作是把错误信息贴到搜索引擎然后在一堆“踩坑帖”里找答案。现在 VS Code 里 AI Chat 直接能吃下你当前的代码文件 终端输出的错误信息然后给出针对性建议。我最常用的是这个流程运行测试或启动项目把终端里的完整报错信息复制。打开 Chat粘贴错误并指向相关代码文件问它“这个错误最可能的原因是什么结合代码文件分析”。它通常会给修复代码并且解释为什么这样改。这里有个关键技巧如果你只贴错误信息而不给上下文文件AI 就只能靠猜。但你把它能看到的代码文件用上下文符号引入之后回答的命中率会明显上升。Copilot Chat 里是workspace/#file:xxxContinue 里是file/folder本质都是把“源码上下文”注入到提示词里。至于 Agent 类插件Cline 这类你甚至可以让它自己跑npm test看结果并迭代修复。我实测过一个小工具的 bug 排查它跑了三轮测试、改了三轮代码还真给修好了。不过每次让它跑命令前我都要看一眼命令内容避免它执行什么危险操作。4.3 和 clangd / C / Java / Vue 等场景配合很多人问我“AI Chat 是不是只适合 Python / TypeScript 这些热门语言”实际并不是。我在一个嵌入式 C 项目里也试过主要用 clangd 插件提供语言服务AI Chat 则用来解释代码和生成测试桩。有趣的是本地模型对 C 的理解其实不差因为训练语料里开源 C 代码非常多。以 VS Code 配置 C/C 环境为例很多人会装了 C/C Extension 后还要装 clangd然后抱怨两个插件功能冲突。我这里建议如果你主要靠 AI Chat 辅助编程那语言服务插件的选择也很关键。clangd 补全准确、索引快配合 Chat 分析引用关系更清晰但它的默认行为跟微软官方 C/C 扩展在某些场景下有冲突最好只保留一个作为主力。另外对于 K210、STM32 这类嵌入式开发VS Code clangd AI Chat 的组合完全能胜任AI 主要用来快速理解寄存器配置和驱动代码避免手动一遍遍翻手册。Java 场景我用得不多但体验下来只要正确安装了 Java 扩展AI Chat 也能识别类路径、方法签名和 Maven 依赖。Vue 项目里它读懂.vue单文件组件的速度比我预想中快比如让我改一个组件的 props 时它能一并提醒需要同步修改父组件。4.4 几个效率细节快捷键、tab 失效、命令面板工欲善其事必先利其器。AI Chat 用多了之后有几个交互细节直接影响体验新版 VS Code 中打开 Chat 面板的快捷键是CtrlShiftI行内对话是CtrlAltI。不同插件可能覆盖了相同的快捷键如果你发现按了没反应去 Keyboard Shortcuts 里搜对应的命令 ID像是workbench.action.chat.open手动改绑即可。有人反馈“Tab 键无法切换命令”的问题。这通常不是 AI Chat 插件的锅而是某个扩展把 Tab 键给占用了。我的排查方法是在命令面板CtrlShiftP里搜 “keyboard shortcuts”打开快捷键编辑器后搜索tab看看有没有扩展绑定了tab键在非编辑器环境下的行为有就解绑。如果你只是想快速找到某个命令CtrlShiftP是比 Tab 更稳定可靠的方式。Continue 插件左侧栏就有聊天图标我习惯把它固定在次要侧边栏secondary sidebar这样既能看代码又不会遮挡主编辑区。这些小细节单个看都不起眼但一旦习惯效率提升是立竿见影的。5. 常见问题与避坑速查表这部分是“付费内容”了。我在贬折腾 AI Chat、本地模型、VS Code 远程开发时踩过不少坑整理成速查表你遇到类似问题时直接对号入座。5.1 安装插件报错 EPREM: operation not permittedWindows 上安装 VS Code 插件时偶尔会冒出Error: EPERM: operation not permitted, unlink...之类的错误。最直接的原因通常是 VS Code 的安装目录或%USERPROFILE%\.vscode\extensions目录没有写权限或者被杀毒软件/安全策略拦截。解决办法优先尝试这三步以管理员身份运行 VS Code再执行一次插件安装。检查杀毒软件或系统防护是否拦截了 VS Code 的扩展目录将.vscode目录加入信任区。手动删除 extensions 目录下安装失败残留的插件文件夹重新安装。如果还不行建议把 VS Code 从“Program Files”这类高权限目录里移出来装到用户目录能减少大量权限类问题。5.2 远程开发时 VS Code Server 下载失败 / failed to fetchRemote-SSH 连上远端后VS Code 会在远端自动下载 vscode-server。这一步在受限网络上经常失败表现是连接正常但左下角一直显示“正在下载 VS Code 服务器”等半天也没反应。网上常见的“failed to fetch”提示我猜你已经很熟了。这里我建议的排查顺序是确认远端能否正常访问外网。如果能先手动在远端执行curl -I https://update.code.visualstudio.com看是否返回正常。如果远端网络受限可以手动下载对应的 vscode-server 包解压后放到~/.vscode-server/bin/commit-id/目录再重连。具体步骤是查看本地~/.vscode-server/binWindows 则在远程家目录找到 commit id然后在能联网的机器下载对应 commit 的 vscode-server-linux-x64.tar.gz传到远端对应位置解压。如果公司网络要求走代理可以在 VS Code 的 settings.json 里配置http.proxy: http://your-proxy-address:port, http.proxyStrictSSL: false注意http.proxyStrictSSL只建议在内部测试时临时关闭生产环境不建议关。手动放服务器包这事挺土味但在受限环境里反而是最稳定的解法。配好一次之后后续连接就顺了。5.3 本地模型太慢、显存溢出本地推理最常听到的两句话“太慢了”和“爆显存了”。先说慢。CPU 推理 7B 模型速度大概在每秒 5~15 token体感就是“一个字一个字往外蹦”。如果想流畅一点优先保证 GPU 推理。Ollama 默认会自动检测并优先使用 GPU如果你发现没用上 GPU检查一下是否安装了最新的显卡驱动以及 Ollama 日志里是否明确提示no GPU。再说显存。7B Q4 量化模型大约需要 5GB~6GB 显存14B 需要 10GB 以上如果你的显卡只有 8GB建议老实用 7B。显存不够时 Ollama 会把部分层卸载到 CPU速度会变慢但不至于崩溃所以核心思路是“选一个能全部塞进显存的模型”而不是硬上大模型。如果机器配置一般又想跑大一点的模型还有一个方案是“减少上下文长度”。很多本地模型默认上下文配置很保守但 Continue 插件端可以设置请求时的maxTokens控制在 4096 以内能明显降低延迟。5.4 上下文丢失与“一本正经胡说”本地模型更容易出现“聊着聊着忘了前面说过什么”的情况。这个锅大部分要算在上下文窗口和管理策略头上但也跟插件如何拼接 system prompt 有关。我的三点实践建议单次对话的问题不要夹杂太多子问题尽量把大问题拆小避免触发上下文截断。如果发现模型回答文不对题先确认当前选中的上下文文件是否“比想象中多”。有些插件会把 workspace 的所有文件内容塞进去单个文件太大时会挤占上下文空间。对 AI 给出的代码要保留“它是错的”这一默认预设。任何一个 AI 辅助开发的人都要具备比 AI 更强的代码审查能力。这句话值得重复三遍。这里没有精确度量上下文用的表格因为不同插件、不同模型的上下文策略差异很大你只要记住聊得越长准确率越低问题描述得越细答案越靠谱。5.5 AI 生成代码的安全边界这是我个人认为最容易被忽视的问题。AI Chat 生成代码本身没错但你要把“生成”变成“纳入生产”中间必须过一道“安全关”。比如模型生成的 SQL 可能带注入风险生成的正则可能有 ReDoS 问题。模型在处理路径拼接、命令执行、文件权限时经常想当然可能生成有漏洞的代码。涉及密钥、Token、内部地址的代码绝不能因为“AI 生成了”就盲目复制要仔细检查是否出现硬编码。再比如让你写一条安装命令你以为它在给你装包结果可能在执行一些你不了解的操作。这也是为什么 Cline 这类 Agent 工具要求每一步命令都让你确认——因为模型在终端里的“自主性”和“危险性”是一体两面。场景建议生成代码模板 / 封装函数直接使用但要 review生成 SQL 查询 / 正则必须检查输入校验和边界执行 Shell 命令Agent 类工具不要盲目批准逐条确认处理涉密信息 / 私钥不要让模型接触或脱敏后再传入安全不是 AI 工具的“附加功能”而是使用者必须刻在脑门上的一条线。最后再分享一个我个人的体会AI Chat 工具的迭代速度远超我两年前的预期但工具越强越考验人的判断力。本地模型也好、云端模型也罢都只是“副驾驶”方向盘始终在自己手里。如果你现在还没开始用建议就从今天给 VS Code 配一个本地模型、跑通第一条对话开始。哪怕只是让它解释一段历史代码你也会发现这扇门打开之后就再也关不上了。