跳转至

Continue — 开源 AI 代码助手

一句话说明: Continue 是一款开源的 VS Code / JetBrains AI 代码补全与对话插件,支持接入任意 LLM(本地或云端),完全可定制。


为什么要学

  1. 面试加分 — 展示你对 AI 辅助编程工具链的深入理解,而非仅停留在"用过 Copilot"
  2. 实用性 — 免费开源,支持本地模型(Ollama/LM Studio)+ 云端 API,隐私友好
  3. 可定制 — 自定义 slash 命令、context provider、prompt 模板,适配团队工作流
  4. 多模型 — 对话用强模型、补全用快模型,灵活组合

核心概念详解

Tab Autocomplete(代码补全)

白话: 你打字时,Continue 用一个快速模型预测你接下来要写什么,按 Tab 接受。类似 Copilot 但模型可换。

对比项GitHub CopilotContinue
开源是 (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 分钟入门

  1. 安装插件 → 重启 VS Code
  2. 打开侧边栏 → 点击 Continue 图标(或 Ctrl+L
  3. 选模型 → 首次使用会引导配置
  4. 开始对话 → 选中代码,Ctrl+L 提问
# 在 Chat 中输入:
解释这段代码的作用,并指出潜在 bug

# 使用 slash 命令:
/edit 把这个函数改为 async
/test 为这个类生成 pytest 测试

代码补全体验

# 开始打字,Continue 会自动建议补全
def calculate_fibonacci(n):
    # 按 Tab 接受建议 ↓

进阶用法

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)

面试高频考点

  1. Continue 与 Copilot 的核心区别?
  2. 开源可审计、模型自由选择、支持本地部署、高度可定制

  3. 为什么企业可能选择 Continue?

  4. 数据隐私(代码不出内网)、成本可控、可集成内部知识库

  5. Context Provider 的作用?

  6. 扩展 AI 可见的上下文范围,提升回答质量(RAG 思路)

  7. 如何平衡补全速度和质量?

  8. 补全用小快模型(<3B),对话用大强模型,分工明确

  9. AI 代码助手的安全考量?

  10. 代码泄露风险、生成代码的许可证问题、需要人工审查

参考资源