Cursor 是一款基于人工智能(AI)的代码编辑器,专为开发者设计,核心目标是通过AI提升编程效率。它深度融合了类似 GPT-4、Claude 等大语言模型的能力,可直接在编辑器中实现智能代码生成、理解、调试和优化。

新版本更新的几个功能,大大增强了ai使用的精准性,

cursorRules+mcp+自定义运行模式以及@功能

本文主要讲解:自定义模式,rules,mcp,@功能 单独功能介绍,以及结合起来的案例演示

CursorRules和mcp 工具推荐

https://github.com/PatrickJS/awesome-cursorrules/tree/mainhttps://github.com/punkpeye/awesome-mcp-servers/blob/main/README-zh.mdhttps://playbooks.com/rules

cursor自定义模式

通过自定义模式你可以搭配通过自定义模式,你可以搭配各种工具和指令,以创建适应特定工作流程的AI交互模式,从而提高编程效率和准确性。

可以制定一个专用模式,比如预设模式示例那段,搭配一个属于你专属的模式

官方教程链接:

https://docs.cursor.com/chat/custom-modes

1. 功能概述

特性 说明
功能名称 自定义模式 (Custom Modes)
状态 Beta 测试阶段
启用路径 Settings → Features → Chat → Custom modes
核心能力 组合工具和提示词,定制适合特定工作流程的 AI 交互模式
未来扩展 可能通过 .cursor/modes.json 文件支持模式的创建和共享

2. 创建自定义模式步骤

配置项 说明 示例值
名称 (Name) 模式的显示名称 Debug Mode
图标 (Icon) 选择模式图标 🐛
快捷键 (Shortcut) 快速触发模式的快捷键 Ctrl+Shift+D
工具 (Enabled Tools) 勾选可用的工具 搜索、终端、编辑
自定义指令 (Instructions) 设定 AI 行为规则 "仅修复问题,不新增功能"

3. 预设模式示例

模式 图标 工具组合 核心指令 适用场景
学习模式 👨‍🎓 仅搜索 "详细解释概念,主动提问澄清" 学习新技术/概念
重构模式 🔄 编辑 & 重新应用 "仅优化代码结构,不新增功能" 代码重构
计划模式 📝 代码库读取 + 文件 + 终端 "生成详细计划并写入 plan.md,不直接改代码" 项目规划
研究模式 📚 代码库 + 网页搜索 + 文件操作 "综合多方信息后给出建议" 技术调研
激进模式 💥 全工具 + 自动应用/运行 "主动大胆修改,减少确认" 快速原型开发
调试模式 🐛 搜索 + 终端 + 编辑 "收集日志和上下文后精准修复" Bug 排查

4. 工具清单 (Tools)

工具 英文名 功能说明
搜索 Search 代码库/网络搜索
终端 Terminal 运行命令行
代码库读取 Codebase 分析项目整体结构
文件操作 Read file/Search files 读取或搜索特定文件
编辑 & 重新应用 Edit & Reapply 直接修改代码并重新应用
自动应用编辑 Auto-apply edits 无需确认自动应用更改
自动运行 Auto-run 自动执行工具(如终端命令)
分类 工具名称 功能描述 参数/备注
搜索 Read File 读取代码库中的文件内容 • 最大模式:750行
• 其他模式:250行
List Directory 读取目录结构(不包含文件内容)
Codebase 在已索引的代码库中执行语义搜索
Grep 通过精确关键词或正则表达式搜索文件
Search Files 通过模糊匹配快速查找文件名
Web 生成搜索查询并执行网络搜索
Fetch Rules 根据规则类型和描述检索特定规则
编辑 Edit & Reapply 自动建议并应用文件编辑
Delete File 自主删除文件 • 可在设置中禁用
运行 Terminal 执行终端命令并监控输出 设置默认终端:
1. 打开命令面板
2. 搜索并选择目标配置
MCP Servers 通过配置的MCP服务器与外部服务(如数据库、API)交互 • 支持开关控制(Toggle MCP Servers)
• 文档链接
高级选项 Auto-apply Edits 自动应用编辑(无需手动确认)
Auto-run 自动执行终端命令和接受编辑 • 适用于测试套件和变更验证
Guardrails 通过允许/拒绝列表控制工具自动执行权限
Auto-fix Errors 自动修复代码检查错误和警告

