掘金 人工智能 前天 20:21
Cursor快速上手+科学使用指南
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

Cursor是一款功能强大的AI优先代码编辑器,通过深度集成AI模型、强上下文理解能力和对话式开发体验,旨在提高开发工作效率。它支持代码块对话、项目级对话、模型自由选择,并能自动识别项目文件、代码块、错误信息等,提供更直观准确的AI修改能力。Cursor对比VS Code和JetBrains IDEA,提供了更便捷的AI驱动编码体验。

📚Cursor是一款AI优先的代码编辑器,旨在增强开发工作流程。它深度集成AI模型,支持代码块对话、项目级对话和模型自由选择,并具备强上下文理解能力,能自动识别项目文件、代码块和错误信息,提供直观准确的AI修改能力。

🖥️Cursor基于Visual Studio Code打造,界面和基础操作与VS Code高度相似,无缝衔接。它提供AI驱动的现代编码体验,可以取代JetBrains IDEA,为开发者带来不同的编码感受。

⚙️Cursor提供安装、登录和无限续杯的指南,帮助用户快速开始使用。它还支持通过检测邮箱账号和电脑机器码进行识别,以便在达到免费额度后继续学习或付费使用,功能更强大。

🌐Cursor的配置分为Cursor Settings和Editor Settings两部分。Cursor Settings用于管理AI相关功能和Cursor特有设置,包括账户设置、功能开关、模型选择、规则设置等。Editor Settings用于调整编辑器基础行为和外观,大部分继承自VS Code。

🔧Cursor支持从VS Code配置迁移,包括一键导入配置和手动配置文件迁移。它还支持配置本地JDK和Maven环境,安装必要的Java扩展插件,以便进行Java开发。

一、前言

简单工作不想做

复杂工作不会做

出现错误不会解决

后端程序员不会写前端

前端程序员不会写后端

可爱的大学生要写期末作业

二、Cursor概述、安装以及环境配置

2.1 概述

Cursor 是一款功能强大的 AI 优先代码编辑器,可增强我们的开发工作流程。主要提供三个核心方向,这些功能可以无缝地协同工作,从而提高工作效率:

对比其他编辑工具来说:

2.2 安装、登录和无限续杯

快速安装 Cursor、登录指南!!!!

2.2.1 安装

2.2.2 登录

2.2.3 无限续杯

Cursor新注册后有着14天免费,50次免费高级提问的额度,但是也很轻易就会到上限的。其通过检测用户的邮箱账号以及电脑的机器码进行识别。我们出于学习的意图,可以尝试在达到上限后绕过这些限制继续学习,更推荐进行付费使用,功能也会更强大!

    准备新邮箱

可以去2925无限邮注册一个账号,这个邮箱平台的一个优势是用户申请的邮箱之后,可以自行创建子邮箱。比方说,我创建了xxx@2925.com这个邮箱,那么我们在申请账号的时候,可以使用xxx123@2925.comxxxabc@2925.comxxx666@2925.com等邮箱进行注册(也就是xxx数字随意添加@2925.com),邮箱问题得以解决!注册地址: www.2925.com/

    机器码识别破解

其次是机器码识别方面。Cursor的团队意识到了人们会通过换邮箱的方式投机取巧,于是加入了校验本机机器码的环节。即使用户注册了一个新的邮箱,但是机器码所属的额度用完之后,也是不能继续免费了。于是此开源项目便诞生了【yeongpin/cursor-free-vip】,可以帮我们进行重置机器码,并且快速注册新的账号等功能!

2.3 Cursor配置说明以及汉化

在 Cursor 中,Cursor SettingsEditor Settings 是两个不同的配置入口,分别用于管理 AI 功能编辑器基础设置

对比项Cursor SettingsEditor Settings
功能定位管理 AI 相关功能和 Cursor 特有设置调整编辑器基础行为和外观
继承性与 VS Code 差异较大(Cursor 独有功能)大部分继承自 VS Code(如主题设置)
影响范围影响 AI 代码生成、分析、对话的效果影响代码编辑体验(如排版、颜色)
典型配置示例调整 AI 模型参数、代码库索引路径修改字体、启用自动保存、更改主题

2.3.1 Cursor AI相关设置

