Continue.dev 是一款开源的 AI 编程助手,支持 VS Code 和 JetBrains IDE,可连接任意 LLM 提供商,让你的代码编写、调试和重构变得前所未有的高效。
什么是 Continue.dev?
Continue.dev 是一个开源的 AI 代码助手扩展,与 GitHub Copilot 等闭源工具不同,它最大的优势在于完全开源和模型无关。你可以自由选择使用 OpenAI、Anthropic、Ollama 本地模型,甚至是自建的 LLM 服务。
核心特性
- 开源透明:所有代码开源,无黑箱操作,隐私有保障
- 多模型支持:支持 50+ LLM 提供商,包括云端和本地模型
- IDE 集成:完美支持 VS Code 和 JetBrains 全家桶(IntelliJ IDEA、PyCharm、WebStorm 等)
- 上下文感知:智能读取项目文件、代码库结构,提供精准的代码建议
- 对话式编程:侧边栏聊天界面,支持多轮对话和代码迭代
- 自定义指令:可配置系统提示词,让 AI 理解你的编码风格
- 完全免费:基础功能完全免费,只需支付所选 LLM 的 API 费用
安装与配置
第一步:安装扩展
VS Code 用户:
- 打开 VS Code,进入扩展市场(Ctrl+Shift+X)
- 搜索 “Continue”
- 点击安装,或访问 扩展市场页面
JetBrains 用户:
- 打开 IDE,进入 Settings → Plugins
- 搜索 “Continue”
- 安装后重启 IDE
第二步:配置 LLM 提供商
安装完成后,Continue 会自动创建配置文件 config.json。你可以通过以下方式打开配置:
- VS Code:按 Ctrl+Shift+P,输入 “Continue: Open Config”
- JetBrains:按 Ctrl+Shift+A,输入 “Continue: Open Config”
配置示例:使用 Ollama 本地模型
{
"models": [
{
"title": "Ollama",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://localhost:11434"
}
],
"tabAutocompleteModel": {
"title": "Ollama",
"provider": "ollama",
"model": "qwen2.5-coder:7b",
"apiBase": "http://localhost:11434"
}
}
配置示例:使用 Claude
{
"models": [
{
"title": "Claude 3.5 Sonnet",
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022",
"apiKey": "YOUR_API_KEY"
}
]
}
配置示例:使用 OpenAI
{
"models": [
{
"title": "GPT-4o",
"provider": "openai",
"model": "gpt-4o",
"apiKey": "YOUR_API_KEY"
}
]
}
第三步:验证配置
配置完成后,在 IDE 中按 Ctrl+L(或 Cmd+L)打开 Continue 侧边栏,输入一条测试消息如 “你好”,确认 AI 能够正常响应。
实际使用场景
场景一:快速理解陌生代码库
当你接手一个新项目时,Continue 可以帮你快速理解代码结构:
- 选中一段复杂代码
- 按 Ctrl+L 打开侧边栏
- 输入:“解释这段代码的作用,并指出潜在问题”
- AI 会详细解释代码逻辑,并给出改进建议
示例对话:
你:解释这个函数的作用,并指出潜在问题 @Continue:这个函数实现了用户认证逻辑,主要步骤包括: 1. 验证 JWT token 的有效性 2. 从 token 中提取用户 ID 3. 查询数据库获取用户信息 潜在问题: - 缺少 token 过期时间的检查 - 数据库查询没有使用参数化,存在 SQL 注入风险 - 建议添加缓存层减少数据库压力
场景二:代码重构和优化
Continue 可以帮你重构代码,提升可读性和性能:
- 选中需要重构的代码块
- 输入:“重构这段代码,使其更符合 Python 最佳实践”
- AI 会提供重构后的代码,并解释改进点
场景三:生成单元测试
单元测试是保证代码质量的关键,Continue 可以快速生成测试用例:
- 选中目标函数
- 输入:“为这个函数生成完整的单元测试,覆盖边界情况”
- AI 会生成 pytest 或 unittest 格式的测试代码
示例:
# 原函数
def calculate_discount(price, user_type):
if user_type == "vip":
return price * 0.8
elif user_type == "member":
return price * 0.9
else:
return price
# Continue 生成的测试
import pytest
def test_calculate_discount_vip():
assert calculate_discount(100, "vip") == 80
def test_calculate_discount_member():
assert calculate_discount(100, "member") == 90
def test_calculate_discount_regular():
assert calculate_discount(100, "regular") == 100
def test_calculate_discount_edge_cases():
assert calculate_discount(0, "vip") == 0
assert calculate_discount(-100, "vip") == -80 # 注意:负数价格的处理
场景四:调试和错误修复
遇到报错时,Continue 可以帮你快速定位问题:
- 复制错误信息到侧边栏
- 输入:“这个错误是什么原因?如何修复?”
- AI 会分析错误原因并提供修复方案
场景五:学习新技术
想学习新框架或库?Continue 是你的私人导师:
你:我想学习 FastAPI,请给我一个入门教程,包含路由、依赖注入和数据库集成 @Continue:好的,这是一个 FastAPI 入门教程... 1. 安装:pip install fastapi uvicorn 2. 创建第一个应用... 3. 路由定义... 4. 依赖注入... 5. 数据库集成(使用 SQLAlchemy)...
高级技巧和最佳实践
技巧一:使用 @ 符号引用文件
Continue 支持引用项目中的文件作为上下文:
@filename.py– 引用特定文件@folder/– 引用整个文件夹@codebase– 引用整个代码库
示例:
@utils.py @models.py 请帮我重构这两个文件的导入语句,消除循环依赖
技巧二:配置自定义指令
在 config.json 中添加 systemPrompt,让 AI 理解你的编码规范:
{
"systemPrompt": "你是一位资深的 Python 开发者。请遵循以下规范:\n- 使用 type hints\n- 遵循 PEP 8 风格指南\n- 优先使用函数式编程\n- 所有公共函数必须有 docstring"
}
技巧三:使用模板快速生成代码
Continue 支持代码模板(Slash Commands),可以快速生成常见代码结构:
/edit– 编辑选中的代码/comment– 为代码添加注释/test– 生成测试代码/fix– 修复代码问题
在侧边栏输入 / 即可看到所有可用命令。
技巧四:多模型切换
不同任务适合不同模型:
- 代码生成:使用 Claude 3.5 Sonnet 或 GPT-4o
- 代码审查:使用 Claude(擅长分析)
- 快速补全:使用本地 Ollama 模型(延迟低)
- 复杂推理:使用 o1 或 Claude Opus
在侧边栏顶部可以快速切换模型。
技巧五:隐私保护
处理敏感代码时:
- 使用本地模型(Ollama、LM Studio)
- 配置私有部署的 LLM 服务
- 避免在对话中粘贴敏感信息(API 密钥、数据库密码等)
常见问题解答
Q1: Continue 和 GitHub Copilot 有什么区别?
A: 主要区别在于:
| 特性 | Continue | GitHub Copilot |
|---|---|---|
| 开源 | ✅ 完全开源 | ❌ 闭源 |
| 模型选择 | ✅ 任意 LLM | ❌ 仅 OpenAI |
| 价格 | ✅ 免费(仅付 LLM 费用) | ❌ $10/月 |
| 隐私 | ✅ 可本地部署 | ❌ 代码上传云端 |
| IDE 支持 | ✅ VS Code + JetBrains | ✅ VS Code + JetBrains |
Q2: 本地模型效果如何?
A: 取决于模型大小:
- 7B 模型:适合简单补全和基础问答
- 14B-32B 模型:可以处理大多数编程任务
- 70B+ 模型:接近云端模型水平,但需要较强硬件
推荐配置:16GB+ 内存,RTX 3060+ 显卡,使用 Q4_K_M 量化模型。
Q3: 如何配置多个模型?
A: 在 config.json 的 models 数组中添加多个模型配置:
{
"models": [
{
"title": "Claude 3.5",
"provider": "anthropic",
"model": "claude-3-5-sonnet-20241022"
},
{
"title": "GPT-4o",
"provider": "openai",
"model": "gpt-4o"
},
{
"title": "Ollama Local",
"provider": "ollama",
"model": "qwen2.5-coder:7b"
}
]
}
Q4: Continue 会保存我的代码吗?
A: Continue 本身不保存代码,但取决于你使用的 LLM 提供商:
- 本地模型:代码完全本地处理
- 云端模型:代码会发送到 API 提供商,遵循其隐私政策
- 建议:敏感项目使用本地模型或私有部署
Q5: 如何更新 Continue?
A: 通过 IDE 的扩展市场更新:
- VS Code:扩展市场 → 搜索 Continue → 点击更新
- JetBrains:Settings → Plugins → 更新
总结
Continue.dev 是一款强大的开源 AI 编程助手,它的核心价值在于:
- 开放性:开源代码,透明可信
- 灵活性:支持任意 LLM,不被绑定
- 实用性:深度集成 IDE,提升开发效率
- 隐私性:支持本地模型,保护代码安全
无论你是独立开发者还是团队成员,Continue 都能显著提升你的编码效率。立即安装体验,让你的开发工作流焕然一新!
相关资源:
