Back

VS Code 规划模式:先思考,再编码

VS Code 规划模式:先思考,再编码

大多数使用 GitHub Copilot 的开发者都有过这样的经历:你描述了一个功能需求,AI 立即开始生成代码,三个文件之后你才意识到它解决的是错误的问题。你停下来,撤销操作,然后重新开始——在自信但方向错误的输出上浪费了 20 分钟。

解决方法不是更好的提示词,而是在编码之前先做规划。

VS Code 规划模式正是为此而生。这是 VS Code 内置的专用 AI 规划工作流,它将思考与执行分离——让 GitHub Copilot 分析你的代码库,提出澄清性问题,并在修改任何一行代码之前生成结构化的实施计划。

核心要点

  • VS Code 规划模式通过让 GitHub Copilot 分析代码库并在编写任何代码之前生成结构化计划,将思考与执行分离。
  • Plan 代理读取文件、追踪代码路径并提出澄清性问题——在错误假设变成错误实现之前将其捕获。
  • 对多步骤或跨领域任务使用规划功能。对于简单的单句更改(如重命名变量或修复拼写错误)可以跳过。
  • 引用特定文件、包含测试用例以及使用自定义指令都能显著提高计划质量。

VS Code 规划模式的实际功能

规划模式是 VS Code 更广泛的基于代理的开发模型的一部分,其中不同的代理处理不同的工作。Plan 代理专注于分析和结构化任务分解。它可以读取你的代码库,引用特定文件和符号,并组织多步骤工作——而不触碰任何内容。

这不是一个头脑风暴工具。它是一个结构化的预实施工作流,生成一个具体的计划供你审查和批准,然后再交给实施代理。

VS Code Copilot 代理系统的最新改进使规划功能更加强大:代理可以在多轮对话中保持规划上下文,更深入地探索代码库,并支持在同一会话中从规划到实施的无缝交接。

VS Code AI 规划工作流实践

GitHub Copilot 规划模式工作流遵循清晰的流程:

1. 提供高层次需求 描述你想要构建的内容。明确约束条件——使用的框架、模式以及不应触碰的文件。

2. 让 AI 探索并提出问题 Plan 代理读取相关文件,追踪代码路径,并在确定方案之前提出澄清性问题。这是及早发现假设问题的阶段。

3. 审查生成的计划 你会得到一个结构化的、逐步的实施计划——哪些文件会更改、按什么顺序以及原因。审查它,编辑它,添加 AI 遗漏的约束条件。

4. 交接给实施代理 一旦计划获得批准,切换到代理模式并让 Copilot 执行。因为方案已经达成一致,执行会更快且更可预测。

何时使用 Plan 代理(以及何时跳过)

并非每个任务都需要规划。一个有用的规则:**如果你能用一句话准确描述更改,就跳过规划。**如果不能,就先规划。

任务是否使用规划?
修复拼写错误或重命名变量
添加新的 API 端点
实现身份验证
跨多个文件重构
更新依赖项

对于大型代码库,Plan 代理尤其有价值。VS Code 可以在工作区的文件和模块之间收集上下文,使其非常适合处理需要仔细手动协调的跨领域更改。

充分利用规划工作流

以下几种做法可以提高计划质量:

  • 在提示中使用 #<file>#<symbol> 引用特定文件,引导 AI 关注相关上下文
  • 包含预期输出或测试用例,以便可以根据实际标准而非假设来验证计划
  • 使用自定义指令告诉 AI 关于你的架构和约定,这些信息无法仅从代码中推断
  • 为不相关的任务启动新会话——上下文污染会随时间降低计划质量

你可以在官方 VS Code Copilot 自定义文档中了解更多关于配置 Copilot 行为和指令的信息。

结论

从 AI 辅助编码中获益最多的开发者不是那些拥有最佳提示词的人,而是那些能够抵制让 AI 立即运行冲动的人。

VS Code 规划模式使这种纪律变得实用。它在意图和执行之间提供了一个结构化的检查点——你保持对方法的控制,而 AI 处理实施。

先思考,再构建。

常见问题

规划模式是 VS Code Copilot Chat 体验的一部分,需要访问 GitHub Copilot。可用性取决于你的 Copilot 计划和环境中启用的功能。

可以。生成的计划完全可编辑。你可以重新排序步骤、删除不必要的更改、添加 AI 遗漏的约束条件,或要求 Plan 代理在交接给实施之前修改特定部分。审查和调整计划是工作流的核心部分。

规划模式适用于 GitHub Copilot 支持的任何语言,涵盖大多数主流语言。其有效性取决于 Plan 代理能从你的文件和项目结构中收集多少相关上下文。

Copilot Chat 以对话方式响应,可能会立即开始生成代码。规划模式使用专用的 Plan 代理,专注于分析、提出澄清性问题并生成结构化的逐步实施计划。它将思考阶段与编码阶段分离,减少方向错误的输出。

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay