【AI智能体】Cursor 进阶高级使用技巧实战操作详解
目录
一、前言
在过去的很长一段时间里,Cursor 被誉为最全能的 AI 工具,它不仅是一个编程 Agent,更是一个几乎可以替换掉任何对话工具的全能 AI。Cursor 的出现,让很多软件工程师大开眼界,从而打开了一扇从传统编程进入到AI编程的新时代,可以说,只要你能想到的场景,Cursor 都能帮你自动化完成。借助Cursor ,不仅可以大大提升编程效率,而且对着技术的发展,Cursor 的功能也越来越完善,不仅可以做AI编程,在更多的领域都展示出了强大的能力,本篇将详细介绍Cursor 的一些进阶高级使用技巧。
二、Cursor 介绍
2.1 Cursor 是什么
Cursor是一个类VSCode的智能编程IDE,集成了GPT-4、Claude3.5等先进大语言模型(LLM),本质上是一个内置AI助手的VSCode。它不仅支持自然语言编程,还提供从代码编写、调试、重构到部署的智能辅助。你可以像和人交流一样与AI协作,大幅提升开发效率和代码质量。官网:https://cursor.com/

2.2 Cursor 核心特性
Cursor 主要包括如下核心特点:
-
AI原生设计:
-
从底层架构就融入了AI能力,而非后期添加的插件智能代码生成:通过自然语言描述快速生成代码片段
-
-
上下文感知:
-
深度理解项目结构和代码关系
-
-
实时协助:
-
在编程过程中提供即时的建议和优化
-
-
多模型支持:
-
集成了多种先进的大语言模型
-

2.3 Cursor与传统IDE区别
Cursor与传统IDE主要有下面的区别:
|
功能特性 |
传统IDE |
Cursor |
|
代码补全 |
基于语法分析和已有代码的静态补全 |
AI驱动的智能补全,理解上下文和意图 |
|
代码生成 |
依靠预设模板和代码片段 |
通过自然语言描述生成完整代码逻辑 |
|
问题解决 |
需要手动查找文档、Stack Overflow等 |
内置AI助手,即时解答编程问题 |
|
代码理解 |
提供语法高亮和基础结构分析 |
深度理解代码逻辑,提供详细解释 |
|
重构优化 |
手动操作,依赖开发者经验 |
AI智能分析并建议最佳重构方案 |
|
学习支持 |
需要外部资料和文档 |
内置技术知识,实时学习辅导 |
|
错误处理 |
显示编译错误和基础语法检查 |
预测潜在问题,提供修复建议和解释 |
2.4 Cursor与传统IDE核心差异总结
与传统的IDE相比,具有如下的核心差异
|
对比维度 |
传统IDE |
Cursor |
|
交互方式 |
基于菜单、快捷键的工具操作 |
自然语言对话+传统操作 |
|
学习曲线 |
需要记忆大量快捷键和功能位置 |
通过对话快速上手,降低学习门槛 |
|
开发效率 |
依赖开发者经验和熟练度 |
AI辅助显著提升编码速度 |
|
代码质量 |
主要依靠开发者技能水平 |
AI持续提供最佳实践建议 |
|
知识获取 |
需要主动搜索和学习 |
被动接收AI推荐和解释 |
|
问题诊断 |
基于错误信息手动排查 |
AI分析问题根源并提供解决方案 |
|
创新能力 |
受限于开发者知识范围 |
AI提供多样化解决思路 |
|
适用人群 |
需要一定编程基础 |
适合各个水平的开发者 |
三、Cursor 进阶高级技巧案例使用
接下来通过实际案例详细介绍下在Cursor 中的一些进阶高级使用技巧。
3.1 TAB 使用
Cursor Tab是我们本地的自动补全功能。它是一个更强大的Copilot,能够建议整个差异,并具有特别好的记忆。在光标周围建议编辑,而不仅仅是插入额外的代码。同时修改多行。根据您最近的更改和linter 错误提出建议。它的作用很多,下面分别介绍。
3.1.1 代码/注释自动补全
我们使用ctrl+K给Ai agent命令,让其生成一段可以测试 Tab按键的python代码,当我将首行注释时,python代码由于无法识别tk是什么而产生报错(可以看到第一行文字颜色稍浅,是tab功能的提示输入),让我们尝试将第一段删除,并敲击键盘上的tab键进行使用。同时,在编写程序时,Cursor有时候也会帮我们自动注释,这时敲击TAB可以注释。

