返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

Cursor是越来越难用了!逼着我写mdc文档比代码还多

[复制链接]
链载Ai 显示全部楼层 发表于 半小时前 |阅读模式 打印 上一主题 下一主题

Cursor真就越来越难用了,尤其从0.45版本开始,智能肉眼可见的下降,越来越Trae化了。

这段时间以来我就发现Cursor的上下文越来越短,时不时的乱改文件,一个简单问题能盘它好久,明明就是已经提供了报错信息解决方式愣是不解决。

最离谱的是我打开了MCP的功能,结果每次编辑文件他都会去调用MPC的写文件功能,我甚至把配置文件去掉了,他还在调MCP的rite_file。

哎,以前有多智能,现在就有多智障!

最可笑的是官方自己都没有搞清楚Edit还是Agent的定位,现在然后又突然换掉了名字,增加一个不知道所谓的Manual功能。

降智商降得没办法,只能自己本地创文件手把手的教它怎么写了,结果就是.mdc文档比代码还多。用下来还行吧,算是有点部分缓解Cursor目前的不作为。

稍微介绍一下这个新的Cursor特有的.mdc文件。

.mdc(Markdown Cursor)文件是Cursor规则文件格式,它本身就是Markdown语法,只是特别用于定义AI在编码时的行为、约束和上下文的。

你可以它当成给AI助手的"备忘录",告诉它在你的项目中应该遵循什么规则,要怎么做。

而且旧版.cursorrules也马上要废弃了,主要因为太于单一,新的专有.mdc优势:

  • 可以为不同类型的文件或任务创建专门的规则文件
  • AI会根据你正在编辑的文件自动选择适用的规则
  • 基于Markdown,写起来更加自然流畅

使用.mdc文件后,AI助手改的代码质量还是有所提升的,把东西都喂到他嘴边了,再不会写,只能骂娘了,而且搞这个文档,公司团队协作也方便了些,不需要再重复告诉AI同样的项目规范,后续项目也可以很方便的迁移过去。

搭配地表最强编程模型:Google Gemini 2.5 Pro超长上下文,简直天作之合。

写这个文件其实特别简单,一个典型的.mdc文件包含两个部分:

  • 前置元数据:用三横线(---)包裹,定义规则的描述和适用范围
  • 规则正文:使用Markdown格式编写具体指令

创建和使用.mdc文件的话,主要是记住他的位置:

  • 在项目根目录创建.cursor/rules/文件夹
  • 添加.mdc文件,如ts-rules.mdc,保存后,Cursor会自动应用规则

看看这个简单示例:

---
description:TypeScript项目规范
globs:*.ts,*.tsx
---

#TypeScript编码规范
-使用严格模式(strict:true)
-优先使用函数组件而非类组件
-代码中必须包含完整类型注解

下面这些是我日渐膨胀的.mdc部分案例展示:

全栈TypeScript项目架构与约束

---
description:企业级TypeScript全栈应用架构规范
globs:*.ts,*.tsx
priority:10
---

#TypeScript全栈架构规范

##核心架构原则
-采用**六边形架构**(HexagonalArchitecture)设计模式
-领域逻辑与框架、UI、数据库等基础设施隔离
-依赖关系必须指向领域核心,禁止反向依赖
-接口定义在领域层,实现在基础设施层

##类型系统规范
-禁止使用`any`类型,必须使用`unknown`作为未知类型的默认选择
-对所有函数参数和返回值进行显式类型注解
-对于复杂对象,使用以下模式定义类型:
```typescript
//领域实体基础类型
typeUserProperties={
id:string;
email:string;
firstName:string;
lastName:string;
role:UserRole;
createdAtate;
updatedAtate;
};

//实体类
exportclassUser{
privateprops:UserProperties;

privateconstructor(props:UserProperties){
this.props=props;
}

//工厂方法
publicstaticcreate(props:Omit<UserProperties,'id'|'createdAt'|'updatedAt'>):Result<User>{
//验证逻辑...
returnResult.ok(newUser({
...props,
id:UUID.generate(),
createdAt:newDate(),
updatedAt:newDate()
}));
}

//访问器方法
getid():string{returnthis.props.id;}
getemail():string{returnthis.props.email;}
//...其他访问器
}

微服务的

###微服务架构设计规范

---
description:微服务架构设计规范与最佳实践
globs:*.{ts,js,go,py}
priority:20
---

#微服务架构设计规范

##架构总体原则
-采用**Domain-DrivenDesign(DDD)**思想设计微服务边界
-每个微服务应满足"单一职责"原则
-服务间通信优先考虑异步事件驱动模式
-遵循API优先设计原则,先定义接口再实现

##服务间通信规范
###同步通信
-RESTAPI必须遵循以下规范:
-使用HAL(HypertextApplicationLanguage)表示资源关系
-统一错误响应格式:
```json
{
"error":{
"code":"RESOURCE_NOT_FOUND",
"message":"请求的资源不存在",
"details":{
"resource_id":"12345",
"resource_type":"user"
},
"trace_id":"abcd1234-5678-efgh-ijkl-mnopqrstuvwx",
"timestamp":"2025-03-28T12:34:56Z"
}
}
```
-API版本控制策略:Acceptheader中指定版本,例如`Accept:application/vnd.company.api+json;version=1`

###异步通信
-事件结构规范:
```json
{
"id":"uuid-v4-format",
"type":"user.created",
"version":"1.0",
"source":"user-service",
"time":"2025-03-28T12:34:56Z",
"dataContentType":"application/json",
"data":{
//事件具体数据
},
"correlationId":"related-request-id",
"subject":"users"
}

上面这些都是基于Cursor 0.45版本的,如果你也遇到了Cursor降智的行为,不妨也像这样多写两行类似规划文档的东西,或许会有所改观。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