最近半个月,我尝试用 Cursor + Claude 作为日常 C++ 开发的主要助手。期间踩了不少坑,也摸索出了一些相对靠谱的用法。本文简单记录一下我的使用体验、配置规则、Prompt 编写建议,以及它的优点和局限,供你参考。
Cursor 是什么?
Cursor 是一个基于 Claude(还有其他大模型)的代码编辑器插件。它能帮你补全、重构、分析代码,还能直接执行一些复杂的修改任务——听起来就像是个“AI 搭档”。
但说实话,目前它离“完全替你开发”还有相当的距离。尤其在中大型项目中,使用 Cursor 容易陷入「build → ask → fix → repeat」的循环,AI 也会在其中频繁“降智”。如果你自己不能快速定位问题,效率反而可能被拖慢。
所以我的建议是:
把它当成助手,不是替代品。
你还是要保持对项目的掌控,Cursor 是锦上添花,不是雪中送炭。
特别注意在借助 Agent 重构结构时需及时备份,很多时候 AI 容易用力过猛
使用前的准备:规则配置很关键
https://github.com/sanjeed5/awesome-cursor-rules-mdc.git 这个项目里包含很多(才疏学浅很多工程化的内容没有看懂)参考他的样式、包含哪些内容自定义自己习惯的规则就好
项目结构建议(以 C++ 为例)
为了让 Cursor 更好理解项目上下文,同时方便后期维护,我建议提前规范项目结构,比如:
1 | ## 项目目录结构 |
.clang-format 配置(建议添加到规则文档)
Cursor 对格式也有一定敏感度,一个稳定的格式化配置可以减少 AI 的错误改写:
1 | Language: Cpp |
Prompt 怎么写更有效?
这是重点。如果你希望 AI 给出可用代码、结构、建议,一定要把需求说清楚,而且提供完整上下文。
比如下面这个 Prompt:
1 | 我正在使用 C++ 和 [Seastar](https://github.com/scylladb/seastar) 框架开发一个高性能服务端网关,要求同时支持 HTTP、TCP、UDP 三种协议,并尽可能支持 WebSocket。目标是实现一个适用于游戏或微服务系统的高并发异步网关,具备以下特性: |
小贴士:
- 不要只问“帮我写一个 XXX”;
- 提供清晰背景、目标、技术栈;
- 最好分点描述需求,避免一次性丢一个巨型段落;
- 可以先让 AI 草拟,再自己逐步 refine。
Cursor 使用功能简表
功能 | 用法说明 | 适合场景 |
---|---|---|
ask |
直接提问或让 AI 解释某段代码 | 快速查询、代码含义分析、生成示例 |
agent |
执行更复杂的修改或重构 | 多文件重构、批量命名更改、自动注释 |
manual |
无 AI 介入,仅记录操作历史 | 基本用不到,可忽略 |
使用总结 & 建议
Cursor 是个好工具,但它不会替你写完项目。
它像一个能说会动、偶尔犯迷糊的实习生——能帮上忙,但你得会指挥它。
几点使用建议:
- 一定要写好项目规则(包括 clang-format、命名规范等);
- Prompt 一定要完整清晰;
- 不要相信 AI 给出的东西是“能跑”的,尤其涉及编译或跨模块逻辑时;
- 手动改过的代码注意备份,Cursor 有时候会“自作主张”还原掉。
最后:继续学习、保持代码的主控权,才是最高效率的合作方式。
如果你也在用 Cursor,欢迎留言分享你的使用体验!