在上面的图中,我写了几个注释,在某个注释的后面,只需要按下 TAB键,Cursor 将自动为我生成符合注释要求的代码,同时会发现,第一个注释后面的代码生成之后,TAB键自动跳转到下一个位置去了

Tab自动补全后,先点击右上角三角小箭头,是启动功能,然后会生成我们代码的结果小窗口(测试Tab功能的程序,并能够进行直接测试)

可以点击运行在终端很方便的看效果

3.1.2 TAB 键深度使用
Tab: 按Tab键接受整个建议
Esc: 按Esc键拒绝整个建议
Ctrl+一>: 逐字接受建议
Tab会预测开发者接下来可能需要编辑的位置,并在接受当前修改后自动建议跳转到下一个相关位置。只需再次按下Tab键即可快速跳转,极大减少了鼠标操作和手动寻找的时间。在某些项目中,当我们有多个文件时,Tab也会帮我们预测下个文件功能的位置,敲击Tab进行文件的跳转。
在第三段注释代码刚刚生成并接受之后,TAB 键自动预测并跳转到了下一个注释的位置

3.2 Cursor 内联智能使用
3.2.1 什么是内联智能
内联智能,顾名思义,就是指智能功能直接嵌入在代码编辑器的编辑界面内,与代码内容无缝结合,实时显示和交互,帮助开发者在编写代码的“行内”获得智能辅助。
换句话说,内联智能就是把 AI 的能力“贴近代码”,在开发者写代码时直接在代码旁边、行内或特定位置给出提示、补全、注释、建议等信息,无需跳转窗口或打开其他面板。
3.2.2 内联智能核心特点
内联智能具有如下核心特点
|
特点 |
说明 |
|
实时性 |
随代码输入即时触发,反馈快速 |
|
上下文感知 |
基于当前文件乃至整个项目的代码上下文进行智能推断 |
|
无缝集成 |
直接显示在代码编辑区域,不打断开发者思路 |
|
交互便捷 |
集成代码补全、错误提示、重构建议、文档注释等多种智能功能 |
|
多功能融合 |
集成代码补全、错误提示、重构建议、文档注释等多种智能功能 |
3.2.3 内联智能技术实现要点
|
特点 |
说明 |
|
上下文感知语义理解 |
结合语法树(AST)、类型信息、代码调用关系进行深度语义解析 |
|
模型推理与缓存机制 |
采用大模型推理辅助决策,并缓存历史结果减少延迟 |
|
编辑器插件集成 |
通过 VSCode、IntelliJ 等编辑器扩展实现 UI 层和交互层支持 |
|
事件驱动机制 |
监听代码输入、保存、切换文件等事件触发智能响应 |
|
异步反馈与并发处理 |
保证智能提示不会阻塞编辑体验,异步加载和更新内容 |
3.2.4 内联智能案例场景使用
内联智能在日常编程开发中有比较多的使用场景,具体来说:
-
智能代码补全
-
在开发者输入代码时,内联智能能结合上下文和历史记录,推荐最合适的代码片段或函数调用
-
例如输入变量名、函数名时,自动提示匹配项并支持快速选取
-
-
代码错误和警告提示
-
直接在代码行内或旁边标注语法错误、潜在逻辑漏洞
-
例如拼写错误、类型不匹配、变量未定义等即时警告
-
-
重构建议和代码优化
-
在相关代码处提示重构可能性,比如函数拆分、命名优化、循环简化
-
鼓励代码规范化、模块化,提升可维护性
-
-
生成文档注释
-
在函数定义或类上方内联提示缺少注释,提供自动生成选项
-
帮助快速补全符合规范的 API 文档
-
-
单元测试建议
-
代码变更时,内联提示可能需要新增或修改的测试用例
-
支持快速跳转生成测试代码模板
-
下面通过几个实际案例演示一下。
3.2.4.1 代码补全
如下,当我们在一个文件中写下一段注释,然后按下TAB键的时候,Cursor 自动理解注释的含义,然后生成代码

