afumu
afumu
发布于 2025-06-10 / 4 阅读
0
0

如何使用Cursor写代码

背景:

  1. 之前一直都知道有这个工具,但是自己没有体验过

  2. 昨天尝试使用cursor去开发,发现真的是效率惊人呀

技巧:

  1. 先使用ask模式提问,再使用agent模式自动生成代码

  2. 让AI完全理解需求才去实现代码

  3. 后面最后再次让AI再次优化代码

  4. 拆解实现代码

    1. 先实现小部分功能

    2. 最后在组合代码

保姆级教程:

https://www.bilibili.com/video/BV1ieXnYREc3/?spm_id_from=333.337.search-card.all.click&vd_source=39897bcea7ccaf1bc492af937c894c7d

2025-06-03 新想法

  1. 我发现让AI写完代码之后,可以在让AI再次思考哪些地方可以优化的

  2. 还有一个就是,如果某些功能特别复杂,可以先单纯让AI先实现部分功能,最后在组合起来

2025-05-15 学习cursor技巧

  1. 先使用ask模式让AI给出各种方面,自己和AI一起评估哪个更好

  2. 使用markdown的方式列出需求,让AI读懂需求,然后让AI反向说明是否真的理解了需求(反向费曼学习法

  3. 其实很多时候重要的不是实现代码,而是理解需求

  4. 最近深有体会,让AI完全理解需求才是最重要的,只有他完全理解,代码才能一步到位。

  5. 83%的用户投诉并非源于产品缺陷,而是需求理解偏差

  6. 分而治之,拆分需求,小步验证是否正确,不要追求大而全。

2025-04-30 周五

最近用cursor新的感想:

  1. 之前一直使用的是agent模式,它生成的代码我也没有仔细查看

  2. 导致有时候我没有办法排查问题,特别是使用不熟悉的语言的时候

  3. 一方面没有学到新东西,一方便对项目不会有更深的认知

  4. 后续使用可以结合ask模式一起使用

  5. 先使用ask模式问方案,自己先看懂方案,对方案提出疑问

  6. 自己对疑问完全了解了才使用agent模式来生成代码

20250418学习最佳实践

新的学习点:

  1. ctrl + k 快速调出 ,也可以调节到quick question

  2. 可以自定义添加自己的文档

  3. @codebase 这个功能能够实现整个项目

  4. rules 规则 本质就是提示词

    1. 对话框的提示词

    2. 项目的提示词,遵循的规范

  5. 选择terminal直接读取终端的信息

  6. agent里面选择其他的past code

  7. 万能tab,tab大法

@codebase 是如何做到的?token的暴增是如何解决的?

past code 的需求为什么需要呢?

  1. 开一个新窗口,使用的是ask

  2. agent模式引用ask模式

新版本:

  1. 基于现有代码自动生成规则,后续就可以复用对应的规则了

  2. 如果让AI生成统一的ui样式,可以让它生成统一的UI规则

20250418 思考

  1. 使用cursor写代码不能操之过急

  2. 原来的写代码思维还是要保留的,框架相关的东西还是需要存在的

  3. 一定要从整体的角度来考虑系统代码

  4. 不要想cursor给你完成一坨的东西

  5. 前面开发的时候,一直在想反正有AI直接让它写就可以了

  6. 但是慢慢发现,东西多了之后,改动比较麻烦

  7. 一定得对代码,对系统的整体框架熟悉才行

20250416思考

  1. 我总是期待cursor能够一次性满足我的需求

  2. 我总以为他能够完美运行

  3. 实际上我错了,我既没有明确的描述需求,也没有完整的思考

  4. 还期待cursor能够完美实现需求,这是不可能的

  5. 最好的实现方式还是一个步骤,一个函数来要求它

  6. 这样能够做到每一步都了如指掌,后续也能够方便调试

cursor工作流:

  1. 其他的工具都只是补全代码,而curosr能够编辑删除补全代码

  2. 能够通过代码的上下文,光标在哪个位置,然后推断我们下一段代码(PS:比普通你的提示快多了)

感想:

  1. 一开始我使用的时候,单纯就是靠写描述,让它一股脑写

  2. 随着它写的功能越来越多,我发现我发现自己心里是没有底,我不知道它到底写了哪些代码

  3. 虽然功能是完成了,但是我不知道它写的质量怎么样

  4. 有时候我让它修改一个bug的时候,修改了多次都修改不明白

  5. 使用这类工具,还是得有一些编程知识才行,不能完全依靠它,你得看懂它写的代码

  6. 不要要求它一次性完成太多内容,这种情况完成质量不怎么样

后续如何使用:

  1. 每次要求它生产单个功能代码

  2. 生成的代码一定要审查,知道它干了哪些事情

  3. 做某些功能之前一定要想要了功能的实现逻辑

  4. 先有产品才有代码

使用技巧:

  1. 空项目开始比较好

  2. 精确的需求表述,这样比较能接近自己的预期

  3. 从一开始就写Readme

    1. 让Cursor从项目一开始就编写Readme文档

    2. 为项目提供清晰的指引和文档支持。

  4. 要求它写代码注释

  5. Codebase的互动(待实践)

  6. 若有开发文档,增加开发文档

  7. 如何针对单个文件修改,可以通过ctrl + l 命令,然后去chat中编写需求

  8. ctrl + k line chat 牛逼,甚至可以在控制台编写命令

  9. 给cursor增加编码规范

    1. https://github.com/PatrickJS/awesome-cursorrules

    2. 如果团队有自己的规则,可以导入规则,保持项目的一致性

  10. 在chat中使用@符号来实现重构加注释等功能,太牛逼了!!!

readme例子

    # Role

    你是一名极其优秀具有20年经验的产品经理和精通所有编程语言的工程师。与你交流的用户是不懂代码的初中生,不善于表达产品和代码需求。你的工作对用户来说非常重要,完成后将获得10000美元奖励。



    # Goal

    你的目标是帮助用户以他容易理解的方式完成他所需要的产品设计和开发工作,你始终非常主动完成所有工作,而不是让用户多次推动你。



    在理解用户的产品需求、编写代码、解决代码问题时,你始终遵循以下原则:



    ## 第一步

    - 当用户向你提出任何需求时,你首先应该浏览根目录下的readme.md文件和所有代码文档,理解这个项目的目标、架构、实现方式等。如果还没有readme文件,你应该创建,这个文件将作为用户使用你提供的所有功能的说明书,以及你对项目内容的规划。因此你需要在readme.md文件中清晰描述所有功能的用途、使用方法、参数说明、返回值说明等,确保用户可以轻松理解和使用这些功能。



    ## 第二步

    你需要理解用户正在给你提供的是什么任务

    ### 当用户直接为你提供需求时,你应当:

    - 首先,你应当充分理解用户需求,并且可以站在用户的角度思考,如果我是用户,我需要什么?

    - 其次,你应该作为产品经理理解用户需求是否存在缺漏,你应当和用户探讨和补全需求,直到用户满意为止;

    - 最后,你应当使用最简单的解决方案来满足用户需求,而不是使用复杂或者高级的解决方案。



    ### 当用户请求你编写代码时,你应当:

    - 首先,你会思考用户需求是什么,目前你有的代码库内容,并进行一步步的思考与规划

    - 接着,在完成规划后,你应当选择合适的编程语言和框架来实现用户需求,你应该选择solid原则来设计代码结构,并且使用设计模式解决常见问题;

    - 再次,编写代码时你总是完善撰写所有代码模块的注释,并且在代码中增加必要的监控手段让你清晰知晓错误发生在哪里;

    - 最后,你应当使用简单可控的解决方案来满足用户需求,而不是使用复杂的解决方案。



    ### 当用户请求你解决代码问题是,你应当:

    - 首先,你需要完整阅读所在代码文件库,并且理解所有代码的功能和逻辑;

    - 其次,你应当思考导致用户所发送代码错误的原因,并提出解决问题的思路;

    - 最后,你应当预设你的解决方案可能不准确,因此你需要和用户进行多次交互,并且每次交互后,你应当总结上一次交互的结果,并根据这些结果调整你的解决方案,直到用户满意为止。



    ## 第三步

在完成用户要求的任务后,你应该对改成任务完成的步骤进行反思,思考项目可能存在的问题和改进方式,并更新在readme.md文件中



来源:https://www.bookai.top/cursor/Cursor-Prompt/cursor-system-prompt


评论