全面解析Cursor的使用经验与需求开发流程

共计 4222 个字符,预计需要花费 11 分钟才能阅读完成。

深入了解 Cursor

简要概述:Cursor 是一款全面集成 AI 的代码编辑器,基于 VScode 开发。

您可以访问官网以获取详细的功能介绍:https://www.cursor.com/cn/features

在 Cursor 设置中,可以找到一些常用的配置选项:

如果是企业内部使用,建议先启用隐私模式:

除了前代的编码辅助 copilot 提供的 TAB 补全和问答功能,Cursor 还新增了 agent 模式,使其能够自主实现特定目标。

通常选择的模型为 claude-3.5 或 claude-3.7(claude 3.7 实测:在实际编程任务中提升到底有多大?,此模型刚发布,效果评价褒贬不一),

在 Agent 模式下,Cursor 可自动执行命令行脚本、自主修复 lint 错误,并能运行构建过程以修复相应的错误,甚至可以进行单元测试并自行修复问题。

可以开启 yolo 模式,这样在执行命令行时无需再次确认。为了安全起见,系统还提供了一些禁止执行命令的配置选项。

增加了代码库的索引功能,允许基于整个代码库完成特定任务。在 Ask 模式中,可以主动 @Codebase,而在 Agent 模式下则会自动搜索整个仓库。

可以在设置中查看项目是否已被索引:

在聊天中,@ 符号使用频繁,可以 @ 文件、@ 文档、@ git 等等,同时也能直接将左侧目录树的文件拖入对话框。

提前索引的文档展示:

可以查看执行历史,甚至能够并行执行多个操作:

Pro 版本售价为每月 $20,可通过 wildcard 虚拟信用卡 进行充值。每月提供 500 次快速请求,使用完毕后慢速请求的体验影响不大:

Cursor 让我们摆脱了繁琐的编码细节,转变为一个全方位的对话服务,告别了传统的 ChatGPT 对话复制粘贴的模式。我们只需耐心等待其完成代码编写,随后审阅代码或功能,期间还可以进行其他工作。

我们只需告知它我们的需求,具体实现的方式则由它自行规划。

Cursor 实际应用案例

渠道分离的 eslint 需求

背景介绍

公司的代码在微信小程序、美团、优选 app、微信美团小程序四个渠道中复用,代码中需支持分渠道编译以实现一些差异化逻辑,以下是示例代码:

// @if p == 'wx' || p == 'wxmt'
import {getDpApp} from '@yxmp/root/xxxxxx';
// @endif

function isReportToUnicorn() {const app = getDpApp();
    abForUnicorn = app?.$abTest?.isGrey('grocery_c_front_xxxxxx', 'a') || false;
    return abForUnicorn;
}

如果直接调用 getDpApp,将会导致线上问题,因为编译后 getDpApp 仅在 wx(微信小程序)和 wxmt(美团小程序)中存在,而美团和优选 app 中并未引入该函数。

然而,普通的 eslint 检查无法及时发现此类问题,因为 // @if p == 'wx' || p == 'wxmt' 对 eslint 来说仅是普通注释。

因此,我们需要对编译后的四个渠道逐一进行 eslint 检查,以便及时发现潜在问题。

快速开发流程

eslint 校验的项目是我首次编写,Cursor 出现之前,我需要逐步熟悉各项功能,才能输出调试并验证自己的思路。

但自从 Cursor 发布后,情况发生了变化。我们只需将任务拆解,告诉 AI 我们的需求,让其直接执行,往往功能就已完成,而我们都未曾察觉。

这个过程可以总结为两个步骤:

1、生成四个渠道编译后的文件并传递出去。

接下来需要进行几次修复,例如我们渠道中还有 tt,可以让它去掉:

对于命令行中的错误,可以直接将错误信息复制给它:

由于 Cursor 缺乏项目背景知识,生成的编译内容未能符合预期。但如果得知项目中已有编译方法(同事提前告知),只需告诉 AI 即可:

