Continue - VS Code AI编程助手完整配置
开源的AI代码助手,支持代码补全、聊天、编辑,兼容所有主流LLM,完全免费
智能补全
Tab键触发代码补全
多模型支持
GPT、Claude、本地模型
上下文感知
理解项目代码结构
高度可定制
自定义命令和提供器
一、安装与初始配置
1. 安装插件
- 打开 VS Code
- 进入扩展商店(Ctrl/Cmd + Shift + X)
- 搜索 "Continue"
- 点击安装由 Continue 发布的插件
- 重启 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 限制
• 启用缓存功能
• 使用本地模型处理简单任务