Continue — 开源 AI 代码助手¶
一句话说明: Continue 是一款开源的 VS Code / JetBrains AI 代码补全与对话插件,支持接入任意 LLM(本地或云端),完全可定制。
为什么要学¶
- 面试加分 — 展示你对 AI 辅助编程工具链的深入理解,而非仅停留在"用过 Copilot"
- 实用性 — 免费开源,支持本地模型(Ollama/LM Studio)+ 云端 API,隐私友好
- 可定制 — 自定义 slash 命令、context provider、prompt 模板,适配团队工作流
- 多模型 — 对话用强模型、补全用快模型,灵活组合
核心概念详解¶
Tab Autocomplete(代码补全)¶
白话: 你打字时,Continue 用一个快速模型预测你接下来要写什么,按 Tab 接受。类似 Copilot 但模型可换。
| 对比项 | GitHub Copilot | Continue |
|---|---|---|
| 开源 | 否 | 是 (Apache 2.0) |
| 模型选择 | 仅 OpenAI | 任意模型 |
| 本地运行 | 不支持 | 支持 (Ollama) |
| 价格 | $10-19/月 | 免费(模型费用另计) |
| 定制性 | 低 | 高 |
Chat(对话)¶
白话: 在编辑器侧边栏和 AI 对话,可以选中代码问问题、让它重构、写测试——上下文自动附带。
Context Providers(上下文提供器)¶
白话: 告诉 AI "除了当前文件,还要看哪些信息"。比如 @codebase 搜索整个项目、@docs 查文档、@terminal 看终端输出。
Slash Commands(斜杠命令)¶
白话: 快捷指令。输入 /edit 让 AI 直接修改代码,/test 生成测试,/commit 写 commit message。
安装与配置¶
# VS Code 中安装
# 1. 打开 Extensions (Ctrl+Shift+X)
# 2. 搜索 "Continue" 并安装
# 或命令行:
code --install-extension Continue.continue
配置文件 ~/.continue/config.json¶
{
"models": [
{
"title": "Claude Sonnet",
"provider": "anthropic",
"model": "claude-sonnet-4-20250514",
"apiKey": "sk-ant-xxxx"
},
{
"title": "本地 Ollama",
"provider": "ollama",
"model": "deepseek-coder-v2:16b"
}
],
"tabAutocompleteModel": {
"title": "Autocomplete",
"provider": "ollama",
"model": "starcoder2:3b"
},
"allowAnonymousTelemetry": false
}
使用本地模型(Ollama)¶
# 先安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
# 拉取补全模型
ollama pull starcoder2:3b
# 拉取对话模型
ollama pull deepseek-coder-v2:16b
快速上手¶
5 分钟入门¶
- 安装插件 → 重启 VS Code
- 打开侧边栏 → 点击 Continue 图标(或
Ctrl+L) - 选模型 → 首次使用会引导配置
- 开始对话 → 选中代码,
Ctrl+L提问
代码补全体验¶
进阶用法¶
1. 自定义 Context Provider¶
// ~/.continue/config.json
{
"contextProviders": [
{
"name": "codebase",
"params": {
"nRetrieve": 25,
"nFinal": 5
}
},
{
"name": "docs",
"params": {
"sites": [
{"title": "FastAPI", "startUrl": "https://fastapi.tiangolo.com/"}
]
}
},
{
"name": "terminal"
}
]
}
使用方式:在对话中输入 @codebase 这个项目的认证逻辑在哪里?
2. 自定义 Slash Command¶
{
"customCommands": [
{
"name": "review",
"description": "代码审查",
"prompt": "请审查以下代码,指出:\n1. 潜在 bug\n2. 性能问题\n3. 安全隐患\n4. 改进建议\n\n{{{ input }}}"
},
{
"name": "docstring",
"description": "生成文档字符串",
"prompt": "为以下代码生成详细的 docstring(Google 风格):\n\n{{{ input }}}"
}
]
}
3. 多模型策略¶
{
"models": [
{
"title": "Claude (复杂问题)",
"provider": "anthropic",
"model": "claude-sonnet-4-20250514",
"apiKey": "ENV:ANTHROPIC_API_KEY"
},
{
"title": "GPT-4o (日常对话)",
"provider": "openai",
"model": "gpt-4o",
"apiKey": "ENV:OPENAI_API_KEY"
},
{
"title": "本地模型 (离线/隐私)",
"provider": "ollama",
"model": "llama3.1:8b"
}
],
"tabAutocompleteModel": {
"title": "Fast Complete",
"provider": "ollama",
"model": "qwen2.5-coder:1.5b"
}
}
4. .continuerules 项目级规则¶
在项目根目录创建 .continuerules:
你是一个 Python 后端工程师,遵循以下规范:
- 使用 type hints
- 遵循 PEP 8
- 优先使用 async/await
- 错误处理用自定义异常类
- 测试用 pytest + fixtures
5. 与 OpenRouter 集成¶
{
"models": [
{
"title": "OpenRouter Multi",
"provider": "openai",
"model": "anthropic/claude-sonnet-4-20250514",
"apiBase": "https://openrouter.ai/api/v1",
"apiKey": "sk-or-v1-xxxx"
}
]
}
常见问题与排错¶
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 补全不出现 | Tab 模型未配置或未运行 | 检查 tabAutocompleteModel 和 Ollama 状态 |
| 响应缓慢 | 本地模型太大或 GPU 不够 | 换小模型(1.5B-3B)或用云端 |
| 上下文不够 | 未开启 codebase indexing | 配置 @codebase context provider |
| API 报错 | Key 无效或余额不足 | 检查 key 和账户余额 |
| 中文乱码 | 模型不支持中文 | 换支持中文的模型(Qwen/DeepSeek) |
面试高频考点¶
- Continue 与 Copilot 的核心区别?
开源可审计、模型自由选择、支持本地部署、高度可定制
为什么企业可能选择 Continue?
数据隐私(代码不出内网)、成本可控、可集成内部知识库
Context Provider 的作用?
扩展 AI 可见的上下文范围,提升回答质量(RAG 思路)
如何平衡补全速度和质量?
补全用小快模型(<3B),对话用大强模型,分工明确
AI 代码助手的安全考量?
- 代码泄露风险、生成代码的许可证问题、需要人工审查