Skip to content

Commit c9caffd

Browse files
committed
chore(ci): blog sync
1 parent de75b74 commit c9caffd

File tree

1 file changed

+172
-0
lines changed

1 file changed

+172
-0
lines changed

data/blog/post-27.mdx

Lines changed: 172 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
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+
![image-20241123005615242](https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/image-20241123005615242.png)
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+
![image-20241123133733933](https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/image-20241123133733933.png)
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+
![image-20241122233238837](https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/image-20241122233238837.png)
68+
69+
review 目前可能没有那么强大,我的方式是多问几次,三次左右,来保证潜在问题都被 AI 发现,最后自己再 review 一遍
70+
71+
5)强大实用的 @ 符号
72+
73+
无论是单独的对话框还是代码内对话弹窗,我们输入 @ 后就会看到
74+
75+
![image-20241123124648079](https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/image-20241123124648079.png)
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+
![cursor_use1 (1)](https://blog-1304565468.cos.ap-shanghai.myqcloud.com/work/cursor_use1%20(1).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

Comments
 (0)