cursor究竟如何使用?
cursor使用
一.三大核心AI功能
1.tab键只能小助手
具有强大的代码自动补全,
tab接受建议,也可以按esc拒绝建议,部分接受建议需要ctrl+→
已有代码片段,按tab进行生成
1.1单行多行代码不全
# 生成冒泡排序
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
arr = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(arr))
1.2智能代码重写
import random
# 生成冒泡排序
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
arr = [random.randint(0, 100) for _ in range(100)]#随机生成100个数
print(bubble_sort(arr))
ctrl+/可以注释代码
1.3多行协同优化
1.4光标位置预测
2.chat对话模式
使用CTRL+L快速调取侧边栏聊天
可以提出问题,请求代码编辑,获取建议等
主要功能
- 了解代码块进行修改
- 了解代码库并组合在一起
- 根据错误进行修改
ctrl+L实现代码
- 代码生成类
[任务类型]:生成{任务描述}用{编程语言}实现
[具体要求]:
1.使用特定库
2.包含功能
3.特定规范
使用HTML+css生成一个学习计划
要求:
1.使用tailwind Css 和font awesome
2.包括任务添加、编辑、删除
3.包括日历展示学习计划
4.包括学习进度可视化图表
5.符合响应式设计
6.具有平滑的动画效果
- 代码修改类
[任务类型]:修改{上下文:具体代码片段},实现{功能}
[当前问题]:{现有错误}
[具体要求]:
1.保持{功能、结构}不变
2.使用{特定方法}改进
3.修复{具体错误}
帮我修改当前react组建,优化渲染功能。
当前问题:滚动卡顿
要求:
1.保持UI不变
2.使用react.memo和虚拟列表技术优化
3.添加性能监控日志
- 代码解释类
[任务类型]:解释{上下文:具体代码片段}的{具体方面}
[上下文]:{当前的技术栈}
[具体要求]:
1.不理解的语法
2.特定设计的原因
3.{潜在问题和优化点}
请解释python 代码的泛型约束和类型推导逻辑
上下文:这是用于数据验证的工具函数
具体问题:
1.这里为什么加 extend?
2.类型推导是如何工作?
- 流程自动化
[任务类型]:创建自动化流程{具体方面}
[具体要求]:
1.从{数据源}获取{数据类型}
2.结果保存到{位置}
3.触发{后续操作}
创建一个自动化流程,每天凌晨栋github获取仓库,保存到google sheets生成趋势图
要求:
1.使用github rest API
2.添加异常处理和邮件通知
3.生成周趋势图
- 命令辅助类
[任务类型]:命令要求{具体方面}
[具体要求]:
1.{执行具体操作}
2.{包含特定参数}
3.{处理操作}
提供在macOS批量压缩图片的命令行
要求:
1.将所有图片压缩至50%
2.显示每个图片压缩大小对比
3.保留原文件并在新文件添加--compressed
重点
- 提供上下文
- 分店描述
- 使用技术术语
- 明确边界
- 示例引导
chat的三种模式
2.1agent
- 自动化辅助:AI 主动分析上下文,实时提供代码建议、解释和补全。
- 适用场景:适合希望获得持续支持、提升编码效率的开发者,尤其适合新手或需要快速解决问题的情况。
- 优点:减少中断,提升流畅度,适合需要即时帮助的用户。
生成一个html+css+Js的贪吃蛇小游戏,要求有难易度选择,越难障碍物越多,蛇的速度越快 有好看的UI和计数功能,如果游戏结束可以点击重新开始
生成的代码:
好的,下面是一个完整的贪吃蛇小游戏,包含如下功能:
- 难度选择(简单/中等/困难),难度越高障碍物越多,蛇速度越快
- 计分功能
- 游戏结束后可点击重新开始
- 美观的UI设计,响应式布局
你只需将以下代码保存为 snake.html,用浏览器直接打开即可游玩!
....
使用说明:
- 选择难度后点击“开始游戏”,用方向键或WASD控制蛇移动。
- 吃到食物得分,撞到自己、墙或障碍物游戏结束。
- 游戏结束后可点击“重新开始”。
- 难度越高,障碍物越多,蛇速度越快,UI美观,动画流畅,支持响应式。
如需功能扩展或有其他需求,欢迎随时提问!
2.2ask
- 按需帮助:用户通过快捷键或命令手动调用 AI,获取特定问题的解决方案或代码解释。
- 适用场景:适合希望在需要时获得帮助,而不被打扰的开发者,适合有经验的用户或特定任务。
- 优点:灵活性高,用户可以根据自己的节奏选择何时寻求帮助。
ask是自动模式,用于提问、探索、了解代码块,是cursor的内置对话模式
使用ctrl+i实现模式切换
2.3manual
- 完全控制:AI 不主动提供帮助,用户完全手动编写代码,适合不需要或希望避免AI干扰的情况。
- 适用场景:适合习惯传统编辑器或特定情况下不需要AI辅助的开发者。
- 优点:提供最高的控制权,减少干扰,适合完全自主工作的用户。
@选择具体文件
例如:
请给 @game.js 加上中文注释
2.4chat模式其他细节
2.4.1代码编辑选项
- review 在差异试图中查看建议的更改(左下角)
- 在agent和manual使用,apply应用更改
- accept和reject,进行更改可以选择保留和放弃
2.4.2 checkpoints数据欢迎
有时候要恢复数据到之前的状态可以点击,checkpoint
3.Ctrl+K 内联智能修改
不会检索代码库或者运行终端命令,直接在编辑器窗口生成新代码或编辑现有代码
3.1触发修改提示框
Ctrl+K 直接在代码内打开内联窗口,
二、cursor精准上下文指定
1.codebase indexing 代码库索引
打开项目后,cursor实例会及时识别project的文件索引。
为了获得更好、更准确的代码库答案,你可以为代码库建立索引。Cursor 会在后台为代码库中的每个文件计算嵌入(embeddings),并利用这些嵌入提升代码库相关回答的准确性。
当你打开一个项目时,每个 Cursor 实例都会为该工作区初始化索引。初始索引设置完成后,Cursor 会自动为你工作区中新添加的文件建立索引,确保代码库上下文始终保持最新。
你可以在
Cursor Settings > Features > Codebase Indexing中查看索引状态
请写出当前项目的文件结构
1.1忽略配置
- 手动创建:.cursorignore 内添加具体的文件扩展名 或是 文件名
在设置里面添加
2.Rules规则
2.1规则介绍
2.2项目规则
cursor\rules 下
规则名字 .mdc
2.3用户规则
在setting 中设置,每行代码加入中文注释 本地生效、个人习惯
2.4mdc语法了解
---
description: RPC 服务样板 "前端编码规范"
globs: 生效位置 "src/*/*"
priority:优先级 1000
alwaysApply: false
---
- 定义服务时使用内部 RPC 模式
- 服务名称始终使用 snake_case
@service-template.ts
3.@符号
3.1@介绍
在 Cursor 中使用 @ 符号指南
在 Cursor 中使用 @符号,可以在chat、Composer 和 Cmd K 等输入框中引用代码、文件、文档及其他上下文信息。
只需在输入框中输入 @,就会弹出建议菜单,并根据你的输入自动筛选出最相关的建议项。
- @Files - 引用项目中的特定文件
- @Folders - 引用整个文件夹,获取更广泛的上下文
- @Code - 引用代码库中的特定代码片段或符号
- @Docs - 访问文档和指南
- @Git - 访问 git 历史和变更
- @Notepads - 访问记事本
- @Past Chats - 使用已总结的 Composer 会话
- @Cursor Rules - 使用 cursor 规则
- @Web - 引用外部网页资源和文档
- @Link (paste) - 创建指向特定代码或文档的链接
- @Recent Changes - 创建指向特定代码或文档的链接
- @Lint Errors - 引用 lint 错误(仅限 Chat)
- @Definitions - 查找符号定义(仅限 Cmd K)
3.2@Docs
了解如何在 Cursor 中使用 @Docs 符号,将自定义文档作为上下文引用、添加和管理。
添加自定义文档
如果你想抓取并索引尚未提供的自定义文档,可以通过 @Docs > Add new doc 实现。粘贴你想要添加的文档 URL 后,会弹出如下窗口:

