---
layout: single
title:  "Cline Mentions 功能指南"
date:   2025-04-23 06:00:00 +0800
categories: [编程开发, 硬件加速]
tags: [Cline, Mentions, ClineDoc]
---

# [Cline 提及功能指南](https://github.com/cline/cline/blob/main/docs/tools/mentions-guide.md)

## 概述

提及功能是一个强大的功能，允许你在与 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 可以提供更准确的帮助，显著改善你的开发工作流程。