5. 对比表格:预设模式 vs 自定义模式

对比维度 预设模式 自定义模式
灵活性 固定工具和指令 完全自由组合
创建方式 内置无需配置 手动设置名称/工具/指令
适用场景 通用场景(如问答、调试) 个性化工作流
共享能力 默认提供 未来可能支持 JSON 文件共享

可以通过自然语言触发,也可以配合角色规则使用的,可以按照角色规则,在什么情况下使用什么样的工具,比如mcp工具什么的

自然语言触发测试:

通过自然语言触发功能,请注意如果你没设置排除文件类型时,默认读取所有内容

可以通过https://docs.cursor.com/context/ignore-files 这个教程里面的忽略文件进行排除

由 Cursor 的聊天功能发起的对终端和 MCP 服务器等服务的工具调用目前无法阻止对受.cursorignore

通过角色规则触发:

当我指定找 调用 web工具,进行总结,则会根据我指定的规则来运行,在精细化搭配下,它将非常好用!!!

Cursor Rules

.cursor/rules建立一个mdc格式的项目规则文件,里面写上你需要的项目规则,作用就是通过预设指令持久化引导 AI 行为的机制

新特性 生成规则

可以使用该命令直接在对话中生成规则。

/Generate Cursor Rules

会根据现在现有的上下文总结出适合你当前项目的项目规则

核心概念

术语 英文名 说明
规则系统 Cursor Rules 通过预设指令持久化引导 AI 行为的机制
项目规则 Project Rules 存储在 .cursor/rules 目录,支持版本控制和文件匹配触发或全局触发
用户规则 User Rules 全局生效仅支持文本格式
MDC 格式 MDC Format 结合元数据 (YAML) 和内容的规则文件格式
文件引用 @file Reference 在mdc文件中,可通过 @filename 语法关联代码示例或模板文件

规则类型对比

简单理解:旧版规则淘汰了,用户规则是全局仅支持文本,项目规则按需调用更自由更强大

维度 项目规则 用户规则 旧版规则 (.cursorrules)
存储位置 .cursor/rules/*.mdc 设置菜单 → Rules 项目根目录
作用范围 当前项目 全局生效 当前项目
格式支持 ✅ 元数据 + Markdown + 文件引用 ❌ 仅纯文本 ❌ 仅纯文本
版本控制 ✅ Git 友好
触发方式 自动/手动/AI 调用 始终生效 始终生效

项目规则配置

MDC 文件结构

---
description: "API 响应格式规范"  # 规则描述
globs: ["**/api/*.ts"]          # 文件匹配模式
---

<!-- 规则内容 -->
- 所有 API 响应必须包含 `code`/`data`/`message` 字段
- 错误码遵循标准 HTTP 状态码

@examples/success-response.ts   # 引用示例文件
@examples/error-response.ts

角色案例

新建一个文本文档,复制以下的内容(tailwind css 的角色规则)

description:描述
globs:文件匹配规则
规则内容

然后放到项目内 新建的 .cursor\rules 目录内

---
description: 现代 Web 应用 Tailwind CSS 和 UI 组件最佳实践
globs: **/*.css, **/*.tsx, **/*.jsx, tailwind.config.js, tailwind.config.ts
---

# Tailwind CSS 最佳实践指南

## 项目配置
- 使用正确的 Tailwind 配置
- 正确配置主题扩展
- 设置适当的清除(purge)配置
- 正确集成插件
- 配置自定义间距和断点
- 设置正确的调色板

## 组件样式
- 优先使用工具类而非自定义 CSS
- 需要时使用 @apply 组合相关工具类
- 正确使用响应式设计工具
- 正确实现暗黑模式
- 使用适当的状态变体
- 保持组件样式一致性

## 布局系统
- 有效使用 Flexbox 和 Grid 工具类
- 实现合理的间距系统
- 需要时使用容器查询
- 正确实现响应式断点
- 使用适当的 padding 和 margin 工具类
- 正确实现对齐工具类

## 排版规范
- 使用正确的字号工具类
- 实现合理的行高
- 使用正确的字重工具类
- 正确配置自定义字体
- 使用适当的文本对齐方式
- 正确实现文字装饰

