当前位置: 首页 > news >正文

cursor使用经验分享(java后端服务开发向)

前言

cursor是一款基于vscode,并集成AI能力的代码编辑器,其功能包括但不限于代码生成及补全、AI对话(能够直接将代码环境作为上下文)、即时应用建议等等,是一款面向未来的代码编辑器。

对于vscode,最先想到的一定是他是一款web前端开发的代码编辑器,作为java开发,则应该使用idea。这种想法其实是错误的,虽然vscode广泛用于前端开发,idea广泛用于后端开发,但两者的区别绝不是开发不同的语言的区别。

  • vscode是一款更加轻量级的编辑器,所以其本身功能并不如idea强大,但其扩展性强,插件生态异常活跃,对于想要开发插件的开发者异常友好,这也是vscode本身能够经过一定改变,无痛升级到cursor的根本。
  • idea是一款功能强大的编辑器,但应用整体极重,这也直接导致idea的可扩展性一般,很难衍生出像cursor一样的产品。虽然idea页支持插件,但其插件生态相对封闭,许多高级功能需要通过 JetBrains 自己的团队来实现。这种模式虽然让idea的功能质量极高,但也限制了idea的插件社区创新速度。

正题

废话说完,进入正题。随着cursor的出现,AI编码已经落实到了程序员的实际工作,熟练使用cursor变成已经成为了提高开发效率的必备能力,那么作为后端,我们本不熟悉vscode,该如何使用cursor进行后端开发呢?

1. cursor的下载安装

首先进入cursor官网,官网中间即是下载按钮。

在这里插入图片描述

安装后进行简单的选择和登陆后,即可开始使用(我已经安装完了,没办法截图了,但是很简单)。

对于免费用户只能使用Chatgpt 3.5模型,并且有限额(新人应该有试用14天),可以选择购买高级功能,或想办法白嫖。价格可以在官网中的PRICING中查看。

在这里插入图片描述

2. 插件下载

之前已经说了vscode的功能及其有限,他对于语言的支持及其依赖插件完成。所以对于我们的java开发,也需要下载插件。下载插件的位置在左上角,如果找不到可以继续往下看大概结构介绍那里有。

2.1 Extension Pack for Java

在这里插入图片描述

这个插件包含了java开发所需的所有插件,共包含七款,涵盖了对Java语言、Maven、Gradle等的支持,具体内容可以下载后查看,总之这个插件包含了所有java开发所必须的内容。

2.2 Docker

在这里插入图片描述

这个插件对dockerfile的编写提供了更好的支持,如果项目中有便携dockerfie的需求可以下载。

2.3 Python

在这里插入图片描述

如果项目中有编写Python脚本的需求,可以下载Python插件来提供更好的支持。

2.4 JetBrains Darcula Theme

在这里插入图片描述

这是一个仿造Idea的主题,如果看惯了Idea的原生颜色可以下载,不过代码颜色没有改变,还是很不舒服的,如果有更好的主题麻烦推荐,我也迫切需要。

2.5 JetBrains Icon Theme

在这里插入图片描述

这款插件仿造了Idea的文件图标,如果习惯Idea的可以使用,不过也不太好用,因为当java被识别为项目中的java文件后,文件图标还是小茶杯。

2.6 Chinese

在这里插入图片描述

这款插件提供了cursor的中文支持,实际上vscode的中文也是这个插件,两者插件是互通的。

3.大概结构介绍

左侧功能页

cursor的大部分功能被集中在了左侧,具体如图所示

在这里插入图片描述

资源管理器:项目文件,没啥说的。

搜索:这个就是全局搜索,可以在这里搜整个项目的关键字。选中关键字,右键点击也有搜索选项。

在这里插入图片描述

源代码管理:这个就是git的可视化工具,上面是一些简单的代码推送拉去功能,加号就是git add操作,提交就是commit操作,消息就是commit消息

在这里插入图片描述

下面是git提交记录

在这里插入图片描述

我们也可以通过点击左下角的分支信息,来进行一些分支类的操作,其中刷新按钮就是同步远程分支。

在这里插入图片描述

