自从我第一次接触 Cursor 到现在已经过去几个月,随着使用时间的增加,我发现其带来的帮助逐渐减少。曾经我打算不再续费,但误以为到期日是13号,实际上却是7号,结果又自动续费了。
初次体验
几个月前,我第一次了解到 Cursor,并对其功能感到兴奋不已。
在社交网络上看到关于它的讨论后,我迫不及待想要体验,然而价格却让我犹豫不决,最终选择了一个替代品 Windsurf。
然而,尝试使用 Windsurf 注册的过程中却屡屡失败,试了好几天也没能成功。无论是更换手机还是切换不同的科学上网服务商,结果依旧没有改变。最终,我决定开始使用 Cursor。
无限续杯与终点的探索 #技术分享
在体验了 Cursor 提供的14天免费试用期后,我深感其强大。许多我能写的功能,它都能以更高效的方式快速生成,而对于我尚未掌握的领域,它也能轻松应对。但这14天转瞬即逝,之后我开始频繁删除和重新注册账号,然而情况并不理想。
多次尝试删除账号后再注册,这种方法对我而言已然失效。
虽然在掘金上浏览了许多教程,但效果并不显著。只有一次有效的尝试,第二天却又无法使用。
那段时间恰好我在找工作,而我也刚入职不久。工作中使用 Cursor 时,发现公司同事竟然对其一无所知,甚至没有人听说过 AI 编辑器。几天后,无限续杯的使用也达到了极限。
开通会员 -> 提早下班
体验到 Cursor 的强大后,我已无法离开它。
作为前端开发者,Cursor 让我能够直接发送图片并生成页面,效果相当不错,这让我下定决心购买会员。
那段时间,我几乎未加过班,享受着轻松的工作状态。然而,最初使用时仍感到不适应,因为它总是生成基于 element-plus 组件的代码,而我们的公司有很多是二次封装的组件,导致我需要不断修改。经过十几次使用后,它逐渐理解了我的需求。
使用功能与个人感受Tab 的优劣
我经常使用的功能是 Tab,它具有灵活性和较快的生成速度。随着使用频率的增加,它能够更好地生成我所需的代码,尤其是我自己封装的组件。经过几次使用后,它便能自动调用这些组件,然而在大多数情况下,它生成的内容还是来自于之前的代码。
不过,这个功能也存在一些缺陷,例如它无法预判复杂的逻辑。如果我创建一个按钮并绑定了名为 search 的 Click 事件,Cursor 的 Tab 就能自动生成相应的 search 函数。但是如果只是创建一个按钮,目的是导出,但没有在按钮上标记“导出”或绑定 Click 事件,Cursor 根本无法理解我的意图,自然也就无法实现相关功能。
Tab 的另一个缺点则是影响复制功能。经常在准备复制内容时,Tab 的自动提示会插入多余的内容,导致我原计划复制的10个字中间夹杂了30个字。若想正常复制,通常会用鼠标选中字,但一旦光标移动到那个位置,Tab 又会介入。我多次遭遇此问题,如果你没有经历过,可以请教我解决办法。
对话模式
对话模式分为两种:全局对话与局部对话。
首先,我们来聊聊全局对话。
C 全局对话 cmd + i
由于 Cursor 会自动对所有文件进行索引追踪,因此在进行全局对话时,它会依据所有文件的索引来修改当前代码。然而,如果我只想修改一个页面,它依然会分析全局数据,增加了需要处理的信息量,这使得处理时间变得较长。
不知道这是否与我使用的科学上网工具有关,每次进行全局问答都需要几分钟,若修改错误又得重来,因此现在基本上不再使用。
此外,随着代码量的增加,处理时间会更长,而且它常常会优化不必要的内容,导致错误的优化。例如,对接口的类型定义,我通常在 api 文件夹中进行,但它却错误地认为当前文件中缺少该类型,并在附近自动创建 types.ts 文件,声明的类型和接口也并不对应。
当然,它的优点在于分析全面,如果需要跨多个文件对同一功能进行修改,尽管再慢也得耐心等候。
此后,我想起了局部对话的功能。
C 局部对话 cmd + k
我最近才开始使用这个功能,因为全局的速度太慢,突然想起局部对话 cmd + k。起初我使用它来处理 API 数据,效果还不错。
探索API与自动化工具的应用
使用ApiPost时,我通常会在左侧接口标题上进行复制,接着在代码中通过局部问答功能发送给对方,并请求他们提供接口及其类型。这种方法的准确率很高,几乎没有出现过错误。
经过几天的使用,我逐渐意识到它的一些限制。具体而言,它似乎只能在提问的下方生成内容。如果我想跨越多个位置添加内容,这种功能就显得无能为力。例如,在模板中生成页面展示,在JavaScript中创建脚本,或是在样式中生成样式。
然而,我后来发现这个功能不仅能够生成内容,还能修改选中的内容。于是,我尝试全选当前文件,实现了对整个文件的局部修改。但坦白说,整体速度并没有显著提高。
C cursorrules的应用
后来,我又引入了cursorrules。起初,我以为只能使用一个rules文件,但在微信群里看到其他人分享的截图,发现他们有六个左右的rules。经过两天的努力,我自己编写了四个rules,然而效果却时常不佳,并且我还启用了always选项。
接着,我在开始的位置写下了这样一句话:
这些指令将在本项目的所有对话中自动激活。当使用到特定的rules时,系统会打印出该rules的名称,例如“使用了项目规则.mdc文件”,以便我确认该文件的使用情况。
之后,我意外地收到了一条消息:
然而,只有“项目规则.mdc”出现过,其他mdc文件并未被识别,尽管我在其他文件中也写入了自动激活的指令。不知为何它们没有生效。
C MCP的使用体验
server-sequential-thinking的功能
我之前使用过MCP,那个时候server-sequential-thinking非常流行,它的主要功能是让思维更加有条理。当对话中提到“思考”时,它便会被激活,随后逐句分析与解释。由于在工作中较少进行如此深入的思考,我几乎没怎么使用过它。而且启用后,话语增多反而影响了效率,加上科学上网工具表现不佳,更是拖慢了速度。近期我再次尝试使用,但似乎一直没有生效,不知原因何在。
playwright自动化测试的挑战
使用playwright进行自动化测试可能显得复杂。其实我希望Cursor能够自主调用接口,并根据API文件中的声明、参数类型和返回类型,自动实现增删改查的操作。如果表单中的字段出现错误,它可以自动进行修正,然后继续填写并调用接口,直到一切顺利为止。显然,这个过程非常耗时且乏味,但至今仍未实现。
C browser-tool-mcp的功能
该工具用于让Cursor监控浏览器,能够查看控制台、DOM结构等信息。但使用一段时间后,我发现直接将控制台的错误信息发给Cursor更为高效,因此渐渐减少了对其的使用。
总结
造成MCP使用不佳的一个主要原因,是尚未打通自动化的流程,导致我仍然需要频繁进行手动操作。
这个星期,我计划研究一下Claude的提示词,看看是否能够改善Cursor的使用体验。
Please specify source if reproduced从狂热到放手:我与 Cursor 续费的告别之旅 | AI工具导航