## 颜色管理
- 使用语义化颜色命名
- 实现正确的色彩对比度
- 有效使用透明度工具类
- 正确配置自定义颜色
- 使用适当的渐变工具类
- 正确实现悬停状态

## 组件开发
- 优先使用 shadcn/ui 组件
- 正确扩展组件
- 保持组件变体一致性
- 正确实现动画效果
- 使用适当的过渡工具类
- 注重可访问性

## 响应式设计
- 采用移动优先(mobile-first)原则
- 正确实现断点系统
- 有效使用容器查询
- 正确处理不同屏幕尺寸
- 实现响应式排版
- 使用适当的响应式间距

## 性能优化
- 设置正确的清除(purge)配置
- 最小化自定义 CSS
- 使用适当的缓存策略
- 实现代码分割
- 优化生产环境配置
- 监控包体积大小

## 最佳实践
- 遵循命名约定
- 保持样式组织有序
- 编写完整文档
- 实施测试规范
- 遵守可访问性指南
- 使用版本控制管理

你现在得到了一个规则,在使用 **/*.css, **/*.tsx, **/*.jsx, tailwind.config.js, tailwind.config.ts 时会自动调用规则放到上下文内,你制定的类型将会根据规则进行优化

单页规则使用对比

并且它是可以多规则同时存在

比如我使用一个别人整理好的规则项目

https://github.com/PatrickJS/awesome-cursorrules/tree/main/rules/html-tailwind-css-javascript-cursorrules-prompt-fi

我生成了一个基本规则:本轮测试使用 gpt4.1

案例来自@包子叔

# 角色
你是一位资深的前端工程师、设计师和插画师
# 设计风格
优雅的极简主义美学与功能的完美平衡;
清新柔和的渐变配色与品牌色系浑然一体;
恰到好处的留白设计;
轻盈通透的沉浸式体验;
信息层级通过微妙的阴影过渡与模块化卡片布局清晰呈现;
按钮添加轻微柔和优雅的渐变
用户视线能自然聚焦核心功能;
精心打磨的圆角;
细腻的微交互;
舒适的视觉美学比例;
# 技术规格
1、图标:引用在线矢量图标库内的图标
2、图片: 使用开源图片网站链接的形式引入
3、样式必须引入 tailwindcss CDN来完成
# 任务
产品为AI快速生成营销图网站
模拟产品经理输出产品Landing的设计方案, 主要有功能(图片)、应用场景、模板、用户评价、价格,结合{设计风格}和{技术规格}输出一套着陆页设计方案。
生成一个html

看看使用规则和不使用规则生成后的效果

你会发现这类单页的,效果影响并不是很大,规则的目的也仅仅是规范了代码与操作流程,生成的质量越多效果越明显

为啥这么说呢?不规定好相关流程与规范,项目越大,屎越多

未使用规则

使用规则

复杂一点点的网页规则使用对比

#角色
你是一位资深设计资深前端开发工程师
#设计风格
优雅的极简主义美学与功能的完美平衡;
清新柔和的渐变配色与品牌色系浑然一体;
恰到好处的留白设计;
轻盈通透的沉浸式体验;
信息层级通过微妙的阴影过渡与模块化卡片布局清晰呈现;
用户视线能自然聚焦核心功能;
精心打磨的圆角;
细腻的微交互;
舒适的视觉比例;
强调色:按APP类型选择;
#技术规格
1、单个页面尺寸为 375x812PX,带有描边,模拟手机边框
2、图标:引用在线矢量图标库内的图标(任何图标都不要带有背景色块、底板、外框)
3、图片: 使用开源图片网站链接的形式引入
4、样式必须引入 tailwindcss CDN来完成
5、不要显示状态栏以及时间、信号等信息
6、不要显示非移动端元素,如滚动条
7、所有文字只可以使用黑色或白色
#任务
这是一个旅游攻略软件, 可分享旅游风景攻略 模拟产品经理输出详细功能设计、信息架构设计,结合{设计风格}和{技术规格}输出一套UI设计方案。 生成一个Ul.html文件,放入首页和详情页,横向排列。

为了区分 使用规则的强制使用英文渲染

这时候已经可以感受到有规则存在的ai生成的似乎更加平整一些,也更好看一点

多界面项目测试