
一句话总结: Continue 不是简单的代码补全,而是一个深度嵌入 VS Code 的 AI 结对编程(Pair Programming)工具。它能理解你的整个代码库上下文,主动为你解释代码、生成测试、重构模块、修复 Bug,甚至能根据你的自然语言指令,在多个文件中协同修改代码,将 Copilot 的能力提升到一个全新的协作维度。
GitHub Copilot 彻底改变了我们的编码方式,但它更像是一个高效的“打字员”。它擅长根据当前光标位置的上下文预测下一行代码。然而,真正的软件开发是一个系统性的、跨文件的、需要深刻理解业务逻辑的过程。Copilot 在面对以下场景时显得力不从心:
传统的结对编程(Pair Programming)是解决这些问题的有效方法,但成本高昂。Continue 的愿景,就是让 AI 扮演那个经验丰富的“副驾驶”(Navigator)角色,而你则是掌控方向的“驾驶员”(Driver)。它不仅能看懂你正在编辑的文件,还能“阅读”整个项目,建立起全局的认知。
维度 | GitHub Copilot | Continue |
|---|---|---|
上下文范围 | 当前文件 + 少量打开的标签页 | 整个项目(可配置) |
交互模式 | 被动(接受/拒绝建议) | 主动对话(聊天窗口 + 编辑器内指令) |
任务粒度 | 行/函数级别 | 模块/功能级别 |
代码库感知 | 弱 | 强(通过向量数据库索引) |
自定义能力 | 有限 | 极高(Python/TypeScript SDK) |
本地化 | 部分(需联网) | 完全支持(Ollama, Llama.cpp) |
Continue 的核心技术是 **RAG(检索增强生成)**。当您提出一个问题时,它会:
这种机制使其能够处理那些需要“大局观”的复杂任务。
背景:我接手了一个遗留的 Python Flask 项目,其用户认证模块是硬编码的,现在需要将其重构为支持 OAuth 2.0 的通用方案。
传统流程:
auth.py, user.py, routes.py 等相关文件,理解现有逻辑。使用 Continue 的流程:
auth.py and uses hardcoded credentials. Please help me plan and execute this refactor.”oauth_service.py to handle OAuth logic.auth.py to delegate to the new service.routes.py.oauth_service.py 的完整代码,包含了 authorize, token, userinfo 等核心方法,并附上了详细的注释。auth.py,将原有的验证逻辑替换为对新服务的调用,并保留了原有的接口签名以保证向后兼容。.env.example.”整个重构过程,从理解到实现再到测试,不到一个小时就完成了。Continue 就像一位熟悉项目历史和最佳实践的资深同事,全程陪伴,极大地降低了认知负荷和出错风险。
Cmd+L (Mac) / Ctrl+L (Win) 快捷键,在代码上方直接输入指令,如 “Add error handling to this function”。code-embed 模型(或 nomic-embed-text)为其创建向量索引。.continueignore 文件,可以排除 node_modules、dist 等无关目录,提升索引效率。llama3:70b-instruct), Llama.cpp, LM Studio。前提:已安装 VS Code 和 Python 3.9+。
Cmd+L (Mac) / Ctrl+L,会弹出一个设置向导。ollama pull llama3:70b-instruct。Cmd+L,输入你的指令,例如:Continue 的真正威力在于它可以被用来自动化那些枯燥但必要的开发任务。
场景:你的团队遵循严格的代码规范,每次提交前都需要:
console.log 残留。CHANGELOG.md。自定义规则:
创建自定义规则
:在项目根目录下创建 .continue/rules.py。
编写 Python 逻辑
:
from continue_sdk import Rule
class AddDocstrings(Rule):
title = "Add missing docstrings"
description = "Adds Google-style docstrings to all functions that are missing them."
def check(self, file_path: str, content: str) -> bool:
# 检查文件是否缺少 docstring
return "def " in content and '"""' not in content
def apply(self, file_path: str, content: str) -> str:
# 调用 LLM 为函数生成 docstring
return self.llm.complete(f"Add a Google-style docstring to this Python function:\n\n{content}")
运行规则
:在 Continue 聊天中输入 “/run rules”,它会自动扫描整个项目,找出所有违规之处,并提出修复建议。
通过这种方式,Continue 从一个被动的助手,变成了一个主动的代码质量守护者,帮助团队维持高标准的工程实践。
结语:软件开发的本质是沟通——与计算机沟通,也与未来的自己和同事沟通。Continue 通过赋予 AI 深刻理解代码库的能力,极大地增强了这种沟通的效率和深度。它不是要取代开发者,而是要成为开发者最信任、最默契的结对伙伴,共同创造出更优雅、更健壮的软件。