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的位置,代码添加中文注释,实现子检查,确保插件正常运行雨实现
3.chrome插件调试发布
cursor究竟如何使用?的更多相关文章
- NDMCDB数据库hang住故障分析 - cursor: pin S wait on X
问题描写叙述: 上午刚刚到办公室,就有监控人员邮件反馈,昨晚NDMCDB407数据库被重新启动过,让我分析一下数据库重新启动的原因.因为昨晚业务有版本号上线,所以短信警告关闭了,所以没有短信下发到我手 ...
- ContentProvider和Cursor以及CursorAdapter三者之间内部链接实现原理 解析
最近 在学习Android3.0中推出的 Loader 机制,其中CursorLoader 这个加载器说是可以实时监测数据和更新数据,为了一探究竟,就连带的将 ContentProvider和Curs ...
- Ficow 的 AI 平台快速上手指南(ChatGPT, NewBing, ChatGLM-6B, cursor.so)
本文首发于 Ficow Shen's Blog,原文地址: Ficow 的 AI 平台快速上手指南(ChatGPT, NewBing, ChatGLM-6B, cursor.so). 内容概览 前言 ...
- 学习ASP.NET Core,怎能不了解请求处理管道[1]: 中间件究竟是个什么东西?
ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 "通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流 ...
- 自定义鼠标光标cursor
通过css属性 Cursor:url()自定义鼠标光标. {cursor:url('图标路径'),default;} url是自定义鼠标图标路径 default指的是定义默认的光标(通常是一个箭头), ...
- Repository 仓储,你的归宿究竟在哪?(三)-SELECT 某某某。。。
写在前面 首先,本篇博文主要包含两个主题: 领域服务中使用仓储 SELECT 某某某(有点晕?请看下面.) 上一篇:Repository 仓储,你的归宿究竟在哪?(二)-这样的应用层代码,你能接受吗? ...
- 简述9种社交概念 SNS究竟用来干嘛?
1.QQ 必备型交流工具基本上每一个网民最少有一个QQ,QQ已经成为网民的标配,网络生活中已经离不开QQ了.虽然大家嘴上一直在骂 QQ这个不好,那个不对,但是很少有人能彻底离开QQ.QQ属于IM软件, ...
- 苹果手机不支持click文字 需要添加 cursor:pointer 才能 识别可以点击
给一个div 绑定一个 click事件, 苹果手机会识别不了,必须添加一个 cursor:pointer 才能 识别可以点击.安卓正常识别.
- java.lang.IllegalStateException:Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx...}: java.lang.IllegalSta ...
- MySQL:procedure, function, cursor,handler
Procedure & Function Procedure 语法: CREATE [DEFINER = { user | CURRENT_USER }] PROCEDURE sp_name ...
随机推荐
- SAP HANA使用命令行快速导出导入
楔子 今天折腾了接近一下午,就为了使用SAP HANA自带的命令行工具来导出数据备份. SAP HANA(后续简称Hana)是内存数据库,性能这一方面上还真没怕过谁. 由于SAP HANA提供了Han ...
- Web前端入门第 41 问:神奇的 transform 改变元素形状,matrix3d 矩阵变换算法演示
CSS transform 属性中文翻译过来是 变换,始终觉得翻译差那么一点意思.它可以用来改变元素形状,比如旋转.缩放.移动.倾斜等,就是它可以把元素各种拿捏~ transform 特性是在不改变自 ...
- 集合流之"计算集合中的Integer或Double或BigDecimal的sum总和(累计)"
一.BigDecimal类型 BigDecimal withdrawalFeeExchange = groupDeverList.stream().map(DevWeekReport::getWith ...
- 结点的"最早开始和最晚开始和最早完成和最晚完成"
最早:方块表示 最晚:三角形表示 最早开始:2 最晚开始:15-5=10 最早完成:2+5=7 最晚完成:15 案例1 案例2
- .NET外挂系列:1. harmony 基本原理和骨架分析
一:背景 1. 讲故事 为什么要开这么一个系列,是因为他可以对 .NET SDK 中的方法进行外挂,这种技术对解决程序的一些疑难杂症特别有用,在.NET高级调试 领域下大显神威,在我的训练营里也是花了 ...
- 通过COM,用Python调用C#库
1.C#配置 (1)类库 (2)COM互操作打勾 (3)代码中类必须要有无参构造函数,否则不会注册成功!!! using System; using System.Runtime.InteropSer ...
- DNSPY调试引用dll
(1) 点击"调试",选择需要调试的可执行程序 (2) 点击"确定"后,打开程序,再点击"调试"-"窗口"-模块 (3) ...
- 参加 Hugging Face 组织的 Gradio & MCP 智能体主题黑客松
欢迎参加 Gradio & MCP 智能体主题黑客松! 准备好了吗?一场以智能体(Agent)和模型上下文协议(Model Context Protocol,简称 MCP)为核心的全球在线黑客 ...
- 用bat脚本启动和停止系统服务,如oracle等
启动脚本 启动oracle.bat :: 取得管理员权限 :Main @echo off cd /d "%~dp0" cacls.exe "%SystemDrive%\S ...
- 薅一个ClawCloud的永久免费容器,最高可获取4核心 8G内存
作者:故事我忘了¢ 个人微信公众号:程序猿的月光宝盒 目录 简介 看法 申请tips 简介 最近冲浪时,发现ClawCloud 推出了一个永久免费容器服务,用户最高可申请到 4 核 8G 内存的配置, ...