Cursor入门教程-JetBrains过度向
Cursor使用笔记
**前置:**之前博主使用的是JetBrains的IDE,VSCode使用比较少,所以会尽量朝着JetBrains的使用习惯及样式去调整。
一、设置语言为中文
如果刚上手Cursor,那么肯定对Cursor中的众多选项配置项不熟悉,这时候如果是默认的英文,会比较妨碍快速熟悉Cursor,因此可以将其语言调整为中文,因为Cursor是以VSCode为模版拓展的,所以我们可以直接下载一个中文插件(Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code),安装完重启Cursor后就会显示中文界面了。

二、设置JetBrains的主题
2.1 颜色主题
Cursor的默认主题,真的两眼一黑,颜色很淡而且还有大量紫色这样的鲜艳颜色,属于是多看一眼我都会爆炸。后来我在试用了多个主题后,包括最火的吸血鬼主题,还有Community Material Theme主题以及所有的JetBrains主题,最好用的感觉还是JetBrains Darcula Theme这款主题。
设置方法为首选项 -> 主题 -> 颜色主题,选择JetBrains Darcula Theme就可以。

颜色大致如下:

2.2 Icon主题
Icon主题选择JetBrains Icon Theme这个插件进行安装,在首选项 -> 主题 -> 文件图标主题中添加图中的Icon主题安装:
其图标样式大致如下:
三、插件推荐
除了以上几款主题的插件推荐,还有几款实用的插件也建议安装一下。
Git
首先是两款Git相关的插件,分别是Git Graph和Git History,Git Graph是可以看到分支的提交合并回滚等记录,十分方便,Git History则是可以查看当前代码是在哪个提交中,提交人是谁,能够更好的追踪溯源。


快捷键
如果用惯了IDEA的快捷键,那你肯定不习惯VSCode的快捷键,这时候就需要它了:IntelliJ IDEA Keybindings,这款插件安装后可以帮你自动设置好IDEA中快捷键,无缝衔接~

Markdown
有一个插件可以直接在Cursor中预览Markdown,名字叫Markdown Preview Mermaid Support,安装完就可以直接在Cursor中预览MD文档了。

Go
如果你是一名Go语言使用者,那么还可以添加Go-Zero的goctl插件(goctl)和一个proto插件(vscode-proto3),goctl用于高亮.api文件,而vscode-proto3可用于高亮.proto文件。


四、Cursor使用
4.1 界面介绍

Cursor的界面主要分为四块
- 最左边就是文件区,可以显示打开的项目文件目录;
- 中间是展示区,点击文件,文件内容会展示在这里,编写代码就在这个区域;
- 最右边的就是Cursor独有的对话区,可以直接进行对话并帮助你编写代码直接生成到项目中,这也是Cursor的核心具体后面会进行介绍;
- 最后就是下方输出区,日志打印,调试控制台,终端等都在这里。
另外还有一个需要关注的,就是如何展示关闭这三块内容,一开始熟悉Cursor的时候我关闭了下方输出窗口,找了半天没有找到,后来发现在界面的右上角:

这三个分别对应着上个界面图里介绍的文件区,输出区和AI对话区,点击即可打开或关闭。
4.2 运行与调试
**快捷键:**最简单的方式也是最快捷的,就是点到对应的文件,直接按F5就可以了。
界面交互:
由于JetBrains的IDE是可以直接在文件中或者调试的,有一个绿色的三角,点击可以选择run或者debug。Cursor中找了半天没找到,后来发现它在界面的左上角:

点击图标后点击运行和调试即可,要注意选到对应的main函数入口文件再进行运行调试,调试的字段参数都在左侧:

debug工具在上面:

4.3 git使用
在界面左上角的git标志中,会展示各个项目的源代码管理,点击某个项目的右侧三个小点,可以看到如下展示:
- 拉取:从该分支的远程分支上拉取最新提交到本地分支上
- 推送:将本地上该分支的修改内容推送到远程分支上
- 克隆:通过ssh或者https链接克隆新的项目
- 签出到…:切换分支
- 抓取:从远程上抓取整个项目的变动,包括分支的新增删除
[!NOTE]
注意,如果出现远程与本地tag冲突,删除本地tag即可。
git tag -d 具体tag名字
4.4 多项目同时打开
原先在JetBrains的IDE中,是可以使用Merge All Project Windows合并所有的项目,可以方便的在IDE顶部进行切换