Cursor 会自动索引并学习该文档,你之后就可以像使用其他文档一样将其作为上下文引用。如果你希望索引所有子页面和子目录,请确保 URL 以斜杠结尾。
在 Cursor Settings > Features > Docs下,你可以看到已添加的文档。在这里你可以编辑、删除或添加新文档。
3.3@web
通过 @Web,可以在 Cursor 命令中动态添加最新的在线信息和文档作为上下文。
使用 @Web 时,Cursor 会根据你的查询和已提供的上下文自动构建搜索请求,并在网络上查找相关信息,将其作为额外的上下文补充进来。
这非常适合让 Cursor 获取最新的在线信息,或在几秒钟内自动抓取多个网站,找到最佳答案,无需你手动搜索。
3.4@lint error
访问并引用代码库中的 lint 错误。
@Lint Errors 符号会自动捕获并提供当前活动文件中的所有 lint 错误和警告的上下文信息。
Composer 和 Agent 默认都可以看到 lint 错误。
3.5@code
了解如何在 Cursor 中使用 @Code 符号和快捷键,将代码片段作为上下文引用到 Chat。
你可以使用 @Code 符号来引用特定的代码片段。
与 @Files 类似,Cursor 会显示代码内容的预览,方便你确认引用的是正确的代码。
另一种添加代码片段为上下文的方法是:
选中你想引用的代码,然后点击“Add to Chat”(Ctrl/⌘ Shift L)或“Add to Edit”(Ctrl/⌘ Shift K)。
这样会将选中的代码片段添加到 Chat 输入框或当前激活的 Cmd K 提示栏中。
三、智能插件开发实践
1.cursor设计chrome浏览器插件
需求设计:
创建:01_chrome插件需求
实现一个chrome插件,实现下面三个功能:
1.解释选中的段落或关键词
2.翻译段落或者关键词
3.朗读段落或者关键词
4.润色替换文本方案
细节要求:
1.当选中段落关键词出现插件,直接悬浮在关键词或者段落上
2.翻译添加语言选择(中文、英文)
3.润色结果可以修改,同事提供一键替换,替换原来的文案内容
4.翻译、解释、润色功能使用kimi的api实现,具体参考kimi官方文档
5.写好readme文档,写清楚chrome部署插件的过程
2.设计生成UI图文本
chat agent模式对话:
@01_chrome 上面的文档 帮我写一份项目的UI文本设计图,将设计图写 02_chrome 插件设计图文件中,要求页面简洁
3.需要 kimi api
{
"kimi_api_url": "https://api.moonshot.cn/v1",
"kimi_api_key": "sk-95jGsRGwqfwkdDZ52JWo2tKrFjvleI08xDm2TXlnN9tPZTuq"
}
2.chrome插件实现
@文件 基于需求和设计图 基准在当前文件夹实现插件功能,同时提取单独配置文件用户填写kimi api和key的位置,代码添加中文注释,实现子检查,确保插件正常运行雨实现

浙公网安备 33010602011771号