点击分支后,效果如下:

在这里插入图片描述

扩展:这里就是查看我们下载的插件,以及搜索插件的地方。

运行和调试:这里可以运行我们的代码,并且进行断点调试。

JAVA PROJECT:这里可以配置vscode识别的Java项目,以及重新构建项目,这个功能就和idea中maven里的刷新符号功能是一致的。

在这里插入图片描述

MAVEN:这里就和idea中的maven窗口功能类似,不过构建项目的功能没有在这里,可以控制maven的生命周期。这里还提供了分层视图和扁平视图,这里推荐分层视图吗,因为和idea一样,扁平视图不习惯。

在这里插入图片描述

没说到的就是我也没用过,如果有好用的功能,可以评论一下,我尝试尝试。

右侧AI页

cursor的AI功能集中在右侧,我么可以操作的有四个东西。

1. 环境上下文

通过在聊天框上方添加文件,可以添加环境上下文。

在这里插入图片描述

但在实际开发中,我们并不会在这里去添加环境上下文,而是在代码中进行选择。(直接复制粘贴,内容也会进入上下文,如终端报错在选中时就没有Add to Chat,我们就可以进行复制粘贴)。

在这里插入图片描述

在这里插入图片描述

或者直接选择报错位置

在这里插入图片描述

这样cursor会直接获取上下文,解决报错。最方便的是解决报错后,我们还不需要手动修改,之需要点击接受就好。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2. AI模式

在聊天框的左下角可以选择AI的模式分别是Agent,Ask,Edit。

在这里插入图片描述

  • Agent:适合分步骤的任务,有良好的上下文逻辑。
  • Ask:适合平常询问
  • Edit:适合编辑代码需求
3. AI模型

这就不用多说了,选择AI模型,不过需要提一嘴的是,并不是所有模型都支持上述三种AI模式,当然在你选错的时候,cursor会给出提示。

AI模型可以在cursor的设置中进行配置(设置在右上角)。

在这里插入图片描述

后面还可以配置自己的apikey,具体什么套餐能使用什么模型我也不是很清楚,具体怎么设置,我也不是很清楚。

下侧终端页

下侧提供了终端功能,具体包括日志输出,以及终端命令。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

其中加号是新建终端,这个就没什么好说的了。终端都长一个样子。

页显示控制

在这里插入图片描述

curosr的右上角分别是左,下,右页的显示控制,以及设置。

4. 启动服务

idea中启动服务,之需要在右上角配置一下启动类和启动参数即可,但是cursor没有这种功能,插件也没有(但是我相信不久以后,后端开发的功能会越来越完善,这也是我选择用cursor的原因)。

在cursor中,我们需要在.vscode文件中创建launch.json文件,当你没有创建时,运行及调试页面也会提示你创建。并且通过vscode创建的launch.json文件会根据项目文件,自动写入合适内容,但可能不太准确,还需要手动修改。
在这里插入图片描述

文件中内容如下:

{"version": "0.2.0",//每一个配置项都表示一个类型的服务启动,比如说springboot中还有测试服务,测试单元,都可以作为一个配置项,自动生成的文件也会包含项目中的这些启动服务配置"configurations": [{"type": "java","name": "Spring Boot-DoucApiApplication","request": "launch",//启动主类"mainClass": "",//项目名称(如果主类在模块中填写模块名称)"projectName": "",//启动参数"vmArgs": "",//传入启动主类的参数"args": [],//如果工作目录在项目根目录则不需要这个参数,如果在模块中则要指定到对应模块的文件夹"cwd": "${workspaceFolder}/模块",//不懂干嘛的,项目后面还给我生成了setting.json文件以及task.json文件,都不知道干嘛用的"preLaunchTask": ""}]
}

完成了启动配置后,我们仍然不能直接启动,因为idea启动之前会自动执行编译,但是cursor不会,所以我们还需要执行mvn clean compile命令。

在命令执行完成,成功生成target文件后,这是就可以启动项目了。启动项目可以通过运行与调试界面,也可以通过代码页的右上角提供的按钮。

在这里插入图片描述

5.其他

