Cursor使用技巧(持续更新)

(1) 使用技巧

============ 核心概念:Cursor 的三把斧 ============
在开始之前,请务必记熟这三个快捷键,它们对应不同的开发阶段:

Ctrl + I (Composer - 编写器):上帝模式。用于从零生成整个项目结构、多文件编辑。这是新项目的核心。

Ctrl + L (Chat - 侧边栏对话):顾问模式。用于询问思路、解释代码、搜索文档。

Ctrl + K (Inline Edit - 行内编辑):装修模式。用于在当前文件里局部修改代码(例如:“把这个函数改成并发执行”)。

//备注:本人没有体会到前两个的区别

实战演示:如何用 Cursor 写一个 Go 项目
假设我们要写一个简单的 “基于 Go 的 CLI 工具,用于查询天气”。

============ 第一步:建立“项目宪法” (.cursorrules) ============ 
这是绝大多数新手忽略的一步。在项目根目录下创建一个 .cursorrules 文件。这相当于给 AI 下达“出厂设置”。

操作:手动创建 .cursorrules,填入以下内容

# Role
你是一个资深的 Go 语言后端工程师,擅长编写高性能、简洁的代码。

# Tech Stack
- Language: Go (Golang) latest version
- Framework: Cobra (for CLI), Standard Library for HTTP

# Coding Style
- 遵循 "Effective Go" 和 Google Go Style Guide。
- 错误处理:总是检查 error,不要忽略它。使用 `fmt.Errorf` 包装错误以提供上下文。
- 模块化:保持 package 小而专注。
- 注释:关键导出函数必须有注释(英文)。

# Constraints
- 优先使用标准库,除非必须才引入第三方库。
- 代码必须包含单元测试。

============ 第二步:使用 Composer 生成骨架 (Ctrl + I) ============
不要手动建文件。按下 Ctrl + I 打开 Composer(一个可以浮动的窗口),选择 "Normal" 或 "Agent" 模式。

输入 Prompt:

我要创建一个 Go CLI 工具,名为 weather-cli。

使用 Cobra 库构建命令行结构。

包含一个 get 命令,接受城市名作为参数。

模拟一个 API 调用(暂时返回假数据)来获取天气。

生成 go.mod,main.go 和 cmd/ 目录结构。

请一次性生成所有必要的文件。

结果: Cursor 会列出它计划创建的文件列表(go.mod, main.go, cmd/root.go, cmd/get.go)。你点击 "Accept All" (全部接受),甚至点击 "Save All"。 瞬间,你的项目结构就搭好了。

============ 第三步:利用 @Web 填充真实逻辑 ============
现在骨架有了,但数据是假的。你需要真实的 API。

打开 Chat (Ctrl + L)。 输入 Prompt:

@Web 查找一个免费且不需要复杂的 Auth 的天气 API,并告诉我如何在 Go 中调用它。然后帮我修改 cmd/get.go,替换掉模拟数据,接入真实 API。

技巧:

@Web 让 Cursor 联网搜索最新信息。

Cursor 会搜索到比如 OpenMeteo 或类似 API,并直接给出代码修改建议。你只需要点击代码块右上角的 "Apply",它就会自动把代码写进文件。

============ 第四步:编写文档与测试 ============
代码写完了,别忘了收尾。

再次使用 Composer (Ctrl + I): 输入 Prompt:

@Codebase (或者手动选中所有文件)

为当前项目编写一个详细的 README.md,包含安装步骤和使用示例。

为 cmd/get.go 中的核心逻辑编写单元测试。

============ 进阶技巧:如何“调教” Cursor ============
1. 上下文引用 (Context is King)
Cursor 强就强在它懂你的项目。在输入框里输入符号来引用:

@Files:告诉 AI 参照特定的文件(例如:@main.go 帮我解释这块逻辑)。

@Codebase:扫描整个项目。适合问全局问题(例如:@Codebase 我在哪里定义了 API Key?)。

@Docs:超级好用。如果你在用一个冷门的 Go 库,可以在 Cursor 设置里添加这个库的文档 URL。之后输入 @MyLib,AI 就会读完文档再教你写代码,不会瞎编。

2. Tab 键的“预测”能力
在写代码时,不要只盯着光标。

当你敲下回车,Cursor 会用灰色文字显示它预测的下一行代码。

如果你发现它预测对了,直接按 Tab。

有时候它甚至会预测你接下来要修改哪一行,这时按 Tab,光标会直接跳过去。这叫 "Cursor Tab" (Copilot++ 模式)。

3. 修复报错 (Debug)
如果在终端运行 go run main.go 报错了:

选中终端里的报错信息。

你会看到一个浮动的 "Add to Chat" 按钮(或者按快捷键 Ctrl + Shift + L)。

它会自动把报错信息和相关代码发给 AI,你只需问:“怎么修?”

============ 总结:你的新工作流 ============

配置:写好 .cursorrules (一次性投入,终身受益)。

起步:Ctrl + I (Composer) 描述需求 -> 生成全套文件。

开发:Tab 补全代码,Ctrl + K 局部修改。

遇到不懂/查资料:Ctrl + L 配合 @Web 或 @Docs。

(2) 实战案例(利用好Plan + Agent组合)

(1)创建这篇Blog,以前要手动处理大量格式,现在只需要下面提示词即可

    “创建“Cursor”使用技巧的空白博客”

(2)plan 写需求 + agent 写代码 + 人工 code review

    编码种一直有个麻烦,需要手动去添加gitignore, 而不是所见即所得的gitignore,我需要一个命令行,能再任何使用忽略文件或者文件夹,而他会自动找到.gitignore并加进去。用下面的提示词即可

    自动化的ignore程序:
    1、gitignore go 生成go模板的. .gitignore
    2、gitignore react 生成react模板的. .gitignore
    3、gitignore c++ 生成c++模板的. .gitignore
    4、gitignore c 生成c模板的. .gitignore
    5、gitignore matlab 生成matlab模板的. .gitignore
    6、gitignore -f  dir 添加忽略文件夹
    7、gitignore -f  file 添加忽略文件
    8、当前无.gitignore文件,则向上一级文件夹找,一直找到并添加路径到.gitignore文件


    成品展示: https://github.com/panyingyun/gg

(3) plan 写需求 + agent 写代码 + 人工 code review

    搜索中一直有个困扰,find 和 grep 语法不一致,导致记不住

    使用Go实现搜索命令行,兼具find和grep的功能
    1、通过命令  gf  -f  "abc"   /   , 递归搜索指定目录并且文件中包含abc字符串,并输出文件路径及字符串所在行数
    2、通过命令  gf  -g  "abc"  /   , 递归搜索指定目录并且文件名包含abc字符串,并输出文件路径

    成品展示: https://github.com/panyingyun/gf

(4) plan 写需求 + agent 写代码 + 人工 code review

    解析命令行参数: 和 
    1、根据文件后缀自己智能选择压缩和解压算法
    2、压缩命令格式 gz zip <输出文件> <源目录>
    3、压缩命令格式 gz unzip <压缩包>
    4、压缩时发现没有文件夹,自动创建一个文件夹,避免解压后目录乱掉
    5、错误处理和用户友好的错误提示

    成品展示: https://github.com/panyingyun/gz

官方资料

https://cursor.com/cn/features