按下TAB键之后,代码就自动添加在注释下方

也可以通过 Ctrl + K 的快捷键调出局部对话框,如下,在小窗口中给出提示词:

然后点击小箭头确认,然后就在下方快速生成了代码

3.2.4.2 生成注释
选中某个方法块,生成代码的注释

生成之后,按照提示,选中即可

3.3 Cursor 精准上下文使用
3.3.1 什么是Cursor 的精准上下文
Cursor的“精准上下文”核心就是使用 @ 符号系统。你可以把它理解为给AI的“精确引用”,让AI不再靠猜,而是直接定位到你指定的代码、文件,甚至网络文档,从而实现手术刀般的精准操作。可以看到,在对话框中输入@之后,下拉很多选项可以使用,在日常编程开发中,可以借助这些选项辅助完成很多开发、问题排查、数据分析等工作。

3.3.2 精准上下文@命令汇聚
下面我将核心的 @ 命令整理成了下面的速查表:
|
命令 |
作用 |
典型场景举例 |
|
|
引用一个或多个特定文件 |
“参照 |
|
|
引用整个文件夹,提供更广泛的上下文 |
“检查 |
|
|
引用代码中的特定函数、类或变量 |
“重构 |
|
|
为AI提供外部文档知识,避免它“胡编乱造” |
“根据 |
|
|
让AI进行实时在线搜索,获取最新信息 |
“帮我查一下 Node.js 最新的稳定版本是什么? |
|
|
引用Git提交历史或差异,用于审查代码或生成提交信息 |
“根据我暂存的更改,写一条提交信息。 |
|
|
引用编辑器中所有的代码检查错误 |
“帮我修复 |
|
|
让AI理解整个项目,回答全局性问题(主要用于聊天模式) |
“这个项目里的用户认证流程是怎样的? |
使用技巧:这些
@命令可以组合使用,为AI提供更丰富的上下文。例如,你可以问:“参照@Button.tsx的样式,修复@Lint Errors中关于Header.tsx的问题。”
3.3.3 使用案例
接下来通过几个实际案例分享一下Cursor精准上下文的用法。
3.3.3.1 文件引用
通过@或者直接拖拽文件的方式

也可以通过@文件的方式,可以@某个具体的文件,也可以是某个文件夹,或者文档

3.3.3.2 web 链接引用
可以在Curosr 中直接引用外链文档,Curosr 可以读取外部链接文档信息,进行加载、分析、处理,比如,这里引用一个微信官方的对接文档,让Cursor 为我生成一个对接的流程梳理

稍作等待之后,Cursor 将对接的过程做了详细的整理并输出出来

