Continue - VS Code AI编程助手完整配置

开源的AI代码助手,支持代码补全、聊天、编辑,兼容所有主流LLM,完全免费

智能补全

Tab键触发代码补全

多模型支持

GPT、Claude、本地模型

上下文感知

理解项目代码结构

高度可定制

自定义命令和提供器

一、安装与初始配置

1. 安装插件

  1. 打开 VS Code
  2. 进入扩展商店(Ctrl/Cmd + Shift + X)
  3. 搜索 "Continue"
  4. 点击安装由 Continue 发布的插件
  5. 重启 VS Code

2. 快捷键

  • Ctrl/Cmd + L - 打开聊天面板
  • Ctrl/Cmd + I - 编辑选中代码
  • Tab - 接受代码补全
  • Ctrl/Cmd + K - 生成代码

二、配置文件详解

config.json 完整配置

{
  "models": [
    {
      "title": "GPT-4o",
      "provider": "openai",
      "model": "gpt-4o",
      "apiKey": "your-api-key",
      "apiBase": "https://api.n1n.ai/v1"
    },
    {
      "title": "Claude 3.5 Sonnet",
      "provider": "anthropic",
      "model": "claude-3-5-sonnet-20241022",
      "apiKey": "your-api-key",
      "apiBase": "https://api.n1n.ai/v1"
    },
    {
      "title": "DeepSeek Coder",
      "provider": "openai",
      "model": "deepseek-coder",
      "apiKey": "your-api-key",
      "apiBase": "https://api.deepseek.com/v1"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Codestral",
    "provider": "mistral",
    "model": "codestral-latest",
    "apiKey": "your-api-key"
  },
  "embeddingsProvider": {
    "provider": "openai",
    "model": "text-embedding-3-small",
    "apiKey": "your-api-key",
    "apiBase": "https://api.n1n.ai/v1"
  },
  "contextProviders": [
    {
      "name": "code",
      "params": {}
    },
    {
      "name": "docs",
      "params": {}
    },
    {
      "name": "terminal",
      "params": {}
    },
    {
      "name": "problems",
      "params": {}
    }
  ],
  "slashCommands": [
    {
      "name": "edit",
      "description": "Edit selected code"
    },
    {
      "name": "comment",
      "description": "Add comments to code"
    },
    {
      "name": "test",
      "description": "Generate unit tests"
    },
    {
      "name": "fix",
      "description": "Fix problems in code"
    }
  ]
}

聊天模型

配置多个模型供选择,支持快速切换

代码补全

使用专门的代码模型如 Codestral

嵌入模型

用于代码搜索和上下文理解

三、代码自动补全优化

VS Code 设置

// VS Code settings.json 配置
{
  // Continue 代码补全设置
  "continue.enableTabAutocomplete": true,
  "continue.tabAutocompleteOptions": {
    "multilineCompletions": "always",
    "maxPromptTokens": 1500,
    "debounceDelay": 350,
    "maxSuffixPercentage": 0.4,
    "prefixPercentage": 0.85,
    "template": "Please complete the following code:\n{{{prefix}}}[BLANK]{{{suffix}}}\n\nFill in the [BLANK]"
  },
  
  // 触发条件
  "continue.tabAutocompleteOptions.triggers": [
    {
      "language": "python",
      "triggerWords": ["def", "class", "if", "for", "while"]
    },
    {
      "language": "javascript",
      "triggerWords": ["function", "const", "let", "if", "for"]
    }
  ],
  
  // 禁用某些文件的自动补全
  "continue.tabAutocompleteOptions.disableInFiles": [
    "*.md",
    "*.txt",
    "package-lock.json"
  ]
}

💡 性能优化建议

  • • 使用更快的模型如 Codestral 或 DeepSeek Coder
  • • 调整 debounceDelay 减少延迟
  • • 限制 maxPromptTokens 提高响应速度
  • • 禁用大文件的自动补全

四、自定义上下文提供器

创建自定义提供器

// 自定义上下文提供器示例
// ~/.continue/contextProviders/myCustomProvider.js

module.exports = {
  title: "项目文档",
  description: "包含项目相关文档",
  
  async getContext(query, extras) {
    const docs = await loadProjectDocs();
    
    return docs.map(doc => ({
      name: doc.title,
      description: doc.summary,
      content: doc.content
    }));
  }
};

// 在 config.json 中注册
{
  "contextProviders": [
    {
      "name": "myCustomProvider",
      "params": {
        "docsPath": "./docs"
      }
    }
  ]
}

内置提供器

  • code: 当前代码文件
  • docs: 项目文档
  • terminal: 终端输出
  • problems: 错误和警告
  • git: Git 历史和差异

使用场景

  • • 引入项目特定文档
  • • 集成外部API文档
  • • 添加团队编码规范
  • • 包含测试数据
  • • 引用数据库架构

五、自定义 Slash 命令

创建重构命令

// 自定义 Slash 命令
// ~/.continue/slashCommands/refactor.js

module.exports = {
  name: "refactor",
  description: "重构选中的代码",
  
  async run(sdk) {
    const selection = await sdk.getSelectedCode();
    
    const prompt = `请重构以下代码,使其更加清晰和高效:
    
${selection}

要求:
1. 提取重复代码为函数
2. 改进变量命名
3. 添加必要的类型注解
4. 优化性能`;
    
    const result = await sdk.llm.complete(prompt);
    await sdk.applyEdit(result);
  }
};

常用命令创意

/optimize - 优化性能
/security - 安全检查
/docs - 生成文档
/convert - 转换代码
/review - 代码审查
/clean - 清理代码

六、最佳实践与技巧

🎯 提高效率

  • ✅ 使用 @ 符号快速引用文件
  • ✅ 配置多个模型,根据任务切换
  • ✅ 创建项目特定的 Slash 命令
  • ✅ 使用上下文提供器包含相关文档
  • ✅ 设置合适的 token 限制

⚡ 性能优化

  • ✅ 本地运行 Ollama 减少延迟
  • ✅ 使用更小的模型进行补全
  • ✅ 限制上下文窗口大小
  • ✅ 禁用不必要的上下文提供器
  • ✅ 调整防抖延迟参数

七、常见问题解决

代码补全不工作?

1. 检查 tabAutocompleteModel 配置是否正确

2. 确认 API Key 有效

3. 查看输出面板的错误信息

4. 尝试重启 VS Code

如何使用本地模型?
// 配置 Ollama 本地模型
{
  "models": [{
    "title": "Local Llama",
    "provider": "ollama",
    "model": "llama2:13b"
  }]
}
如何降低 API 成本?

• 使用更便宜的模型如 GPT-3.5-turbo

• 减少 maxTokens 限制

• 启用缓存功能

• 使用本地模型处理简单任务