跳转到实现类以及调用处

cursor中没有类似idea的绿色图标跳转到实现类,cursor中可以通过右键点击接口的方法,选择转到实现跳转到实现类。转到引用则是跳转到方法使用的地方。

在这里插入图片描述

搜索和全局搜索快捷键

文件内搜索和idea一样,都是ctrl + f,全局搜索则是ctrl + shift + f,可以先选择需要搜索的关键字,然后在按快捷键,可以一键搜索。
在这里插入图片描述

后续发现在补充。。。。。

相关文章:

cursor使用经验分享(java后端服务开发向)

前言 cursor是一款基于vscode,并集成AI能力的代码编辑器,其功能包括但不限于代码生成及补全、AI对话(能够直接将代码环境作为上下文)、即时应用建议等等,是一款面向未来的代码编辑器。 对于vscode,最先想…...

初次使用 IDE 搭配 Lombok 注解的配置

前言 在 Java 开发的漫漫征程中,我们总会遇到各种提升效率的工具。Lombok 便是其中一款能让代码编写变得更加简洁高效的神奇库。它通过注解的方式,巧妙地在编译阶段为我们生成那些繁琐的样板代码,比如 getter、setter、构造函数等。然而&…...

vue 安装依赖npm install过程中报错npm ERR! cb() never called!

解决办法: 步骤 1:清理 npm 缓存 npm cache clean --force rm -rf node_modules package-lock.json 步骤 2:一个第三方 npm 工具包,功能是 自动重试失败的 npm install 操作,适用于网络不稳定或依赖源不可靠的场景 …...

android接入rocketmq

一 前言 RocketMQ 作为一个功能强大的消息队列系统,不仅支持基本的消息发布与订阅,还提供了顺序消息、延时消息、事务消息等高级功能,适应了复杂的分布式系统需求。其高可用性架构、多副本机制、完善的运维管理工具,以及安全控制…...

libilibi项目优化(1)使用Redis实现缓存

第一版 获取视频信息使用旁路缓存 当视频信息存在缓存中时(命中),直接从缓存中获取。不存在缓存中时,先从数据库中查出对应的信息,写入缓存后再放回数据。 //获取视频详细信息RequestMapping("/getVideoInfo&q…...

The Rust Programming Language 学习 (二)

