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快速调取侧边栏聊天

可以提出问题,请求代码编辑,获取建议等

主要功能

  1. 了解代码块进行修改
  2. 了解代码库并组合在一起
  3. 根据错误进行修改

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

重点

  1. 提供上下文
  2. 分店描述
  3. 使用技术术语
  4. 明确边界
  5. 示例引导

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代码编辑选项
  1. review 在差异试图中查看建议的更改(左下角)
  2. agentmanual使用,apply应用更改
  3. 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 中使用 @符号,可以在chatComposerCmd 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 功能展示图片

Cursor 会自动索引并学习该文档,你之后就可以像使用其他文档一样将其作为上下文引用。如果你希望索引所有子页面和子目录,请确保 URL 以斜杠结尾。

Cursor Settings > Features > Docs下,你可以看到已添加的文档。在这里你可以编辑、删除或添加新文档。

3.3@web

通过 @Web,可以在 Cursor 命令中动态添加最新的在线信息和文档作为上下文。

使用 @Web 时,Cursor 会根据你的查询和已提供的上下文自动构建搜索请求,并在网络上查找相关信息,将其作为额外的上下文补充进来。

这非常适合让 Cursor 获取最新的在线信息,或在几秒钟内自动抓取多个网站,找到最佳答案,无需你手动搜索。

3.4@lint error

访问并引用代码库中的 lint 错误。

@Lint Errors 符号会自动捕获并提供当前活动文件中的所有 lint 错误和警告的上下文信息。

ComposerAgent 默认都可以看到 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插件调试发布

posted @ 2025-07-10 10:00  crockery  阅读(929)  评论(0)    收藏  举报