由于之前 Cursor 尝试了自己的方法,生成了一些冗余代码,我们还可以让它删除这些代码:

刚才我们直接生成了四个渠道的内容,但未返回对应的文件,然后让它调整返回的内容结构:

2、根据四个渠道生成的内容再分别进行 lint 检查。

随后,Cursor 就生成了我们所需的代码,整个流程其实已经顺利完成。而更令人感到惊喜的是,Cursor 对 eslint 的使用比我更为熟悉。

项目优化与技术文档生成

在原项目中,我们使用 lintFiles 方法进行代码检查,传入的是文件路径。然而,由于我们生成的是文件内容,lintFiles 无法再使用。于是,系统智能地将其替换为 lintText 来进行代码的检查。

接下来的步骤是优化输出内容,以便清楚地区分各个输出渠道:

接着,简单回顾代码的修改,并进行进一步优化:

由于原有的 lintFiles 和新增的 lintText 都需要格式化输出,因此我们将格式化的方法提取为一个公共方法,以便于调用。

无论代码是否完全理解,这次需求的功能已经顺利实现,过程相当迅速。

不过,由于技术方案尚未编写,具体的流程还需与同事沟通确认。于是,我直接请求 Cursor 帮我们生成一份此次改动的文档:

当然,最好将前两句话一起说出,否则它仅会在对话框输出,直接生成文件会更加方便。其图像是通过 mermaid 生成的,只需安装相应插件,即可在 Cursor 中预览流程图。

生成的文档内容丰富且可用,图文结合:

持续完善

与同事确认细节后,我们继续与 Cursor 进行讨论。

由于直接将所有文件内容传递给 eslint 可能导致内存问题,因此我们在修改后传入了一个编译函数。

修改完成后,我们需要召集相关人员参与正式的技术方案评审并进行代码审查,毕竟代码已经编写完毕。

让 Cursor 生成一份新的技术文档,并直接告知它涉及的几个 commit:

流程图非常详细,并且区分了修改的重点:

除了技术方案之外,Cursor 还给出了我们一个优化建议:

好吧,那就请它进行优化:

技术方案还需要包含测试计划,可以根据自己的想法请 Cursor 帮忙示例:

代码审查后再调整

在之前的批处理代码中写死了一个值为 10,cr 评论建议改为 horn(配置平台)动态下发,因此我向 Cursor 描述了这一点:

优化 TypeScript 代码:

eslint 分渠道治理

在测试过程中发现了许多可能导致线上问题的 eslint 错误,此时需要一份文档,邀请相关人员共同排查并修复。是否要一个个复制生成的结果?不需要,这同样可以交给 Cursor:

生成的表格在预览后可直接复制到文档中:

至此,未编写一行代码的需求已经完成。

编码不仅限于代码

Cursor 的功能已经不仅仅局限于代码辅助,我们可以看到它已经完成了技术方案的编写,还有更多的用途。 限制它作用的,不再是能力,而是我们的想象力。

RAG

RAG(Retrieval-Augmented Generation)是一种将信息检索与生成式 AI 结合的技术,首先从外部知识库中检索相关信息,然后利用大型模型生成更准确且上下文丰富的回答,广泛应用于问答系统和知识管理。

得益于 Cursor 的索引仓库能力,我们只需将所有文档放入一个文件夹中,待索引完成后,就可以向它询问与文档相关的问题。

代码理解能力

对于不熟悉的项目,如果想快速了解某个特定点,比如某个按钮的埋点 bid 是什么,直接询问即可:

需要注意的是,Cursor 默认不索引 .gitignore 中的文件。

处理 Excel 文件

在一个包含四个工作表的 Excel 文件中,有一些灰色的行,我想将它们全部删除:

可以直接让 Cursor 读取并处理这些行:

更多功能

… …

