|  | 
|  | 1 | +--- | 
|  | 2 | +title: cursor 使用经验分享,满满干货 | 
|  | 3 | +date: 2024-11-23T08:30:43Z | 
|  | 4 | +slug: post-27 | 
|  | 5 | +author: chaseFunny:https://github.com/chaseFunny | 
|  | 6 | +tags: [] | 
|  | 7 | +--- | 
|  | 8 | + | 
|  | 9 | +cursor 是一款基于 VSCode 的 AI 优先编辑器,如果你还没有体验过它,我强烈建议看完这篇,因为 cursor 真的在改变编程游戏的规则,在了解 cursor 前,可以先思考一下我们日常在编程环节都做哪些事情,我日常开发中,占据绝大多少的是: | 
|  | 10 | + | 
|  | 11 | +1、编写代码 | 
|  | 12 | + | 
|  | 13 | +2、测试代码 & 验证效果 | 
|  | 14 | + | 
|  | 15 | +3、阅读之前的代码 | 
|  | 16 | + | 
|  | 17 | +4、查阅文档(例如:MDN) | 
|  | 18 | + | 
|  | 19 | +5、书写文档 | 
|  | 20 | + | 
|  | 21 | +6、review 代码,提交 commit | 
|  | 22 | + | 
|  | 23 | +7、优化代码,重构代码 | 
|  | 24 | + | 
|  | 25 | +。。。可能还有一些小的事情,以上所有的事情都可以通过 cursor 来提速,让我们一起看一下 cursor 吧! | 
|  | 26 | + | 
|  | 27 | +## 它的能力 | 
|  | 28 | + | 
|  | 29 | +cursor 帮助我们的基础方式如下: | 
|  | 30 | + | 
|  | 31 | +- tab 代码补全功能:生成,修复,重构代码 | 
|  | 32 | +- 提示框(cmd + k): 生成 or 修改局部(当前文件)代码 | 
|  | 33 | +- 聊天(cmd + L / option + command + B):新增功能 ,更广泛代码问题对话的地方 | 
|  | 34 | +- @ 符号:它是用来引用一些东西,算是通过关联更重要的上下文来得到更准确的回复 | 
|  | 35 | + | 
|  | 36 | +这样来看,我之前使用的通义灵码也都可以,但是它不一样,不一样的地方有: | 
|  | 37 | + | 
|  | 38 | +1. 交互不一样:它除了有其他产品的补全代码,它还能对当前代码进行修改(理解为 bug 修复,重构代码),它还能预测你的光标要移动到的位置来让你真正沉浸式编程 | 
|  | 39 | +2. 模型不一样:它使用目前最强的 Claude 3.5 Sonnet | 
|  | 40 | +3. 感觉不一样:当我们在 VSCode 使用其他工具,会感觉有割裂感,但是 cursor 不会,我会感觉 AI 能力和编辑器融合的很好,这样我们能更加融入AI 编程中,真正实现 AI 结对编程(和 AI 甜蜜双排,从此写代码不孤独) | 
|  | 41 | +4. 生成的结果不一样:最重要的当然是生成的结果,这段使用的时间中,cursor 得到的结果,基本上都是我想要的,偶尔有点小问题,也能很快找到原因手动解决掉 | 
|  | 42 | + | 
|  | 43 | +你以为这就完了,这其实才刚刚开始,下面我们看一下 cursor 真正的杀手锏的能力 | 
|  | 44 | + | 
|  | 45 | +1)终端对话 | 
|  | 46 | + | 
|  | 47 | +对于前端来说,很多 linux 命令,我们不常用,有时候也会使用但总是记不起来,需要查阅文档,在 cursor 中,我们直接在终端按下 cmd + k,就可以唤起对话,描述出要做的事情来询问对应的命令是什么,AI 会帮我们找到命令,然后输入到命令行 | 
|  | 48 | + | 
|  | 49 | + | 
|  | 50 | + | 
|  | 51 | +除此之外,我们还可以使用它来生成 commit 信息,先在终端中,输入‘git diff | cat’,获取最近的修改,然后 cmd + k,在提示栏中输入‘git commit message’, Cursor会给你生成一个带 commit message 的 git commit 命令 | 
|  | 52 | + | 
|  | 53 | +2)composer(beta 能力,需要开启) | 
|  | 54 | + | 
|  | 55 | +composer 其实就类似于 bolt.new (一个通过描述生成项目的工具),你给出需求,它会自动创建文件(夹)来实现需求,如何使用请看文档,后面我会使用 composer 能力来做一个项目分享它强大的能力 | 
|  | 56 | + | 
|  | 57 | + | 
|  | 58 | + | 
|  | 59 | +更详细的请看:https://cursor101.com/zh/article/cursor-composer | 
|  | 60 | + | 
|  | 61 | +3)文档能力 | 
|  | 62 | + | 
|  | 63 | +在 Cursor Setting > Features >Docs 我们可以添加我们日常使用的文档,例如:mdn 文档,这样我们需要查询文档就不用去游览器,直接在对话框@ 选 Docs 来选择我们要查询的文档 | 
|  | 64 | + | 
|  | 65 | +4)code review (beta 能力,需要开启) | 
|  | 66 | + | 
|  | 67 | + | 
|  | 68 | + | 
|  | 69 | +review 目前可能没有那么强大,我的方式是多问几次,三次左右,来保证潜在问题都被 AI 发现,最后自己再 review 一遍 | 
|  | 70 | + | 
|  | 71 | +5)强大实用的 @ 符号 | 
|  | 72 | + | 
|  | 73 | +无论是单独的对话框还是代码内对话弹窗,我们输入 @ 后就会看到 | 
|  | 74 | + | 
|  | 75 | + | 
|  | 76 | + | 
|  | 77 | +6)AI fix  | 
|  | 78 | + | 
|  | 79 | +当我们在代码报错后,鼠标移入会有 AI FIx 按钮,或者终端报错,我们选中报错,会有 Add to Chat 按钮,我们可以在对话中进行报错询问 | 
|  | 80 | + | 
|  | 81 | +7)预测你的下一步 | 
|  | 82 | + | 
|  | 83 | +它会猜你下一步做什么,并且把光标放到合适的位置,让你真正一路 tab  | 
|  | 84 | + | 
|  | 85 | +以下是一些还没有体验过的规则: | 
|  | 86 | + | 
|  | 87 | +8)自定义规则 (AI rules) | 
|  | 88 | + | 
|  | 89 | +我们可以在项目根目录新建 .cursorrules 来自定义规则,有一个专门的社区:https://cursor.directory/,里面有实用的规则,我们可以直接复制使用 | 
|  | 90 | + | 
|  | 91 | +9).cursorignore  | 
|  | 92 | + | 
|  | 93 | +类似 .gitignore ,定义不让 cursor 读取的内容,保证安全 | 
|  | 94 | + | 
|  | 95 | +## 使用场景  | 
|  | 96 | + | 
|  | 97 | +1)学习源码 、新技术、框架等等 | 
|  | 98 | + | 
|  | 99 | +通过 cursor 的超强能力,我们可以拉取一个源码到 cursor 中,渐进的询问当前项目的问题,我们想要询问编程概念问题;获取代码建议和最佳实践;调试和错误排查的时候我们可以通过 cmd + L 唤起对话框来进行连续提问 | 
|  | 100 | + | 
|  | 101 | +2)做项目、写项目文档 | 
|  | 102 | + | 
|  | 103 | +3)重构代码 | 
|  | 104 | + | 
|  | 105 | +4)利于 @ Docs 能力,建立自己的知识索引库 | 
|  | 106 | + | 
|  | 107 | +5)写小工具网站,快速想法变为现实,例如:在线工具库,导航网站等等,这对有想法的产品经理来说是福音,他们可以快速把自己想法变成现实 | 
|  | 108 | + | 
|  | 109 | +## 一些 cursor 看法 | 
|  | 110 | + | 
|  | 111 | +cursor 目前面临的质疑有: | 
|  | 112 | + | 
|  | 113 | +1. 面对复杂项目就没有作用了,甚至会把事情变得更加糟糕 | 
|  | 114 | +2. cursor 产生的代码质量不高 | 
|  | 115 | + | 
|  | 116 | +那 cursor 无论怎么说都是一个工具,它的核心是提高我们的效率。我会它当做成雇的初中级工程师,所以我在让它帮我完成工作前,我肯定会事无巨细的告诉它这个工作如何完成,并且我会通过 @ 文件能力,仅仅把相关的上下文给他,来防止它上下文太大导致回复不准确问题(也就是产生幻觉),所以有三个能力在使用 cursor 非常非常重要: | 
|  | 117 | + | 
|  | 118 | +1. 提问能力:cursor 核心还是对话,通过 chat 来解决问题,得到我们想要的内容,那么描述清楚问题是一切的基础,推荐阅读《提问的智慧》 | 
|  | 119 | +2. 拆解需求能力:要有把复杂问题拆解为简单问题,把大需求分解为小需求的能力,然后清晰描述出小需求给 cursor ,让它每次只做一个小的需求 | 
|  | 120 | +3. 有强大的知识储备,解决问题能力:cursor 根据我们提出的问题(描述)生成回复,那我们必须要知道这个东西如何实现,能够清楚描述出来,得到的结果如果有细小的错误,我们自己也能及时发现并修复 | 
|  | 121 | + | 
|  | 122 | +哦对了,了解 AI 如何工作也是必备的,这样才能更好的使用 AI,把 AI 当成自己雇佣的开发者,多了解它才能让它发挥最大的作用 | 
|  | 123 | + | 
|  | 124 | +所以 cursor 到底能够有多厉害,关键还是在人,高手中的 cursor 和初级开发者手中的 cursor 是两个产品 | 
|  | 125 | + | 
|  | 126 | +## 对比 windsurf | 
|  | 127 | + | 
|  | 128 | +windsurf(风帆冲浪)和 cursor 类似,基于 VSCode 的 AI 编辑器,它是 codeium 下的产品 | 
|  | 129 | + | 
|  | 130 | +官网:https://codeium.com/windsurf | 
|  | 131 | + | 
|  | 132 | +根据官方的描述,它相比较 cursor 在体验上更加流畅,在处理复杂大型项目更加友好,它将流程(flow)作为核心设计理念,提供更连贯的开发体验,个人测试了一下,它在写新功能场景下,使用 Write mode ,它会帮我们更加流畅的创建需要的文件,实现功能。 | 
|  | 133 | + | 
|  | 134 | +如果必须做一个选择,那我目前还是会渲染 cursor 的 | 
|  | 135 | + | 
|  | 136 | +## 怎么免费白嫖会员服务 | 
|  | 137 | + | 
|  | 138 | +cursor:其实很简单,cursor 新人是有 14 天体验会员,cursor 账号可以使用 Google 账号,那我们就可以在我们体验会员过期后,使用 Google email (https://mail.google.com/mail/u/0/#inbox)申请子账号的能力来实现 cursor 会员自由 | 
|  | 139 | + | 
|  | 140 | +windsurf(免费领取会员链接:https://codeium.com/offers?offer_code=codeium-thanks-you ),它目前在推广阶段,可以免费领取两个月,使用的也是 Claude 3.5 Sonnet 模型 | 
|  | 141 | + | 
|  | 142 | + | 
|  | 143 | + | 
|  | 144 | +## 总结 | 
|  | 145 | + | 
|  | 146 | +常用技巧(来源网络:https://x.com/LinearUncle/status/1841703117865550038) | 
|  | 147 | + | 
|  | 148 | +.webp) | 
|  | 149 | + | 
|  | 150 | +cursor 这类的产品真的是颠覆了开发模式,现在我们可以在 cursor 这样的编辑器 all in one,而且我们可以更多的关注业务,减少重复代码工作,那我们节省下的精力就可以: | 
|  | 151 | + | 
|  | 152 | +- 让我们写出更加规范的代码 | 
|  | 153 | +- 让我们研发流程更加规范,如果真正做到每次让 cursor 做一个小需求,然后完成后,我们提交一个 commit,然后提交 pr,这样能避免一个 pr 改动太大的问题 | 
|  | 154 | +- 让我们可以有更多时间解决有挑战的事情,提升自己 | 
|  | 155 | +- 让我们能够从基础 CRUD 脱离,去思考 | 
|  | 156 | + | 
|  | 157 | +如果你真的使用 cursor ,你会发现代码都被 AI 写了,会产生一种完啦,我快要被替代了的感觉,是的,我是这样想的,面对变化最好的变化就是拥抱变化,加入变化,这样才能更好的找到破局的方法,AI 对编程行业真的在进行颠覆性的改变,并且不可阻挡 | 
|  | 158 | + | 
|  | 159 | + | 
|  | 160 | + | 
|  | 161 | +如果觉有有用,点个赞再走吧,这对我真的很重要,谢谢啦! | 
|  | 162 | + | 
|  | 163 | +## 参考 | 
|  | 164 | + | 
|  | 165 | +Cursor101:https://cursor101.com/zh/ | 
|  | 166 | + | 
|  | 167 | + | 
|  | 168 | + | 
|  | 169 | + | 
|  | 170 | + | 
|  | 171 | +--- | 
|  | 172 | +此文自动发布于:<a href="https://github.com/coderPerseus/blog/issues/27" target="_blank">github issues</a> | 
0 commit comments