Cline高级功能
Cline提供了多种高级功能,帮助您提升开发效率和代码质量。本文档将介绍六项核心技巧:Rules(项目规则)、Workflows(自动化工作流)、MCP Servers(能力扩展)、Skills(技能包)、Hooks(钩子机制)和@提及(上下文引用)。
| 功能 | 定位 | 核心价值 | 典型场景 |
|---|---|---|---|
| Rules | 项目级规则配置。 | 让Cline自动遵守编码规范,无需重复说明。 | 团队项目统一代码风格。 |
| Workflows | 可复用任务模板。 | 将常用操作固化为命令,一键执行。 | 批量创建组件、自动部署。 |
| MCP Servers | 工具扩展协议。 | 为Cline增加数据库、浏览器等外部能力。 | 查询数据库、操作GitHub。 |
| Skills | 领域技能包。 | 注入专业工作流和参考模板。 | 特定类型任务的规范化执行。 |
| Hooks | 工作流钩子。 | 在关键时刻注入自定义逻辑。 | 安全拦截、质量门禁、审计日志。 |
| @提及 | 上下文引用。 | 无需复制粘贴,直接引用文件、URL等。 | 让Cline参考配置文件或API文档。 |
Rules(项目级规则配置)
Rules是Cline的项目级持久化规则,相当于给Cline写一份“行为守则”。每次对话时Cline都会自动遵守,无需重复说明。
配置方式
在项目根目录创建.clinerules文件(无扩展名),Cline会自动读取。
建议:团队项目务必配置.clinerules,确保所有成员使用Cline时产出风格一致的代码。
实战案例
以贪吃蛇与华容道游戏项目为例,.clinerules文件内容如下:
## 技术栈 - 纯HTML/CSS/JS,无框架依赖 - Node.js原生http模块作为服务器 - 所有前端代码内联在HTML文件中 ## 代码风格 - CSS使用BEM命名或简短语义化类名 - JS使用ES6+语法 - 游戏逻辑与渲染逻辑分离 ## 游戏规范 - 必须支持键盘和触屏两种操作方式 - 必须有计分系统 - 必须有重新开始功能 - 适配移动端视口
创建.clinerules后,在Cline对话中输入需求,观察生成的代码是否符合上述规则。如代码风格不符,请检查文件是否位于项目根目录。
Workflows(自动化工作流)
Workflows是Cline的可复用任务模板,将常用操作流程固化为一个命令,一键执行。适合重复性的开发任务,如创建组件、提交代码、部署等。
使用内置Workflow
在Cline对话框中输入/即可查看所有内置Workflow命令。