与 Cursor 对话的经验

  • 及时提交代码,在达到可用状态后及时 commit,便于后续回退。
  • 将大目标拆分为小目标,逐个完成。
  • 越明确的指令执行效果越好,但这个程度需要不断体会。
  • 将多个小对话整合成一个完整的对话,这样在经历多轮互动时,可能会导致后续的改动影响到之前的内容,尤其是在用户界面方面。此时,可以选择编辑原有对话,或新建会话,将所有需求一次性传达给它。
  • Cursor 的不断探索

    Cursor 能够持续扩展的关键在于 Cursor rules(每次请求前会将其传递到对话中),例如 awesome 项目所提供的一些示例:https://github.com/PatrickJS/awesome-cursorrules

    目前,Cursor 具备了智能核心,但其功能的实现依赖于我们提供的手段,Cursor rules 的扩展参考详见:搏一搏,20 变500:一小时魔改 Cursor 变身 Devin。

    通过这些改造,它可以执行如提前列出计划、总结自身的错误经验、利用工具等多种功能。

    例如,我们可以编写一个用于访问公司内部 JavaScript 错误监控的函数,并在 Cursor rules 中说明访问方法。接着,直接询问它关于昨天某个页面的 JS 错误情况,它就能给出相应的反馈。

    此外,Cursor 还支持 MCP(Model Context Protocol),这是由 Anthropic(Claude 的开发公司)推出的开放标准协议。MCP 提供一个统一接口,使 AI 应用能够安全地访问本地数据和服务,实现 AI 能力与本地资源的无缝衔接。

    目前已有许多软件支持这一协议,这意味着通过 MCP,Cursor 能够与多种软件进行交互。我们也可以查阅 awesome 项目:https://github.com/punkpeye/awesome-mcp-servers/tree/main。其中一个前端相关的实例是:Figma + Cursor:用 MCP Server 实现设计到代码的无缝转换。

    结合 Cursor rules 和各类 MCP,如果公司内部的监控平台、埋点、数据查询等系统都支持,所有内部系统的互联互通将不可想象。

    最后,分享一个大胆的观点:

    编程范式正在经历一场重大变革:从过程导向转向面向对象,再到函数式编程,现在我们进入了面向 AI 编程的新纪元。传统编程语言(如 C++、Python、JavaScript、Java)可能会逐渐演变为类似于汇编语言的角色——我们知道它们的存在,但不再需要深入研究。未来,主流的编程方式将是自然语言的使用。

    推荐阅读:

    windliang:AI 杂想 windliang:一行代码没写用 ai 开发了一个链接转二维码的网站,公众号引用链接更方便

    来源:知乎
    原文标题:Cursor 使用经验,一个需求开发全流程
    声明:
    文章来自网络收集后经过 ai 改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!
    正文完
     0
    小智
    版权声明:本站原创文章,由 小智 于2026-01-17发表,共计4222字。
    转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
    使用智语AI写作智能工具,您将体验到ChatGPT中文版的强大功能。无论是撰写专业文章,还是创作引人入胜的故事,AI助手都能为您提供丰富的素材和创意,激发您的写作灵感。您只需输入几个关键词或主题,AI便会迅速为您生成相关内容,让您在短时间内完成写作任务。
    利用AI智能写作工具,轻松生成高质量内容。无论是文章、博客还是创意写作,我们的免费 AI 助手都能帮助你提升写作效率,激发灵感。来智语AI体验 ChatGPT中文版,开启你的智能写作之旅!
    评论(2 条评论)
    沈小橙 评论达人 LV.1
    2026-01-17 18:26:10 回复

    虽然 Cursor 的功能很强大,但我担心在实际开发中,自动执行命令可能带来的安全隐患,是否有更详细的安全保障措施?

         未知
    用户A 评论达人 LV.1
    2026-01-17 03:08:11 回复

    Cursor 的 Agent 模式真的很强大,它能自动处理命令和修复错误,极大提高了编程效率,特别适合团队使用。

         未知
    利用智语AI写作工具,轻松生成高质量内容。无论是文章、博客还是创意写作,我们的免费 AI 助手都能帮助你提升写作效ai率,激发灵感。来智语AI体验ChatGPT中文版,开启你的智能ai写作之旅!
    2