目录

Cline 提及功能指南

概述

提及功能是一个强大的功能,允许你在与 Cline 的对话中使用”@”符号引用各种资源。这包括文件内容、目录结构、网页 URL、VSCode 诊断信息、终端输出、Git 更改状态等 - 所有这些都可以轻松地整合到你的对话中。

通过使用此功能,Cline 可以获得更准确的上下文,为你的任务提供更相关的帮助。

基本语法

提及总是以”@”符号开始,后跟你想要引用的资源的路径或标识符:

@resource_identifier

你可以在用户消息中的任何位置放置提及,Cline 将自动检索引用的内容。

支持的提及类型

1. 文件引用

要引用文件内容,使用 @/ 后跟项目中的相对路径:

@/path/to/file.js

示例:

请分析 @/src/components/Button.tsx 中的实现

在这个例子中,Cline 自动检索 Button.tsx 的内容并用它来执行分析。

2. 目录引用

要引用目录内容,使用 @/ 后跟目录的相对路径,以斜杠结尾:

@/path/to/directory/

示例:

@/src/components/ 目录中有哪些组件?

在这个例子中,Cline 检索组件目录及其内容的列表。

3. URL 引用

要引用网页内容,使用 @ 后跟 URL:

@https://example.com

示例:

请解析来自 @https://api.github.com/users/octocat 的 JSON 响应

在这个例子中,Cline 获取 GitHub API 的响应并分析 JSON。

4. 诊断引用

要引用当前工作区中的 VSCode 诊断信息(错误和警告),使用 @problems

@problems

示例:

检查 @problems 并告诉我应该优先修复哪些错误

在这个例子中,Cline 从你的工作区检索当前的错误和警告,并识别高优先级问题。

5. 终端输出引用

要引用最新的终端输出,使用 @terminal

@terminal

示例:

请识别 @terminal 输出中错误的原因

在这个例子中,Cline 检查最新的终端输出并分析错误的原因。

6. Git 工作目录引用

要引用当前 Git 工作目录的更改状态,使用 @git-changes

@git-changes

示例:

审查 @git-changes 并总结应该提交的重要更改

在这个例子中,Cline 检索当前 Git 工作目录中已更改文件的列表,并识别可以提交的候选文件。

7. Git 提交引用

要引用特定 Git 提交的信息,使用 @ 后跟提交哈希:

@commit_hash

示例:

分析提交 @abcd123 并解释做了哪些更改

在这个例子中,Cline 检索指定提交哈希的信息,并分析该提交中所做的更改。

使用场景

代码审查

检查 @/src/components/Form.jsx 并从性能角度提出改进建议。另外,如果有任何 @problems,请建议如何修复。

调试协助

我的 npm install 失败了。请检查 @terminal 输出并为问题提供解决方案。

项目分析

分析 @/src/models/ 目录中的代码,解释数据模型之间的关系。另外,告诉我 @/src/utils/ 中的实用函数是如何与这些模型一起使用的。

代码生成

使用与 @/src/components/Button.tsx 相同的设计语言创建一个新的 Input.tsx 组件

版本控制集成

审查 @git-changes 并为我正在开发的功能提供提交消息建议。

组合多个提及

你可以组合多个提及来提供更复杂的上下文:

@/src/api/users.js 中似乎有一个 bug。请检查 @problems 和 @terminal 来识别并修复问题。

限制和注意事项

  1. 大文件:引用非常大的文件可能需要时间处理,并可能消耗大量令牌。

  2. 二进制文件:二进制文件(如图像)将无法正确处理,并会显示”二进制文件”消息。

  3. 目录结构:目录引用只会显示顶级文件和目录,不会递归显示子目录的内容。

  4. URL 限制:某些网站可能会阻止自动抓取,这可能会阻止准确的内容检索。

  5. 路径语法:带有特殊字符(如空格)的文件路径或 URL 可能无法被正确识别。

故障排除

提及未被识别

如果你的提及没有被正确识别,请检查:

  • ”@”符号后没有空格
  • 文件路径准确(区分大小写)
  • URL 包含完整格式(带有 https://

内容未被检索

如果无法检索引用资源的内容:

  • 验证文件是否存在
  • 确保你有文件的访问权限
  • 检查文件是否太大或 URL 是否太复杂

性能问题

如果提及处理速度较慢:

  • 引用较小的文件或特定的文件部分
  • 减少同时使用的提及数量

结论

掌握提及功能可以使你与 Cline 的沟通更加高效。通过提供适当的上下文,Cline 可以提供更准确的帮助,显著改善你的开发工作流程。