不过我在Cursor中并没有看到有这样的功能,不过有一个类似的,只不过在左侧的文件栏中,具体方法是 文件-> 将文件添加到工作区中,这样每个项目都是一个文件夹,可以在文件栏中进行切换,不过感觉还是没有IDEA中方便。

4.5 Cursor特性
4.5.1 智能补全代码
Cursor可以自动学习你的代码编程习惯,你只要打一点代码,Cursor就会自动进行智能补全,这时候只需按下Tab键,就可以将生成的代码直接补全,这也是AI编程中最常用的一种,能够极大提高效率,不过要注意检查生成的代码逻辑是否正确。如图,我只打了if,就帮忙自动补全了接下来原本要写的代码。

4.5.2 快速添加询问内容
在Cursor中,不必再手动复制想要更改的代码片段,或者输出的报错这些内容到对话框中,Cursor提供了一键添加到快捷功能,选中某个片段,可以看到Add to Chat这个功能。

点击后,可以看到这几行以及整个的这个文件的索引都会被添加到对话框中,这样就可以方便的添加上下文,便于模型去理解以达到更好的生成效果,选择好后,输入想要实现或者更改的功能,点击send稍等片刻就可以获得生成后的代码了。

4.5.3 内联代码编辑与生成
在选中代码段后,除了Add to Chat选项,还有个Edit选项,快捷键为系统键➕K,可以快速在代码内生成一个对话框,输入想要实现的内容,会快速在当前内容上进行修改,可以选择Accept或者Reject。

也可以选择quick question,这就和普通的AI对话一样,不会修改代码只提供建议。

4.5.4 Agent快速生成
Cursor的协作模式有三种:Ask、Edit和Agent三种模式。
Ask模式
- 询问特定代码段的问题
- 获取复杂函数的解释
- 查找代码模式和示例
- 探索并理解代码库
Edit模式
- 对代码进行单次编辑
- 精确应用有针对性的更改
- 自信地审查和应用更改
- 单独处理文件
Agent模式(默认)
- 进行代码库范围的更改和重构
- 根据需求实现新功能
- 调试跨多个文件的复杂问题
- 生成测试和文档
- 保持整个项目的一致性
最常用的是Agent模式,其他两种用的比较少。
如果说上面的内联代码快速生成可以提高编程效率,那Agent就是一个AI配对程序员,可以用于复杂的代码修改,甚至可以大规模进行编辑,比如现在我要生成一个新的时间工具类,我只需使用@指定新文件生成位置,然后告诉其诉求,就可以直接生成一个新的时间类方法文件。
点击Accept后,这个新文件可以直接添加到对应目录中,当然如果不满意或者有新的功能需要更改,可以继续在对话框中添加要求直至生成符合自己要求的代码文件。
除了代码,你甚至还可以在Cursor中生成流程图之类的文档,给予指令“生成流程图,使用markdown语法,并生成一个新文件”,可以得到如图所示的流程图文档:

