Skip to content

上下文

@ 提及

使用 @ 符号可以快速引用各种上下文内容。输入 @,或者点击 @ 后,系统会显示可用的上下文类型列表。

使用方法

  1. 在对话框中输入 @,或者点击 @
  2. 使用上下方向键浏览建议项
  3. 按下 Enter 进行选择
  4. 如果选择的是类别项(如 Files & Folders),列表会被筛选,显示该类别中最相关的项目

alt text

注意:@ 文件或代码块后,内容会一直保留在对话上下文中。模型能够持续看到你之前发送的内容,因此无需在每条消息中重复 @ 同一文件。合理利用这个特性可以有效节省 token 消耗。

@Files & Folders - 文件与文件夹

@单个文件

要引用整个文件作为上下文:

  1. 在对话框中输入 @
  2. 选择 @Files & Folders
  3. 输入文件名进行搜索
  4. 选择目标文件

快捷方式:你也可以直接从侧边栏将文件拖入对话框,或者右键,“添加到CodeBuddy对话”,快速添加为上下文。

使用场景示例

@src/components/Button.tsx 请帮我为这个按钮组件添加悬停效果

@文件夹

当使用 @Folders 引用文件夹时,CodeBuddy 会提供该文件夹的路径及其内容概览,帮助 AI 理解项目结构和可用资源。

导航子文件夹

  • 选中文件夹后,输入 / 可以进入下一级目录
  • 浏览并选择文件夹

使用场景示例

@src/components/ 请帮我重构这个组件文件夹中的所有组件,使用统一的样式系统

@Code - 代码片段

使用 @Code 符号可以引用特定的代码片段,提供比 @Files & Folders 更细粒度的控制。

功能特点

  • 精确引用特定函数、类或代码块
  • 避免引入整个文件的无关代码
  • 支持跨文件引用多个代码片段

使用方法

  1. 选中要带入上下文的代码块,选择自动弹出的“添加到对话”,或者右键,“添加到 CodeBuddy 对话”

使用场景示例

@handleSubmit:10-20 这个提交函数需要添加表单验证逻辑

@Code vs @Files & Folders

特性@Code@Files & Folders
粒度精确到函数/类级别整个文件或文件夹
上下文大小较小,仅包含选定片段较大,包含完整文件内容
适用场景针对性修改、重构特定功能理解整体结构、批量修改

@Docs - 文档

@Docs 功能允许你引用技术文档来辅助编写代码。CodeBuddy 内置了常用框架和库的文档,你也可以添加自定义文档。

使用现有文档

  1. 在对话框中输入 @Docs
  2. 浏览可用的文档列表
  3. 选择相关的框架或库文档

内置文档示例

CodeBuddy 内置了一些常用文档:

  • 微信支付
  • 微信小程序
  • 微信小游戏
  • 腾讯云API

使用场景示例

@微信小程序 我该如何做一个小程序

添加自定义文档

要添加当前尚未提供的文档:

  1. 选中 @Docs
  2. 在“添加知识库作为上下文”
  3. 输入知识库名字

@Git

@Git 允许你引用 Git 相关的上下文,帮助 AI 理解代码变更历史和当前修改状态。

可引用的 Git 内容

1. 未提交的变更

引用当前工作区中尚未提交的文件修改:

@Git:uncommitted 请帮我审查这些改动,检查是否有潜在问题

2. 特定提交

引用历史提交记录:

  1. 选择 @Git
  2. 选择 工作区变更 或者 历史commit
@Git:commit:abc123 请解释这个提交中的主要变更

@Terminal - 终端命令

@Terminal 允许你引用终端命令的输出和执行信息作为上下文。

使用方法

  1. 在终端中执行命令
  2. 在对话框中输入 @Terminal
  3. 选择最近执行的命令或其输出

使用场景示例

@Terminal:npm-test 测试失败了,请帮我分析错误原因并修复

@Rules - 编码规范

@Rules 允许你引用项目的编码规范和约定,确保 AI 生成的代码符合团队标准。目前只支持@手动(mamual)类型的规则。

功能说明

Rules 是为 AI 提供的指导文档,可以包含:

  • 编码风格规范(如命名约定、代码格式)
  • 架构设计原则
  • 框架使用偏好
  • 安全规范
  • 项目特定的约定

使用方法

  1. 输入 @Rules
  2. 选择适用的规范文档
  3. AI 会在生成代码时遵循这些规范

使用场景示例

@Rules:coding-style 请按照我们的编码规范重写这个函数
@Rules:architecture 请基于我们的架构设计原则实现这个新功能

最佳实践

1. 精准引用,避免冗余

不推荐

@整个项目文件夹 请帮我修改登录功能

推荐

@src/auth/login.ts @src/components/LoginForm.tsx 请帮我修改登录功能

2. 组合使用多种上下文

将不同类型的上下文结合使用,提供更完整的信息:

@Files:config.ts @Docs:Express @Rules:api-design 请帮我实现一个符合 RESTful 规范的 API 路由

3. 利用 @Code 进行精确修改

当只需要修改特定函数时,使用 @Code 而不是整个文件:

@Code:calculateTotal 这个计算函数有精度问题,请修复

4. 引用 Git 变更进行代码审查

在提交前使用 Git 上下文进行自我审查:

@Git:uncommitted 请审查这些变更,检查是否有性能问题或安全隐患