| 命令 | 用途 | 示例 |
|---|---|---|
| /new-task | 开始一个新任务,清空上下文。 | /new-task 实现用户登录页 |
| /code-review | 对当前变更进行代码审查。 | /code-review |
| /explain | 解释选中的代码。 | /explain |
| /fix | 修复当前报错。 | /fix |
| /test | 为当前代码生成测试。 | /test |
自定义Workflow
在项目根目录的.cline/workflows/下创建.md文件即可定义自定义Workflow。目录示例如下:
.cline/
└── workflows/
├── create-component.md
├── deploy.md
└── fix-lint.md 示例:创建组件Workflow
文件目录为.cline/workflows/create-component.md,.md文件内容如下:
# 创建React组件
请根据以下规范创建一个新的React组件:
1. 在src/components/下创建组件目录,命名为{{componentName}}
2. 创建以下文件:
- index.tsx:组件主体,使用函数式组件+TypeScript
- styles.module.css:组件样式,使用CSS Modules
- index.test.tsx:组件测试,使用Vitest+Testing Library
3. 在src/components/index.ts中导出该组件
4. 组件必须接受children 和className属性
5. 完成后运行npm run lint和npm test验证 使用方式:在Cline对话框中输入如下内容。
/create-component componentName=UserCard
自定义Workflow创建后,在Cline对话框中输入/查看是否出现在命令列表中。
MCP Servers(扩展Cline能力)
MCP(Model Context Protocol)是Cline的工具扩展协议。通过接入外部MCP Server,让Cline获得额外能力,如数据库操作、API调用、文件转换等。
配置方式:在CodeServer的./settings/cline_mcp_settings.json中添加。
常用MCP Server:
| MCP Server | 能力 | 安装命令 |
|---|---|---|
| server-postgres | 查询PostgreSQL数据库。 | npx -y @modelcontextprotocol/server-postgres |
| server-filesystem | 安全的文件系统访问。 | npx -y @modelcontextprotocol/server-filesystem |
| server-github | GitHub Issue/PR操作。 | npx -y @modelcontextprotocol/server-github |
| server-puppeteer | 浏览器自动化操作。 | npx -y @modelcontextprotocol/server-puppeteer |
注意:MCP Server启动需要时间,配置后首次使用会稍慢,后续会复用进程,速度恢复正常。
配置MCP Server后,在Cline对话中尝试使用对应能力(如“查询数据库中的用户表”),如果Cline能调用MCP Server的工具并返回结果,说明配置成功。如果提示工具不可用,请检查cline_mcp_settings.json中的配置格式是否正确,以及npx命令是否能正常执行。
Skills(技能扩展)
Skills是Cline的领域技能包,为特定类型的任务注入专业的工作流、参考模板和指令。与Workflows不同,Skills更侧重于领域知识的注入,而非操作步骤的固化。
使用方式:无需手动配置,在Cline对话中直接描述匹配Skill场景的需求即可。Cline会自动识别并加载对应的Skill。
例如,当您描述一个前端设计需求时,Cline会自动加载前端设计相关的Skill,提供更专业的实现方案。
当Cline自动加载某个Skill时,对话界面中会显示Skill加载提示。如果您描述的需求与某个Skill场景匹配但Cline未加载,请确认该Skill是否已正确安装在Cline的Skills目录中。
Hooks(技能扩展)
Hooks是Cline提供的扩展机制,允许您在关键时刻将自定义逻辑注入到Cline的工作流中。Hooks会在开发过程中发生特定事件时自动运行,可以在有问题的操作引起问题之前将其阻止,并且可以注入上下文来指导未来的AI决策。
Hooks的核心价值
通过组合运用Hooks,可以实现以下能力:
| 能力 | 说明 | 典型场景 |
|---|---|---|
| 前置拦截 | 在问题发生前阻止操作。 | 在TypeScript项目中阻止创建.js文件、阻止向main分支直接提交。 |
| 知识沉淀 | 从每次操作中提取模式。 | 逐步积累项目专属规则与约定。 |
| 质量门禁 | 在关键节点自动触发检查。 | 自动运行lint、typecheck、测试。 |
| 全链路审计 | 记录所有工具调用与决策路径。 | 支撑回溯分析与合规审查。 |
| 外部联动 | 触发外部服务。 | 通知、CI流水线、部署脚本。 |
配置步骤
- 访问Hooks界面。 图7 Hooks
- 确定Hooks位置。
- 根据需求创建对应类型的Hook文件。
- 测试Hook。
开发调试Hook时,需要反复触发以验证行为。不同Hook类型在Cline工作流的不同节点触发:
Hook类型
触发时机
适用场景
UserPromptSubmit
用户提交Prompt后、Cline处理前。
意图分析、指令增强与输入预处理。
TaskStart
新任务启动时(尚无历史消息)。
注入项目上下文与初始化环境状态。
TaskResume
中断任务恢复时(如VSCode重启后)。
重建状态一致性与恢复执行进度。
TaskCancel
任务被取消时(手动取消或异常中断)。
清理子进程与释放临时资源。
TaskComplete
任务成功完成时。
生成总结报告与触发后续构建部署流程。
PreToolUse
Cline调用工具前。
安全拦截、参数校验与修改工具调用参数。
PostToolUse
工具调用完成并返回结果后。
审计日志、性能分析与自动补充后续指令。
PreCompact
对话历史即将被压缩前。
保留关键决策上下文与防止信息丢失。
@提及(上下文引用)
@提及是Cline强大的功能之一,可让您将外部上下文无缝地引入对话中。您无需复制粘贴代码、错误消息或文档,只需使用@符号来引用它们。
使用方式
在聊天输入中输入@时,Cline会显示一个可用提及类型的菜单,允许您在对话中直接引用文件、文件夹、问题、终端输出、Git更改甚至网页内容。
| 类型 | 说明 | 典型场景 |
|---|---|---|
| 文件 | 将指定文件内容加入上下文。 | 让Cline参考某个配置文件、接口文档。 |
| URL | 抓取网页内容加入上下文。 | 让Cline阅读API文档、技术博客。 |
| 错误信息 | 将终端报错信息加入上下文。 | 粘贴编译错误、运行时异常让Cline修复。 |
| 剪贴板 | 将剪贴板内容加入上下文。 | 快速粘贴任意文本、日志片段。 |
| 问题 | 选择当前CodeServer中的问题(Problems)。 | 让Cline处理lint错误、类型报错。 |