Agent的使用方法还有很多很多,这里只是介绍了最基础的用法,更多优质用法需要发掘。
相关文章:
Cursor入门教程-JetBrains过度向
Cursor使用笔记 **前置:**之前博主使用的是JetBrains的IDE,VSCode使用比较少,所以会尽量朝着JetBrains的使用习惯及样式去调整。 一、设置语言为中文 如果刚上手Cursor,那么肯定对Cursor中的众多选项配置项不熟悉,这…...
【人工智能】Agent未来市场与技术潜力分析
Agent作为连接大模型与具体场景的桥梁,正在成为AI技术落地的核心载体。结合2025年的市场动态与技术趋势,其未来潜力可从以下多个维度展开分析: 一、市场前景:爆发式增长与多层级需求 市场规模与增速 全球AI Agent市场规模预计从2024年的51亿美元增至2030年的471亿美元(年复…...
计算机视觉与深度学习 | TensorFlow基本概念与应用场景:MNIST 手写数字识别(附代码)
TensorFlow 基本概念 TensorFlow 是一个开源的机器学习框架,由 Google 开发,核心概念包括: 张量(Tensor):多维数组,是数据的基本单位。计算图(Graph):早期版本中用于描述数据流和计算过程,2.x 默认启用即时执行(Eager Execution),兼顾灵活性和性能。层(Layers)…...
Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿
CPU负载突然飙升,如截图: 根本原因,大家从各种博主上已知晓,现在提供自己的解决办法,亲测有效 一、设置开机自动禁用温度管理守护进程 1.创建脚本文件 mkdir -p ~/Scripts touch ~/Scripts/disable_thermald.sh …...
宝塔面板部署 Dify-latest 最新版本
一、本地部署Windows 版本宝塔面板 宝塔面板是一款简单容易上手使用的服务器管理软件,它可以帮助用户方便地管理服务器以及部署网站等。 (1)在宝塔面板官网的下载界面,选择 windows 版本下载。点此进入下载 (2&#x…...
《TCP/IP网络编程》学习笔记 | Chapter 24:制作 HTTP 服务器端
《TCP/IP网络编程》学习笔记 | Chapter 24:制作 HTTP 服务器端 《TCP/IP网络编程》学习笔记 | Chapter 24:制作 HTTP 服务器端HTTP 概要理解 Web 服务器端无状态的 Stateless 协议请求消息(Request Message)的结构响应消息&#x…...
MCP(2)架构篇:深入理解MCP的设计架构
前言 在上一篇《MCP系列之基础篇》中,我们初步了解了MCP(模型上下文协议)的基本概念和价值。本篇文章将深入探讨MCP的技术架构,帮助开发者和技术爱好者更全面地理解这一协议的内部工作机制。我们将剖析MCP的核心组件、通信模型和工作流程,解析Host、Client和Server三者之…...
Origin将双Y轴柱状图升级为双向分组柱状图
当变量同时存在两个数值时的可视化时,往往会想到用双Y轴柱状图来表达我们的数据。 双Y轴柱状图是一种在同一图表中使用左右两个Y轴的可视化形式,常用于展示两组量纲不同或数值范围差异较大的数据。 双向分组柱状图是一种结合了双向柱状图和分组柱状图的…...
Ubuntu 22.04 更换 Nvidia 显卡后启动无法进入桌面问题的解决
原显卡为 R7 240, 更换为 3060Ti 后, 开机进桌面时卡在了黑屏界面, 键盘有反应, 但是无法进入 shell. 解决方案为 https://askubuntu.com/questions/1538108/cant-install-rtx-4060-ti-on-ubuntu-22-04-lts 启动后在开机菜单中(如果没有开机菜单, 需要按shift键), 进入recove…...
JavaScript 笔记 --- part 4 --- Web API (part 2)
(webAPI part2) DOM 基本操作 事件流 定义: 指的是事件完整执行过程中的流动路径 捕获阶段: 事件从最外层的窗口对象开始,逐层向内传播到目标元素,并触发相应的事件处理程序。 冒泡阶段: 事件从目标元素开始,逐层向外传播到最外层的窗口对象…...
测试基础笔记第六天
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、操作系统1.什么是操作系统2.操作系统的常见分类 二、linux系统1.linux发行版本2.文件和路径3.远程连接操作常见的远程连接工具远程连接基本步骤 三、linux命令操…...
Edge Impulse 训练openMV分类模型(字母+数字)
前言 使用openMV Cam H7 Plus 固件4.5.9尝试多种方式均失败(模板匹配、ORB特征识别),还毁了一个sd卡,还是老老实实用Edge Impulse 训练吧 准备字母数字图片,使用Python生成,文件名要存成“A.jpg”这样&…...
ChatUI 3.0 正式发布,“对话式交互” 开源组件库
ChatUI 3.0 是阿里达摩院推出的 “对话式交互” 开源组件库,在智能对话领域具有诸多优势,以下为你详细介绍: 组件丰富实用:提供 50 多个基础组件,涵盖电商、零售、餐饮、出行等多种行业需求,包括对话式界面…...
Linux 动、静态库的实现
前言:当我们写了一段代码实现了一个方法,如果我们不想把方法的实现过程暴露给别人看,可以把代码打包成一个库,其中形成后缀为.a的是静态库,后缀为.so的为动态库;当别人想使用你的方法时,把打包好…...
C++11特性补充
目录 lambda表达式 定义 捕捉的方式 可变模板参数 递归函数方式展开参数包 数组展开参数包 移动构造和移动赋值 包装器 绑定bind 智能指针 RAII auto_ptr unique_ptr shared_ptr 循环引用 weak_ptr 补充 总结 特殊类的设计 不能被拷贝的类 只能在堆上创建…...
PcVue助力立讯:精密制造的智能化管控实践!
PcVue助力立讯: 精密制造的智能化管控实践! 客户介绍 立讯精密(Luxshare ICT,股票代码:002475)成立于2004年5月24日,专注于为消费电子产品、汽车领域产品以及企业通讯产品提供从核心零部件、…...
jmeter中文乱码问题解决
修改jmeter.properties配置文件 进入JMeter安装目录的bin文件夹,找到jmeter.properties文件。搜索参数sampleresult.default.encodingUTF-8,取消注释(删除行首的#),并将其值改为UTF-8。保存文件并重启JMeter生效…...
最新扣子空间实操指南
一、首先要先获取到内部测试的邀请码, 我们先打开扣子空间官网:https://space.coze.cn/ 输入邀请码后进入该页面: 它这里支持文件上传,扩展里面有很多插件,页支持MCP各种插件. 探索模式有两种,一种是ai自…...
Java表达式2.0
1 .数据类型转换 自动类型转换的规则 自动类型转换遵循一定的规则,这些规则确保了转换的合理性和安全性。以下是自动类型转换的主要规则: 容量小的类型自动转换为容量大的类型 Java中,数据类型的容量从小到大依次为:byte → shor…...
JavaScript 一维数组转二维数组
题目描述: <script>const num [1,2,3,4]const out (function(num,m,n){if(num.length ! m*n){return []}const newarr []for(let i 0;i<m;i){newarr.push(num.slice(i*n,(i1)*n))}return newarr})(num,2,2)console.log(out)</script>不使用Stri…...
WIN10重启开机不用登录,直接进入桌面
我们个人机不需要登录。 步骤1 置,帐户,登录选项,密码。 输入当前密码后,直接下一步。 再次重启,就会发现不需要密码了。...
JavaScript学习教程,从入门到精通,DOM节点操作语法知识点及案例详解(21)
DOM节点操作语法知识点及案例详解 一、语法知识点 1. 获取节点 // 通过ID获取 const element document.getElementById(idName);// 通过类名获取(返回HTMLCollection) const elements document.getElementsByClassName(className);// 通过标签名获取…...
基于ESP32 - S3实现一个ping百度的C测试程序
环境准备 安装ESP-IDF开发环境,可参考官方文档。确保开发环境已正确配置,能对ESP32 - S3进行编译和烧录。 实现思路 连接WiFi:让ESP32 - S3连接到一个可用的WiFi网络。初始化Ping功能:利用ESP-IDF提供的Ping API初始化Ping功能…...
英语学习4.15
amateur amateur 🔤 读音:/ˈmətər/ 或 /ˈmətʃʊr/ ✅ 词性:名词 / 形容词 ✅ 中文释义: (名词)业余爱好者 👉 指不是以此为职业的人,通常出于兴趣而从事某项活动。 …...
开源项目FastAPI-MCP:一键API转换MCP服务
在当今AI开发的世界中,应用程序与AI模型之间的无缝集成至关重要。 模型上下文协议(Model Context Protocol, MCP)通过允许AI模型访问外部工具和数据源,弥合了这一差距。 FastAPI MCP是一个强大的工具,它可以通过最少的配置将您现有的FastAPI端点转换为MCP兼容的工具。 本…...
python课堂随记
11.15 连接符 namemcl print(我叫,name) print(我叫name)#连接符 age18 print(我叫name年龄str(age)) #连接符需要数据类型相同 11.17随记 除法运算神奇 8/5 #1.6 8//5 #1 -8/5 #-1.6 -8//5 #-2 ##次方表示—两个** 3的27次方 27的3次方 小结 程序的书写&…...
Agent安装-Beszel 轻量级服务器监控平台
docker-compose安装 beszel-agent 安装 docker-compose 配置文件 services:beszel-agent:image: henrygd/beszel-agent:latestcontainer_name: beszel-agentrestart: unless-stoppednetwork_mode: hostvolumes:- ./beszel_socket:/beszel_socket- /var/run/docker.sock:/var…...
算法—选择排序—js(场景:简单实现,不关心稳定性)
选择排序原理:(简单但低效) 每次从未排序部分选择最小元素,放到已排序部分的末尾。 特点: 时间复杂度:O(n) 空间复杂度:O(1) 不稳定排序 // 选择排序 function selectionSort(arr) {for (let …...
websocket和SSE学习记录
websocket学习记录 websocket使用场景 即时聊天在线文档协同编辑实施地图位置 从开发角度来学习websocket开发 即使通信项目 通过node建立简单的后端接口,利用fs, path, express app.get(*, (req, res) > {const assetsType req.url.split(/)[…...
【统计分析120】统计分析120题分享
1-30 判断题 数学模型 指的是通过抽象、简化现实世界的某些现象,利用数学语言来描述他们的结构和行为,做出一些必要的假设,运用适当的数学工具,得到一个数学结论 数学模型:指的是通过抽象、简化现实世界的某些现象&am…...