通用编程概念 变量和可变性 默认情况下变量是不可变的(immutable),不过你也可以选择让变量是可变的(mutable). 变量的遮蔽 你可以声明和前面变量具有相同名称的新变量,说这个是第一个变量被第二个变量遮蔽(shadow&…...

http链接转成https的链接的几种方法

以下是一个将HTTP链接转换为HTTPS的JavaScript函数,处理了多种常见输入情况: function convertToHttps(url) {if (typeof url ! string) return url;// 移除首尾空格并处理空字符串const trimmedUrl url.trim();if (!trimmedUrl) return https://;// 替…...

STM32——串口通信 UART

一、基础配置 Universal Asynchronous Receiver Transmitter 异步,串行,全双工 TTL电平 :高电平1 低电平0 帧格式: 起始位1bit 数据位8bit 校验位1bit 终止位1bit NVIC Settings一栏使能接受中断。 之前有设置LCD,…...

mybatis日期格式与字符串不匹配bug

异常特征:java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDateTime and java.lang.String ### Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.time.LocalDateTime and java.lang.Str…...

文献分享: ConstBERT固定数目向量编码文档

😂图放这了,大道至简的 idea \text{idea} idea不愧是 ECIR \text{ECIR} ECIR 👉原论文 1. ConstBERT \textbf{1. ConstBERT} 1. ConstBERT的原理 1️⃣模型的改进点:相较于 ColBERT \text{ColBERT} ColBERT为每个 Token \text{Tok…...

学习记录-用例设计编写

黑马测试视频记录 目录 一、 软件测试流程 二、测试用例编写格式 1、等价类法 2、边界值分析法 3、 判定表法 4、场景法​编辑 5、错误推荐法 一、 软件测试流程 二、测试用例编写格式 1、等价类法 2、边界值分析法 3、 判定表法 4、场景法 5、错误推荐法 时间紧任务重…...

学习工具的一天之(burp)

第一呢一定是先下载 【Java环境】:Java Downloads | Oracle 下来是burp的下载 Download Burp Suite Community Edition - PortSwigger 【下载方法二】关注的一个博主 【BurpSuite 安装激活使用详细上手教程 web安全测试工具】https://www.bilibili.com/video/BV…...

el-tree右键节点动态位置展示菜单;el-tree的节点图片动态根据节点属性color改变背景色;加遮罩层(opacity)

一、el-tree右键节点动态位置展示菜单 关键:@node-contextmenu="handleRightClick"与@node-click=“handleNodeClick” <div class="content"><el-tabs class="tabs" @tab-click="handleClick" v-model="Modal"…...

K8s 1.27.1 实战系列(一)准备工作

一、主机规划与硬件要求 1、节点数量 至少需要 3 台服务器(1 台 Master 节点,2 台 Worker 节点)。本地测试可缩容:若仅用于测试,可缩减为 1 个 Master 和 1 个 Worker,但需注意稳定性风险。2、硬件配置 ​Master 节点:建议 2 核 CPU、8GB 内存、80GB 硬盘。​Worker 节…...

说一下SpringBoot3新特新和JDK17新特性

JDK1.8&#xff08;Java8&#xff09;新特性 stream流式编程 流处理 Stream API 提供了对集合数据进行操作的一种高效、简洁的方式。它支持顺序和并行的聚合操作 如&#xff1a;过滤&#xff08;filter&#xff09;、排序&#xff08;sort&#xff09;、映射&#xff08;map&…...

Linux系统服务安全检测手记

一&#xff1a;服务器ip暴露ip和端口的安全问题 服务器IP和端口暴露在外网中确实存在一定的安全风险&#xff0c;以下是几个主要的安全问题及相应的缓解措施&#xff1a; ### 主要安全问题 1. **直接攻击**&#xff1a; - 暴露的IP地址和开放的端口可能成为黑客直接攻击的…...

鸿蒙与DeepSeek深度整合:构建下一代智能操作系统生态

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/north 目录 技术融合背景与价值鸿蒙分布式架构解析DeepSeek技术体系剖析核心整合架构设计智能调度系统实现…...

[创业之路-329]:华为铁三角实施的步骤

一、通用过程 华为铁三角实施的步骤主要包括以下几个关键阶段&#xff1a; 1、明确角色与职责 确定铁三角成员&#xff1a;组建由客户经理&#xff08;AR&#xff09;、解决方案经理&#xff08;SR&#xff09;和交付经理&#xff08;FR&#xff09;组成的铁三角团队。制定岗…...

1.15-16-17-18迭代器与生成器,函数,数据结构,模块

目录 15&#xff0c;Python3 迭代器与生成器15-1 迭代器15-1-1 基础知识15-1-2 迭代器与for循环工作原理 15-2 生成器&#xff08;本质就是迭代器&#xff09;15-2-1 yield 表达式15-2-2 三元表达式15-2-3 列表生成式15-2-4 其他生成器&#xff08;——没有元祖生成式——&…...

java面向对象(详细讲解)

第一章 类和对象 1.面向对象的介绍 1.面向过程&#xff1a;自己的事情自己做&#xff0c;代表语言c语言 2.面向对象&#xff1a;自己的事情别人做&#xff0c;代表语言java 3.为啥要使用面向对象思想编程&#xff1a;很多功能别人给我们实现好了&#xff0c;我们只需要拿过…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例&#xff1a;使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例&#xff1a;使用OpenAI GPT-3进…...

基于Uniapp开发HarmonyOS 5.0旅游应用技术实践

一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架&#xff0c;支持"一次开发&#xff0c;多端部署"&#xff0c;可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务&#xff0c;为旅游应用带来&#xf…...

Caliper 配置文件解析:config.yaml

Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

在 Spring Boot 中使用 JSP

jsp&#xff1f; 好多年没用了。重新整一下 还费了点时间&#xff0c;记录一下。 项目结构&#xff1a; pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://ww…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...