---
title: 处理大型代码库
description: 浏览和处理大型代码库的策略
---

处理大型代码库需要特定的策略来管理上下文限制并保持工作效率。本指南提供了实用的工作流，帮助你使用 Verdent for VS Code 高效地浏览、理解和修改大型项目。

---

## 使用 Explorer 智能体进行代码库探索

假设你刚接触一个大型代码库，需要找到特定功能的实现位置。

<Steps>
  <Step title="提出宽泛的探索性问题">
    ```
    Where is user authentication handled in this codebase?
    ```

    Verdent 会自动委派给 Explorer 智能体——一个用于代码库搜索的高 token 效率专家。
  </Step>

  <Step title="Explorer 高效搜索">
    Explorer 智能体会：
    - 搜索文件名和路径
    - 在代码内容中检索关键词
    - 分析架构模式
    - 返回带有文件路径和代码片段的结果
  </Step>

  <Step title="优化你的搜索">
    ```
    Show me all files that import the authentication module
    ```

    Explorer 可以执行后续搜索以缩小结果范围。
  </Step>

  <Step title="并行处理复杂搜索">
    为了进行全面探索，Verdent 可以并行运行多个 Explorer 智能体：
    - Explorer 1：查找认证逻辑
    - Explorer 2：查找授权逻辑
    - Explorer 3：查找会话管理

    通过并行搜索，结果到达得更快。
  </Step>
</Steps>

<Tip>
  **提示：**
  - Explorer 智能体在大型代码库中高效工作，不会占满主上下文
  - 多个 Explorer 智能体可以同时搜索不同方面
  - 使用 Explorer 进行模式匹配和架构探索
  - 结果包含文件路径和相关代码片段以提供上下文
</Tip>

***

## 将任务拆分为可管理的小块

假设你正在处理一个大型代码库，需要添加一个涉及许多文件的功能。

<Steps>
  <Step title="识别自然的任务边界">
    与其一次性请求所有内容：

    ```
    Phase 1: Add the data models for the notification system
    ```

    先专注于一个独立的组件。
  </Step>

  <Step title="完整完成该阶段">
    在进入第二阶段之前，完整地完成第一阶段，包括测试。这会创建一个干净的检查点。
  </Step>

  <Step title="提交你的进度">
    ```bash
    git add .
    git commit -m "feat: add notification data models"
    ```

    提交会创建一个安全的回滚点。
  </Step>

  <Step title="为下一阶段清空上下文">
    对于复杂任务，在进入下一阶段之前清空上下文。这能确保 Verdent 有足够的上下文容量来保持最佳性能。

    ```
    Phase 2: Build the notification API endpoints using the data models
    ```

    开启一个仅专注于第二阶段的全新会话。
  </Step>
</Steps>

<Tip>
  **提示：**
  - 自然的断点可以防止上下文耗尽
  - 每个阶段都应能够独立测试
  - 在各阶段之间提交可实现安全的实验
  - 全新的会话能保持上下文干净且专注
</Tip>

***

## 利用 Plan Mode 进行大规模变更

假设你需要重构一个分散在大型代码库数十个文件中的功能。

<Steps>
  <Step title="从 Plan Mode 开始">
    ```
    Switch to Plan Mode: Refactor the payment processing logic to use a new payment provider across all files
    ```

    Plan Mode 允许进行只读分析，而不会因文件修改消耗上下文。
  </Step>

  <Step title="使用 Explorer 查找所有受影响的文件">
    ```
    Use the Explorer agent to find all files that reference payment processing
    ```

    确保你发现所有需要更新的位置。
  </Step>

  <Step title="审查全面的计划">
    Verdent 会呈现一个计划，显示：
    - 所有需要变更的文件（已识别 25 个文件）
    - 需要纳入主上下文的最小文件集
    - 操作顺序
    - 变更之间的依赖关系

    在确定方案前进行审查。
  </Step>

  <Step title="批准执行">
    对计划满意后，批准执行。Verdent 会有条不紊地完成这些变更。
  </Step>
</Steps>

<Tip>
  **提示：**
  - Plan Mode 有助于在执行前识别最小文件集
  - Explorer 确保在大规模重构中不遗漏任何文件
  - 计划在消耗上下文前清晰地显示范围
  - 将计划保存到文件中以供文档记录和团队审查
</Tip>

***

## 在多个文件间进行协调一致的变更

假设你需要重命名一个在大型代码库中 50 多个文件里使用的函数。

<Steps>
  <Step title="使用 Explorer 查找所有用法">
    ```
    Use the Explorer agent to find all files that use the calculateTotal function
    ```

    识别每个需要更新的文件。
  </Step>

  <Step title="在 Plan Mode 中审查范围">
    ```
    In Plan Mode: Rename calculateTotal to computeFinalTotal across all files
    ```

    在进行变更前查看完整范围。
  </Step>

  <Step title="验证没有遗漏文件">
    Verdent 会显示所有 52 个需要更新的文件。审查该列表以确保完整性。
  </Step>

  <Step title="执行协调一致的变更">
    批准计划。Verdent 会系统地更新所有文件，确保各处的重命名保持一致。
  </Step>

  <Step title="运行测试以验证">
    ```
    Run the full test suite to verify all references were updated correctly
    ```

    测试能捕获任何遗漏的引用。
  </Step>
</Steps>

<Tip>
  **提示：**
  - Explorer 确保在大规模变更中不遗漏任何文件
  - Plan Mode 在执行前显示完整范围
  - 系统化的更新可在所有文件间保持一致性
  - 大规模重构后进行全面测试
</Tip>

<Tip>
分阶段进行跨多个文件的协调变更更安全：先更新一层，验证，然后再处理依赖它的各层。
</Tip>

***

## 常见问题

<Accordion title="我如何知道自己快要接近上下文限制了？">
迹象包括响应时间变慢、会话已运行数小时，或加载了许多大文件。监控你的会话时长和文件数量。当你注意到性能下降时，完成当前任务，提交进度，然后用干净的上下文开启全新会话。
</Accordion>

<Accordion title="让 Verdent 一次性修改数十个文件安全吗？">
正确使用时是安全的。始终先使用 Plan Mode 审查完整范围，确保你有全面的测试覆盖，并在各阶段之间频繁提交。这样你就可以逐步验证变更，并在需要时轻松回滚。
</Accordion>

<Accordion title="我应该在什么时候使用 Explorer 智能体，而不是直接加载文件？">
对于探索和搜索任务，使用 Explorer 智能体可避免消耗主上下文。仅当你需要修改文件时，才使用 @ 提及直接加载文件。Explorer 非常适合"查找所有……的文件"这类问题，而 @ 提及则用于"更新这个特定文件"这类任务。
</Accordion>

<Accordion title="哪个模型预设最适合大型代码库工作？">
对于复杂的多文件操作和重构，使用 Performance 预设。对于简单的搜索和探索任务，使用 Efficiency 预设。Performance 为协调一致的变更提供更强的推理能力，而 Efficiency 在探索时更快、更具成本效益。
</Accordion>

***

## 另请参阅

<CardGroup cols={2}>
  <Card title="多步骤任务示例" icon="list-check" href="/docs/verdent-for-vscode/common-workflows/multi-step-tasks">
    复杂的多步骤工作流和任务管理
  </Card>

  <Card title="最佳实践" icon="star" href="/docs/verdent-for-vscode/best-practices/context">
    上下文管理与优化策略
  </Card>
</CardGroup>