通过齿轮图标、Cmd/Ctrl + Shift + J 开启`光标设置,即可进行AI编程相关的定制配置:

以下是对 Cursor Settings 中各项配置的作用解释:

2.432 Cursor 编辑器设置

通过命令面板访问 (Cmd/Ctrl + Shift + P) > "Preferences: Open Settings (UI)"

调整编辑器行为和外观,此处和VS Code一致:

在 Cursor 编辑器设置中,“User” 和 “Workspace” 存在以下差异:

User(用户)

Workspace(工作空间)

2.3.3 Cursor 汉化配置

Cursor工具汉化配置步骤:

    打开扩展:启动 Cursor 后,按下Ctrl + Shift + X(Windows/Linux)或Cmd + Shift + X(Mac) ,左侧边栏会出现扩展商店界面。搜索并安装插件:在搜索框输入 "Chinese" 或 "中文" ,一般选择下载量最高的 "Chinese (Simplified) Language Pack for Visual Studio Code",点击安装按钮进行安装。打开命令面板:按下Ctrl + Shift + P(Windows/Linux)或Cmd + Shift + P(Mac) ,输入 "Configure Display Language" 并回车,进入语言配置界面。选择中文并重启:在弹出的语言列表中选择 "中文(简体)" 或 "zh-cn" ,保存设置后重启 Cursor。此时界面将完全切换为中文,包括菜单、提示信息和设置选项 。

2.4 从VS Code配置迁移

2.4.1 一键导入配置

一键导入功能,导入的是当前电脑中默认位置存储的vs code的配置文件!这将转移vs code的:Extensions 扩展、Themes 主题、Settings 设置、Keybindings 键绑定等!

VS Code 的配置文件默认位置为:

    window系统: 导入的是 “%appdata%\code\user\” 路径下的配置文件。该路径下的 “settings.json” 文件macOS系统: 导入的是 “~/Library/Application Support/Code/User/” 路径下的配置内容。Linux系统: 导入的是 “~/.config/code/user/” 路径下的配置文件,涵盖了个性化设置、快捷键设置等。

注意: 并非所有 VS Code 扩展都与 Cursor 兼容。一些依赖 VS Code 特定 API 的插件,在导入时可能导致整个导入过程失败或部分功能(如主题显示)异常。

    打开Cursor设置 ( ⌘ / Ctrl + Shift + J )

    导航到 常规 > 帐户

    在“VS Code Import(VS Code 导入)”下,单击“导入”按钮

2.4.2 手动配置文件迁移

如果要在计算机之间移动,或者希望对设置进行更多控制,则可以手动迁移配置文件。

导出配置文件

    在 VS Code 实例上,打开命令面板 ( ⌘ / Ctrl + Shift + P )搜索 “Preferences: Open Profiles (UI)”在左侧边栏上找到要导出的个人资料单击 3 个点菜单并选择 “Export Profile”选择将其导出到本地计算机或 GitHub Gist

导入配置文件

    在 Cursor 实例上,打开 Command Palette ( ⌘ / Ctrl + Shift + P )搜索 “Preferences: Open Profiles (UI)”单击“New Profile”旁边的下拉菜单,然后单击“Import Profile”粘贴 GitHub Gist 的 URL 或选择“选择文件”以上传本地文件单击对话框底部的 'Import' 以保存配置文件最后,在侧边栏中,选择新的配置文件,然后单击勾号图标将其激活

2.5 Java语言环境

接下来,我们在Cursor中进行 Java 开发配置,包括设置 JDK、安装必要的扩展、调试、运行 Java 应用程序以及集成 Maven等构建工具。

2.5.1 配置本地jdk和maven配置

自动读取情况

如果 Cursor 基于类似 VS Code 的机制运行(Cursor 与 VS Code 有诸多关联),在系统环境变量中正确配置了 JAVA_HOMEMAVEN_HOME ,且环境变量配置无误(变量值准确指向 JDK 和 Maven 的安装目录 ),部分情况下 Cursor 能自动识别并应用这些配置。比如,当你在 Cursor 中创建、运行或调试 Java 项目时,它可能会利用自动读取到的环境变量来找到对应的 JDK 和 Maven 位置,完成代码编译、项目构建等操作。

手动配置情况

若 Cursor 没有自动读取到 JDK 和 Maven 配置,就需要手动配置。可在 settings.json 文件中进行操作。按 Ctrl + Shift + P (Windows/Linux)或 Cmd + Shift + P(Mac)打开命令面板,输入 “Preferences: Open User Settings (JSON)” 并回车,打开 settings.json 文件 。然后添加或修改以下内容:

{    "java.home": "你的 JDK 安装路径(对应 JAVA_HOME 变量值)",    "java.configuration.maven.userSettings": "你的 Maven 配置文件 settings.xml 所在路径"}

例如:

{    "java.home": "C:/Program Files/Java/jdk-17",    "java.configuration.maven.userSettings": "D:/maven/apache-maven-3.8.8-bin/apache-maven-3.8.8/conf/settings.xml"}

保存文件后,重启 Cursor 使配置生效。

2.5.2 Java环境扩展插件安装和使用

Java 开发环境中,即使已安装 JDK 和 Maven 并配置好环境变量,仍需安装 Java 扩展插件以获得完整的开发体验。这些插件能将编辑器(如 Cursor/VS Code)从 “普通文本编辑器” 转变为 “智能 IDE”,提供语法高亮、代码补全、错误提示、调试支持、Maven 项目管理等核心功能。

安装插件过程:

Extension Pack for Java” 是一个插件集合,而非具体单个插件。它集成了多个与 Java 开发相关的插件,安装后能为开发者在 Visual Studio Code 或 Cursor 等编辑器中提供完整的 Java 开发环境,涵盖从代码编写、调试、测试到项目管理等多方面功能 。其包含的主要插件及作用如下:

三、Cursor三大核心AI功能

3.1 Tab键:智能小助手

Cursor 的 Tab 键具有强大的代码自动补全功能,基于 AI 模型,能根据代码上下文自动预测并生成代码补全建议和代码修复重构,还可用于导航代码等!

Tab 键接受建议,也可以通过按 Esc 键拒绝建议。要逐字部分接受建议,请按 Ctrl/⌘ + →

3.1.1 单行/多行代码补全

3.1.2 智能代码重写

3.1.3 多行协同优化

Cursor 的 多行协同优化 核心能力:多行代码,一次性完成 语法升级、结构重组、安全修复

3.1.4 光标位置预测

3.1.5 接受,接受部分和拒绝

3.1.6 Tab相关配置说明

配置修改位置: cursor settings > features > tab

3.2 Chat: 对话模式

Chat(以前称为“Composer”)是 Cursor 的 AI 助手,位于的侧边栏中,可让您通过自然语言与代码库进行交互。您可以提出问题、请求代码编辑、获取终端命令建议等 - 所有这些都无需切换上下文。

Cursor chat 主要功能点:

3.2.1 快速开始

使用 ⌘+L (Mac) 或 Ctrl+L (Windows/Linux) 访问侧边栏中的聊天。用自然语言输入我们的请求,AI 将做出相应的响应。

注意: 与Chat 对话时,建议采用清晰、具体的语言格式,最好包含任务类型、上下文描述和具体要求。

以下是几个参考模板:

提示词技巧总结:

    提供上下文:提及项目语言、框架、业务背景等信息分点描述:将复杂需求拆解为具体步骤或要求使用技术术语:准确的术语能帮助 AI 更精准理解需求明确边界:说明必须保留的现有功能或禁止的实现方式示例引导:附上期望输出示例或参考代码风格

3.2.2 Chat三种模式

Chat 提供针对特定任务优化的不同模式:

    Agent代理模式(默认): 允许Cursor学习和理解我们的项目代码,并且代表们可以直接进行项目代码更改![识别项目结构]Ask对话模式:获取项目代码相关的解释和答案,但是不会直接修改项目代码![识别项目结构]Manual手动模式:需要我们执行项目上下文(修改范围,后续会详细讲解)重点编辑![不识别项目结构]
3.2.2.1 Agent模式体验

Agent 是 Cursor 中的默认且最自主的模式,旨在以最少的指导处理复杂的编码任务。它启用了所有[工具 ],可以自主探索您的代码库、阅读文档、浏览 Web、编辑文件和运行终端命令以高效完成任务。

Agent的能力总结:

生成和修改示例:

    新打开一个文件夹

    ctrl + L 进行对话模式(默认 agent)

    用例对话

    使用html,css,javascript来实现一个贪吃蛇页面!要求:  1. 要求有积分统计  2. 页面要有多种背景可以切换  3. 代码添加中文注释  4. 不能使用var 只能使用let和const声明变量

    生成代码

    运行代码对话

    把index.html页面在浏览器打开

    后续调整代码对话

    在页面中添加倒计时功能,每次60秒!

Agent的配置选项:

错误调试和修改示例:

    准备错误信息类

    public class ArrayDemo {    public static void main(String[] args) {        // 创建一个整数数组        int[] numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};                // 使用for循环输出数组内容        System.out.println("数组内容如下:");        for (int i = 0; i < numbers.length; i++) {            //此处 i + 2就会出现下角标越界错误            System.out.println("第 " + (i + 1) + " 个元素是: " + numbers[i+2]);        }                // 使用增强型for循环输出数组内容        System.out.println("\n使用增强型for循环输出:");        for (int number : numbers) {            System.out.print(number + " ");        }    }} 

    运行报错

    对话解决错误信息

3.2.2.2 Ask模式体验

Ask 是 Chat 的 “只读” 模式,用于提出问题、探索和了解代码库。它是 Cursor 中的一种内置对话模式!

对比:Ask 是其他默认模式(Agent 和 Manual)所独有的,因为它默认不应用任何建议的更改 - 这使它成为一种 “只读” 模式,具有读取文件和其他上下文的完整能力,但不能自行进行任何更改。这对于了解我们可能不想更改的代码库或在实施之前使用 AI 规划解决方案非常有用!

示例用例:

这个贪吃蛇页面如何添加多种模式!

Ask的配置选项:

3.2.2.3 Manual模式体验

与 Ask 模式不同,它不探索代码库或运行终端命令;它完全取决于您的具体说明和您提供的上下文(例如,通过 @文件名),AI 生成修改建议后,还要用户手动点击 “应用” 才会改动代码,且通常是单文件 / 局部代码调整

示例用例:

@script.js @index.html 中,给所有代码添加注释和解释!

Manual的配置选项:

3.2.3 Chat模式的其他细节

3.2.3.1 代码编辑选项

当 Chat 建议更改代码时:

修改页面背景,可以添加多种颜色可以选!!

0. Review:在差异视图中查看建议的更改

![1749005624183]()

    Apply: 在“ask / Manual ”模式下,使用“应用”按钮显式应用更改

    Accept/Reject(接受/拒绝) :进行更改后,决定是保留还是放弃更改(agent模式下)

3.2.3.2 Checkpoints 数据还原

有时,可能希望恢复到代码库的先前状态。Cursor 通过在发出的每个请求以及每次 AI 更改的代码库时自动创建代码库的检查点(Checkpoints)来帮助您解决这个问题。

要恢复到以前的状态,您可以:单击上一个请求的输入框中显示的 Restore Checkpoint 按钮,如下所示

注意:是回复到本次对话之前的状态!!不是本次对话产生的状态!!

3.2.3.3 历史和新建会话

聊天历史记录已移至命令面板。可以通过 Chat 中的 “Show history” 按钮以及运行命令面板中的 “Show Chat History” 命令来访问它。

开启新任务、避免对话混乱、保留特定记录或解决误操作时,需在 Cursor 的 Chat 新建聊天框。

3.2.4 Chat相关的配置说明

3.3 Ctrl+K: 内联智能修改

内联编辑 (Cmd/Ctrl+K) 直接在编辑器窗口中生成新代码或编辑现有代码。

适合已知并精准修改文件内容!

3.3.1 触发修改提示框

在 Cursor 中,我们将按 Ctrl/Cmd K 时出现的栏称为“Prompt Bar”。它的工作原理类似于用于聊天的 AI 输入框,可以在其中正常键入,或使用 @引用其他上下文(后续讲解)。

Cmd K的模式说明:

3.3.2 Cmd + K 体验

3.3.3 Terminal Cmd + K 体验

在 Cursor 终端中使用 Cmd K 通过提示栏界面生成和运行命令, 在内置的 Cursor 终端中,您可以按 Ctrl/⌘ K 打开终端底部的提示栏。此提示栏允许您在终端中描述所需的作,终端 Cmd K 将生成一个命令。您可以通过按 esc 接受命令,也可以立即使用 Ctrl/⌘ + Enter 运行命令。

四、Cursor精准上下文指定

在 Cursor 工具里,“上下文(Context)” 可理解为 让 AI 准确理解需求、辅助编码的 “信息参考范围” ,是 AI 读懂代码、精准响应的关键!

4.1 Codebase Indexing 代码库索引

4.1.1 概念和作用

打开项目时,每个 Cursor 实例都将初始化该工作区的索引。初始索引设置完成后,Cursor 将自动为添加到工作区的任何新文件编制索引,以使您的代码库上下文保持最新:

Cursor 中的作用:AI 分析索引内容后,生成代码时会更贴合项目实际(如使用已有工具函数、遵循命名规范)。

4.1.2 代码库索引配置和示例

代码库索引的状态位于 cursor settings > indexing

测试示例:

查看当前项目结构,并使用文字图形形式罗列出来!

展示效果:

4.1.3 忽略文件配置

Cursor 读取项目的代码库并为其编制索引以支持其功能。可以通过将 .cursorignore 文件添加到根目录来控制 哪些文件被忽略和Cursor限制访问。

配置 .cursorignore忽略文件:

忽略文件配置测试:

    创建忽略文件

    添加忽略配置

    # Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv)index.htmlstyle.cssmain.js

    测试示例

    查看当前项目结构,并使用文字图形形式罗列出来!

    效果展示

4.2 Rules 规则

4.2.1 规则介绍

Rules是给Cursor AI功能(规则适用于 Chat和 Cmd K)生成结果添加规则和限制,让 AI 生成的代码贴合团队规范,减少人工二次修改成本,主要的作用如下:

Rule主要的配置方案有两种:

维度项目规则(Project Rules)用户规则(User Rules)
作用范围仅对当前项目生效,团队成员共享相同规则对所有项目生效,个人专属配置
存储位置项目根目录下的 .cursor/rules/随意.mdc 文件用户配置目录(如 ~/.cursor/rules
同步方式随项目代码提交到版本库(如 Git),团队共享仅本地生效,不随项目同步
适用场景统一团队编码规范(如函数注释格式、依赖版本)个人习惯(如快捷键、AI 响应风格)

注意: 项目规则和用户规则同时存在并且规则冲突,项目规则优先级更高~~

4.2.2 项目规则配置

    项目下创建规则文件

      创建文件夹自定义文件项目/.cursor/rules/随意命名.mdc快捷命令方式创建 Ctrl + Shift + P > “New Cursor Rule”

    编写项目规则文件

    ---description: "团队前端项目规范"priority: 1000---# 代码风格1. 函数必须包含 JSDoc 注释2. 禁止使用 `var`,统一用 `const`/`let`3. 函数命名必须添加 zwf_前缀, 例如:zwf_login# 依赖管理- 优先使用项目内已有的工具函数(如 `utils/request`)- 禁止引入低版本的 lodash(<4.0.0)

    项目规则文件生效测试

      准备一个main.js文件

      进入ctrl + k

      内联生成函数,查看是否规则生效

      生成两个方法一个登录一个注册!

    项目规则生效效果展示

4.2.3 用户规则配置

    用户规则在cursor settings > rules中定义。

    添加规则内容即可

    用户规则不支持 MDC,它们只是纯文本。

4.2.4 mdc语法了解

Cursor 的 MDC(Markdown with Cursor)语法是专门为编写项目规则设计的轻量级格式,它结合了 Markdown 的可读性和元数据配置能力。接下来,我们来说明下mdc文件语法。

4.2.4.1 MDC 文件组成部分:

    前置元数据(Frontmatter)

      --- 包裹的 YAML 格式配置定义规则的基本属性(如作用范围、优先级)

    规则内容(Markdown 正文)

      用 Markdown 语法写具体规则
4.2.4.2 前置元数据
---# 官方约定字段(推荐用,AI 更易理解)description: "前端项目规则"globs: "src/**/*.tsx"priority: 1000# 自定义字段(自己或团队约定含义)author: "技术团队"review_date: "2025-06-04"special_rule: "仅周一至周五生效"---

常用元数据字段

字段作用示例
description描述规则用途,指导 AI 如何应用规则"前端组件编码规范"
globs指定规则生效的文件范围(支持 glob 语法)"src/**/*.{js,ts,jsx}"
priority规则优先级(数值越大越优先),解决规则冲突1000
version规则版本号(可选)"1.0.0"
4.2.4.3 规则内容(Markdown 正文)

用 Markdown 的标题、列表、代码块等语法写具体规则,常见结构:

代码风格规则(最常用)

# 一、代码风格1. 函数必须包含 JSDoc 注释     - 至少包含 `@param``@return` 描述  2. 变量命名必须使用驼峰命名法(camelCase)  3. 每行代码长度不超过 120 个字符  # 二、技术选型- 禁止直接使用原生 fetch,必须通过项目封装的 request 工具  - 优先使用 React Hooks 而非 Class 组件  

安全约束规则

# 安全规范1. 禁止使用 eval() 函数  2. SQL 查询必须使用参数化查询,防止注入攻击  3. 敏感信息(如 API 密钥)必须从环境变量读取  

特殊语法:引用项目文件

@file 引用项目内的配置文件,让 AI 参考:

# 工具链配置1. ESLint 规则必须符合 @file .eslintrc.js  2. 测试用例必须遵循 Jest 框架规范  
4.2.4.4 完整示例(TypeScript 项目规则)
---description: "TypeScript 项目编码规范"globs: "src/**/*.ts"priority: 1000---# 一、基础规范1. 所有文件必须使用 UTF-8 编码  2. 统一使用 2 空格缩进  # 二、类型约束1. 禁止使用隐式 any 类型     - 示例:`const num: number = 123`(显式)     - 禁止:`const num = 123`(隐式)  2. 接口命名必须以 `I` 开头(如 `interface IUser`)  # 三、项目约束- 所有 HTTP 请求必须通过 @file src/utils/request.ts 封装的工具  - 状态管理必须使用 Redux Toolkit,禁止直接修改 state  

4.3 @ 符号

在 Cursor 中使用 @ 符号在聊天中引用代码、文件、文档和其他上下文的指南,直接更具体的指定上下文环境!

以下是所有可用 @ 符号的列表:

4.3.1 @Files使用和测试

    准备测试文件 main.js

    /** * 用户登录方法 * @param {Object} params - 登录参数 * @param {string} params.username - 用户名 * @param {string} params.password - 密码 * @returns {Promise} 登录结果 */const zwf_login = async (params) => {  try {    const response = await request.post('/api/login', params);    return response.data;  } catch (error) {    console.error('登录失败:', error);    throw error;  }};/** * 用户注册方法 * @param {Object} params - 注册参数 * @param {string} params.username - 用户名 * @param {string} params.password - 密码 * @param {string} params.email - 邮箱 * @returns {Promise} 注册结果 */const zwf_register = async (params) => {  try {    const response = await request.post('/api/register', params);    return response.data;  } catch (error) {    console.error('注册失败:', error);    throw error;  }};

    测试@File对话

    帮我总结下 @main.js 中包含哪些方法?

    查看对话结果

4.3.2 @Code使用和测试

    准备测试文件 main.js

    /** * 用户登录方法 * @param {Object} params - 登录参数 * @param {string} params.username - 用户名 * @param {string} params.password - 密码 * @returns {Promise} 登录结果 */const zwf_login = async (params) => {  try {    const response = await request.post('/api/login', params);    return response.data;  } catch (error) {    console.error('登录失败:', error);    throw error;  }};/** * 用户注册方法 * @param {Object} params - 注册参数 * @param {string} params.username - 用户名 * @param {string} params.password - 密码 * @param {string} params.email - 邮箱 * @returns {Promise} 注册结果 */const zwf_register = async (params) => {  try {    const response = await request.post('/api/register', params);    return response.data;  } catch (error) {    console.error('注册失败:', error);    throw error;  }};

    测试@Code 对话

    帮我逐行解释下 @zwf_register 代码的含义!并且最终在源文件中添加注释!

    查看对话结果

4.3.3 @Docs使用和测试

    @Docs作用说明

    @Docs 将 Cursor 连接到来自常用工具和框架的官方文档。当需要以下内容的最新权威信息时,请使用它:

      API 参考:函数签名、参数、返回类型入门指南 :设置、配置、基本用法最佳做法 :源中的推荐模式特定于框架的调试 :官方故障排除指南

    @Docs对应文档配置

    可以通过cursor settings > features > Docs(cursor近期更新频繁,配置页面会有调整)来进行文档索引配置。粘贴所需文档的 URL 后,将显示以下模式:

    地址: baomidou.com/introduce/ (mybatis-plus的官网测试)

      name:一般用于标识文档的名称、简称或唯一识别名,方便在系统里区分不同文档配置。比如这里填MyBatis - plus,就是用框架名称作为文档标识,后续可通过这个name快速找到、关联对应的文档配置。prefix:常指文档 URL 的前缀部分,可用于拼接完整文档路径,或作为统一的基础地址标识。像填的https://baomidou.com ,可能是该框架文档介绍板块的基础前缀,后续若要拼接具体文档子页面路径(如某个功能详细说明路径 ),可以基于这个prefix去扩展,让文档地址管理更规整 。entrypoint:一般是文档的入口地址,即用户访问该文档时最先进入的页面。这里和prefix填了一样的地址,说明https://baomidou.com/introduce/ 就是MyBatis - plus文档的起始访问页面,用户通过这个entrypoint能直接进入到对应文档内容开始浏览 。

    测试@Docs对话

    基于 @MyBatis-plus 查询下乐观锁插件如何使用

    查看对话结果

4.3.4 @Web使用和测试

    @Web作用说明

    @Web 在实时 Internet 上搜索当前信息、博客文章和社区讨论。当您需要时使用它:

      最近的教程 :社区生成的内容和示例比较 :比较不同方法的文章最近更新 :Very Recent updates or announcement(最近的更新或公告)多种视角 :不同的问题处理方法

    测试@Web对话

    @Web React 19 的最新性能优化

    查看对话结果

    对比@Docs和MCP配置

4.3.5 @Linter Errors使用和测试

    @Linter Errors作用和说明

    @Linter Errors 符号会自动捕获并提供有关当前活动文件中的任何 linting 错误和警告的上下文。

    准备错误代码(BubbleSort.java)

    public class BubbleSort {    /**     * 冒泡排序方法     * @param arr 待排序的数组     */    public static void bubbleSort(int[] arr) {        int n = arr.length;        // 外层循环控制排序轮数        for (int i = 0; i < n - 1; i++) {            // 内层循环进行相邻元素比较和交换            for (int j = 0; j < n - 1 - i; j++) {                // 如果当前元素大于下一个元素,则交换它们                if (arr[j] > arr[j + 1]) {                    int temp = arr[j];                    arr[j] = arr[j + 1];                    arr[j + 1] = temp;                }            }        }    }    /**     * 打印数组的辅助方法     * @param arr 要打印的数组     */    public static void printArray(int[] arr) {        for (int i = 0; i < arr.length; i++) {            //此处故意出现错误,会出现数组越界            System.out.print(arr[i+2] + " ");        }        System.out.println();    }    public static void main(String[] args) {        // 测试数组        int[] arr = {64, 34, 25, 12, 22, 11, 90};                System.out.println("排序前的数组:");        printArray(arr);                // 执行冒泡排序        bubbleSort(arr);                System.out.println("排序后的数组:");        printArray(arr);    }} 

    测试@Lint Errors 对话

    @Linter Errors 程序运行报错了,你基于报错信息分析下,并且直接解决下错误!

    测试结果

五、Cursor智能插件开发实战

Cursor官网开发指导流程:

5.1 Cursor设计Chrome浏览器插件

    需求设计

    创建:01_chrome插件需求和要求说明

    实现一款Chrome的插件,要包含下面三个功能:   1. 解释选中的段落或者关键词   2. 翻译选中的段落或者关键词(支持中文和英文翻译即可)   3. 朗读选中的段落或者关键字(支持中文和英文朗读)   4. 润色和替换选中的文本文案细节要求:   1. 当选中段落或者关键词时,出现插件,直接悬浮在选中关键词和段落上!(显示顺序:解释,翻译,朗读,润色)   2. 解释,翻译,润色的结果直接在悬浮下方出现结果即可   3. 翻译添加语言选择(翻译目标: 中文还是英文)   4. 润色结果可以进行修改,同时提供一键替换功能,替换目标文案内容(可编辑情况下可以直接替换)!   5. 翻译、解释、润色功能实用kimi的api实现即可,具体参考配置kimi api文档   6. 朗读直接调用chrome浏览器内置插件即可(提供中文和英文朗读)   7. 并且帮我们写好readme文档,写清在chrome部署插件的过程

    platform.moonshot.cn/docs

    设计和生成项目ui图文本

    chat agent模式对话:

    @01_chrome插件需求和要求说明 根据插件需求文档,帮我写一份项目的UI文本设计图,将设计图写到 02_chrome插件UI设计图 文件中! 要求页面简洁,清晰!

    生成 02_chrome插件UI设计图

    # Chrome插件UI设计文档## 1. 悬浮菜单设计### 1.1 基础悬浮菜单```+------------------------+|     功能按钮组         |+------------------------+| [解释] [翻译] [朗读] [润色] |+------------------------+```### 1.2 功能展示区域```+------------------------+|     功能按钮组         |+------------------------+| [解释] [翻译] [朗读] [润色] |+------------------------+|     结果展示区域        ||                        ||                        |+------------------------+```## 2. 各功能界面设计### 2.1 解释功能```+------------------------+|     功能按钮组         |+------------------------+| [解释] [翻译] [朗读] [润色] |+------------------------+|     解释结果           || 选中的文本解释内容...    |+------------------------+```### 2.2 翻译功能```+------------------------+|     功能按钮组         |+------------------------+| [解释] [翻译] [朗读] [润色] |+------------------------+| 目标语言: [中文 ▼]      |+------------------------+|     翻译结果           || 翻译后的文本内容...      |+------------------------+```### 2.3 朗读功能```+------------------------+|     功能按钮组         |+------------------------+| [解释] [翻译] [朗读] [润色] |+------------------------+| 朗读语言: [中文 ▼]      || [▶ 开始朗读] [■ 停止]   |+------------------------+```### 2.4 润色功能```+------------------------+|     功能按钮组         |+------------------------+| [解释] [翻译] [朗读] [润色] |+------------------------+|     润色结果           || 润色后的文本内容...      ||                        |+------------------------+| [编辑] [替换原文]       |+------------------------+```## 3. 设计规范### 3.1 颜色方案- 主色调:#4A90E2(蓝色)- 背景色:#FFFFFF(白色)- 文字颜色:#333333(深灰)- 边框颜色:#E5E5E5(浅灰)### 3.2 字体规范- 主字体:系统默认字体- 标题:14px- 正文:12px- 按钮文字:12px### 3.3 间距规范- 内边距:8px- 按钮间距:4px- 功能区间距:12px### 3.4 交互规范1. 选中文本后,悬浮菜单自动显示在选中文本附近2. 点击功能按钮后,结果区域自动展开3. 鼠标移出悬浮菜单区域,菜单自动隐藏4. 所有按钮hover效果:背景色变浅5. 编辑区域支持直接修改,替换按钮一键替换原文## 4. 响应式设计- 悬浮菜单宽度:最小200px,最大400px- 高度自适应内容- 确保在各种屏幕分辨率下都能正常显示 

    配置和导入kimi docs文档

    配置位置: cursor settings > Features > Docs > add new doc

    生成kimi api key

    登录kimi api 用户中心: platform.moonshot.cn/console/api…

    创建kimi api key (第一次赠送15元):

5.2 Chrome插件实现

    准备一个参考界面(参考豆包)

    实现插件功能

    @01_chrome插件需求和要求说明 @02_chrome插件UI设计图   基于需求和UI设计图,以及参考 @doubaoui.png 图片风格,直接在当前chrome-plugin文件夹下实现插件功能,同时提取单独配置文件用于填写kimi api url和key的位置!代码添加中文注释,实现后再次自检查,确保插件正常运行和实现功能!

    配置kimi api key

    // API配置const config = {    // Kimi API配置    kimi: {        apiUrl: 'https://api.moonshot.cn/v1', // 替换为实际的Kimi API URL        apiKey: 'YOUR_KIMI_API_KEY'  // 替换为实际的Kimi API Key    },        // 默认设置    defaults: {        translationTarget: 'zh', // 默认翻译目标语言:zh-中文,en-英文        speechLanguage: 'zh'    // 默认朗读语言:zh-中文,en-英文    }};// 导出配置export default config; 

5.3 Chrome插件调试和发布

    第一次回出现问题(使用cursor调试)

    将插件文件夹发布到chrome浏览器,报图片的错误,你给我从网上查找几张图片放在对应的位置即可!

    很大概率,cursor不给我们生成缺少的图片,安全原因,那么就需要我们自己手动添加!!

    有错误信息显示

    Uncaught SyntaxError: Cannot use import statement outside a module

    Uncaught SyntaxError: Cannot use import statement outside a module 解决错误信息!

    确保添加完成

    测试功能和调试

    实现和测试

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Cursor AI编程 代码编辑器
相关文章