@中其他的功能都可以参考上面的方式做一些尝试,使用起来大同小异
3.4 Cursor Rules 规则配置
3.4.1 什么是 Cursor Rules
Cursor Rules,中文翻译过来是 Cursor 规则。就是给Cursor制定一系列规则,约束AI生成的代码。
-
Cursor 的规则系统是让 AI 按照你的技术栈、代码规范和项目架构来生成代码的关键。通过配置
.cursor/rules/*.mdc文件,你可以告诉 AI "你是谁"、"项目用什么技术"以及"代码该怎么写" -
当一条规则被触发后,规则中的内容会被附加到提示词中,为 AI 提供参考,无论是在自动补全、 代码生成、重构还是错误修复时都能遵循这些规范
3.4.2 Cursor 规则文件作用
规则文件具有下面的作用:
-
指明项目所使用的技术栈(Vue 3, Element Plus, Pinia, TypeScript, Vite)
-
明确项目约定(组件/文件命名、CSS 命名、导入顺序)
-
避免误判:减少 Cursor 提供的错误补全或重复实现已有功能
-
提升智能度:帮助 AI 生成符合项目风格、结构规范、命名约定的代
3.4.3 Cursor Rules 分级与存放位置
之前接触过Claude Code 的同学应该不陌生,Claude Code中的规则配置分全局和项目级别,在 Cursor 当中,也不例外,它支持两种级别的规则:
-
全局规则(User Rules) :针对所有项目通用的规则
-
项目规则(Project Rules) :存放于项目目录下的 .cursor/rules 中,只用于约束当前项目
规则文件放在项目根目录下的 .cursor/rules/ 文件夹中,使用 .mdc 格式
your-project/
├── .cursor/
│ └── rules/
│ ├── typescript.mdc # TypeScript 规范
│ ├── components.mdc # 组件规范
│ └── api.mdc # API 规范
├── src/
└── ...
⚠️ 注意:旧的
.cursorrules单文件方式已不再推荐,新项目请使用.cursor/rules/多文件方式。
对上面的规则文件目录位置做一些补充说明:
-
📁 路径固定:必须为 .cursor/rules/
-
📄 扩展名固定:必须为 .mdc
-
✅文件可以有多个,每个规则建议单独拆分主题编写,如 unocss-guidelines.mdc, project-structure.mdc, naming-conventions.mdc 等
3.4.4 创建规则文件
可以手动创建规则文件,也可以通过内置的命令创建,手动创建方式如下:
-
说明:文件名可自定义,扩展名必须为 .mdc
# 第一步,创建规则文件的目录
mkdir -p .cursor/rules
#创建规则文件
touch .cursor/rules/project-guidelines.mdc
如果是自动创建,打开Cursor 的编辑器Chat窗口,输入 / 并选择弹出的 Generate Cursor Rules 选项,即可自动生成 .cursor/rules/ 目录及默认的规则文件

我们用第二种方式来尝试一下,按照上一步,选中了 / create-rule 之后,在后面输入下面的提示词

经过一会儿的等待后,Cursor 读懂了我制定模块的项目,为我生成了项目介绍文档,并且是mdc格式的



3.4.5 规则应用
规则文件创建出来后,进入规则文件,可以看到上面有个下拉框,提供了几个选项

这几个选项的含义如下:
-
Always:始终应用规则(想始终生效)
-
Auto Attached:当匹配 globs 模式的文件被引用时自动附加规则(想自动触发用)
-
Agent Requested:根据 AI 代理的判断决定是否应用规则,需要提供规则说明(想让 AI 自己决定是否用)
-
Manual:仅在提示中显式使用 @规则名 时附加规则。(想手动调用规则)
3.4.6 规则文件使用示例
首先让Cursor 读懂项目之后生成一个API 设计规则,然后基于这个规则编写接口,给出如下提示词:
读懂 gh-pda 模块的项目开发规范,然后生成一个API 接口设计规范,后续我就与你共同持续完善这个接口设计文档
最后Cursor 为我们生成了我指定模块的api接口设计规范
-
实际使用时,还需要人工进行二次校对、完善这个文档

打开这份文档后,我选择了手动引用,然后在对话框那里可以看到已经可以看到上述创建成功的文件了

接下来,基于创建的API设计规则文件让Cursor 生成接口

通过过程输出日志可以看到,Cursor 参考了上述的接口设计规范文档,最终生成的接口完全符合预期的要求

3.4.7 规则文件如何编写
在上述案例操作中,演示了项目规则文件如何从0到1创建出来,事实上,如果你的项目已经比较成熟稳定,上面这种方式是最快捷的,如果你的项目还在规划、设计和成型中,可以手动编写,可以先制定API接口设计规范,后续再进行丰富完善即可,而规则文件内部的内容,网上有很多资料,首先文档格式必须为.mdc 结尾,本质就是
是 Markdown 文档,但具有特殊结构。以下以开源项目 vue3-element-admin 为例,给出适用于 Vue 3 + TypeScript 项目的推荐规则模板写法,可做参考:
# 项目基础说明
- 本项目基于 Vue 3 + TypeScript + Element Plus + Pinia + Vite 搭建。
- 采用组合式 API(`<script setup lang="ts">`)进行开发。
- 状态管理使用 Pinia,模块化组织。
- 路由使用 Vue Router,采用权限动态路由配置。
- 接口请求统一封装在 `@/utils/request.ts` 中,使用 Axios。
- 表格、表单页面基于 Element Plus 封装通用组件,提高复用性。
# 组件和文件命名规范
- 组件文件名使用 `PascalCase` 格式,例如:`UserTable.vue`, `LoginForm.vue`
- 公共组件放置在 `src/components/` 下,业务组件可放在 `src/views/模块/components/` 中
- 文件夹名和非组件 `.ts/.scss` 文件使用 `kebab-case` 格式,例如:`user-api.ts`, `login
form.scss`
- 页面文件命名与路由保持一致,使用 `kebab-case`,例如:`user-list.vue`, `role-edit.vue`
# 样式和 CSS 使用约定
- **优先使用原子类:** 使用 UnoCSS 提供的原子类进行布局和样式,例如常见的 flex 布局(`flex
justify-center items-center` 等)。样式语义明确,便于维护。
- **常用组合提取为全局快捷方式:** 对于**频繁使用**的原子类组合,应在 `unocss.config.ts` 中
通过 `shortcuts` 定义全局组合类。例如:将 `flex justify-center items-center` 定义为
`flex-center`,这样可以在整个项目中复用。组合类命名应简洁且语义化,反映布局或功能意图。
- **非常用组合使用局部类:** 对于特定组件中使用但不常见的、超过3个的原子类组合,应该在组件内使
用局部CSS类(使用`<style scoped>`块),避免过多的全局组合污染全局命名空间。
- **避免重复代码:** 不论是通过全局`shortcuts`还是局部CSS类,都应避免在多个地方重复编写相同
的原子类列表,保持代码 DRY(Don't Repeat Yourself)原则。
- **样式优先级:** 优先考虑 UnoCSS 解决方案(原子类或组合类),其次才是传统 CSS。当需要使用传
统 CSS 时,遵循 BEM 命名规范,即 `block__element--modifier` 格式。
# 导入顺序规范(保持统一结构)
1. Vue 相关 API(如 `ref`, `computed`, `onMounted`)
2. 第三方库(如 `element-plus`, `axios`)
3. 工具函数(如 `@/utils/*`)
4. 状态管理(如 `@/store/*`)
5. 项目内部组件、模块(如 `@/components`, `@/views`)
6. 样式文件
# 开发注意事项
- 使用 TypeScript,避免使用 `any`;
- 组件职责单一,保持结构清晰;
- 所有组件必须使用组合式 API;
- 适当添加注释,提升 AI 理解。
3.4.8 使用技巧补充
下面再结合实际经验补充一些常用的使用技巧
-
拆分规则主题: 可以为不同模块分别写规则,比如 style-guidelines.mdc、project-structure.mdc、component-conventions.mdc,让 AI 更易查阅上下文
-
越具体越好: 你越明确规则,Cursor 越能准确给出符合你期望的代码。避免废话和废规则: Focuson 可执行、可操作、可验证的规则。比如“命名要清晰”不如“类名采用 BEM 规范并用小写字母连接” 具体有效
-
随项目迭代更新规则: 规则应当与代码保持同步更新,特别是引入新的库、工具、编码风格变更时
3.5 Cursor 对接Skills
Skills在日常的工作中使用非常频繁,Cursor 中对接Skills非常方便,下面简单做一些介绍。
3.5.1 对接入口
如下,通过聊天对话设置,在设置选项中有一个配置Skills的入口

如果你想添加新的skill进来,点击 +New 按钮,会自动跳转到一个新的对话框,这个意思是Cursor 可以按照你的需求描述创建一个skill并加载进去
-
如果本地你已经提前创建或者拥有了一些skill,可以直接通过对话将其加载到cursor 中,比如这里面就是我本地安装的飞书相关的skill

接下来,我给一个飞书链接,让Cursor 借助飞书的skill读取文档信息,通过过程输出日志不难看出,中间调用了与飞书相关的skill

最终,按照预期要求将文档中的关键信息整理并输出了出来

四、写在文末
本文通过较大的篇幅详细介绍了Cursor 中一些进阶的高级使用技巧,Cursor的功能远不止于此,有兴趣的同学还可以在此基础上继续深入研究,本篇到此结束,感谢观看。
更多推荐



所有评论(0)