用Cursor开启JAVA+AI生涯(启用java script)
liuian 2025-07-23 16:11 28 浏览
Cursor 是基于VS Code开发的一款编辑器,支持多种语言的开发编辑。与传统的开发工具相比,它有多种优势:与AI无缝集成,响应速度快,占用内存小。但很多同学在"起步"过程中遇到了一点点问题,导致起步不成功。本文描述一些实用的小技巧,帮助大家快速用Cursor开启AI生涯。
一、cursor下载
下载Cursor
https://www.cursor.com/
备注:使用cursor需要收费,且费用颇高
支付方式可以使用 Wildcard 虚拟信用卡
https://blog.csdn.net/qq_33146717/article/details/145172851
或者免费版用15天,然后换一个邮箱。
二、安装插件
刚下载的cursor几乎没有任何功能,需要用安装插件的方式来把一个cursor组装为Java开发平台。切换到插件搜索下载即可。
建议安装插件清单:为了实现和idea基本一致的开发体验,建议安装如下插件。
background
Chinese(Simplified)(简体中文) Language Pack for Visual Studio Code
Chrome Extension Developer Tools
Copy Reference
Debugger for Java
Diff Folders
Draw.io Integration
Extension Pack for Java
GitLens — Git supercharged
Gradle for Java
Image preview
IntelliCode
IntelliCode API Usage Examples
indent-rainbow-blocks
Language Support forJava(TM) by Red Hat
Markdown All in One
Markdown Image
Markdown Image Manage
Markdown Preview Enhanced
Material Icon Theme
Maven for Java
Project Manager for Java
Project Manager
Prettier - Code formatter
Test Runner for Java
Todo Tree
VS Code Counter
vscode-pdf
XML Tools
建议屏蔽的插件:
java:oracle版本,有一堆java11以上版本的有创新但是生产环境用不到的功能。
三、常用快捷键
快捷键
查看类源码:Ctrl+鼠标左键
快捷键命令搜索:Ctrl+Shift+P+命令名称
按文件名搜索文件:Ctrl+P
根据类名查找类:Ctrl+T
注释代码:Ctrl+/
开启/关闭侧边栏:Ctrl+B
全局查找并替换:Ctrl+Shift+F
文件内查找:Ctrl+F
修改变量或类名:F2
查找变量或类的引用:Shift+F12
查找接口或方法的实现:Ctrl+F12
格式化代码:Shift+Alt+F
重构抽取变量或方法:Ctrl+Shift+R
回退到上一个操作:Alt+左箭头
前进到下一个操作:Alt+右箭头
提示可能的操作,如变量生成:Alt+.
移动一行代码:Alt+上箭头或Alt+下箭头
删除当前行代码:Ctrl+Shift+K
打开AI窗口: Ctrl+Shift+L
四、建议配置
vscode的配置项目很多。为了快速启动项目,推荐下面的懒人配置。
4.1、settings.json
settings.json是关于整个项目的:启动内存,编辑器样式,自动编译等配置。
一般位于项目的.vscode/settings.json
{
//设置内存大小
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx16G -Xms2G -Xlog:disable",
//maven视图:分层
"maven.view": "hierarchical",
//构建失败继续:开启
"java.debug.settings.onBuildFailureProceed": true,
//启动窗口、打开文件夹、保存文件时的自动编译开关
//影响启动速度,如有需要可启动后再手动打开
"java.autobuild.enabled": false,
//debug启动时自动编译:关闭
//如果打开,则应用启动前需要编译整个项目,耗时1.5-5分钟
//建议手工编译,可提升启动速度
"java.debug.settings.forceBuildBeforeLaunch": false,
//debug自动加载修改后的类
"java.debug.settings.hotCodeReplace": "auto",
//保存时自动编译:开启
//但似乎此参数无效,实操经验是:
//倘若java.autobuild.enabled为true,则保存后自动编译
//倘若java.autobuild.enabled为false,则保存后不自动编译
"java.compile.onSave":true,
//问题装饰:关闭
"problems.decorations.enabled": false,
//null分析:关闭
"java.compile.nullAnalysis.mode": "disabled",
//未使用导入:忽略
"editor.unusedImports.severity": "ignore",
//未使用变量:隐藏
"editor.showUnused": false,
//自动保存:延迟
"files.autoSave": "afterDelay",
//自动保存延迟时间:1000毫秒
"files.autoSaveDelay": 1000,
//JAVA项目层级展示
"java.dependency.packagePresentation": "hierarchical",
//Peek References窥视试图颜色配置
"workbench.colorCustomizations": {
"peekView.border": "#FF0000", // 边框颜色
"peekViewEditor.background": "#330099", // 代码编辑区背景
"peekViewResult.background": "#3300CC", // 结果列表背景
"peekViewTitle.background": "#FF0000"// 标题背景
}
}
4.2、launch.json
launch.json是关于项目可启动应用的配置。位于.vscode/launch.json
下面是一个我所在us团队启动应用的示例,关键参数在于projectName、mainClass、args。
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Launch Java Program",
"projectName":"us-start",
"request": "launch",
"mainClass": "com.amap.us.start.Application",
//"preLaunchTask": "mvn clean install",
"args": "--spring.profiles.active=testing,gray8",
"vmArgs": "-Xms516M -Xmx2048M -Djps.track.ap.dependencies=false -Dspring-boot.run.fork=false"
}
]
}
配置完成之后,即可在运行窗口启动项目进行调试等操作。
4.3、启动窗口、打开文件夹、保存文件时的自动编译-自动编译选项
如果你遇到了"打开cursor很耗时,需要3-5分钟甚至更久"的问题,这个配置很适合你。
settings.json
//启动窗口、打开文件夹、保存文件时的自动编译开关
//影响启动速度,如有需要可启动后再手动打开
//打开后,启动窗口,打开文件夹时会编译一次项目,耗时1.5-5分钟
//因此不建议打开
"java.autobuild.enabled": false,
4.4、选择JDK
command+shift+p 搜索classpath
建议选择1.8.0_300以上版本。如果启动报错 diamond serverlist 未加载成功,是jdk版本太低,如果启动报错duplicateKey[bizId,scenario],需要手动重新编译gbf。
4.5、debug配置-应用启动前的强制自动编译
如果你想『debug』的时候,代码改动后立即热部署生效,可以尝试如下配置。
等价于配置
//启动窗口、打开文件夹、保存文件时的自动编译开关
//影响启动速度,如有需要可启动后再手动打开
"java.autobuild.enabled": true,
//debug应用启动自动编译:打开
//如果打开,则应用启动前需要编译整个项目,耗时1.5-5分钟
//建议手工编译,可提升启动速度
"java.debug.settings.forceBuildBeforeLaunch": true,
//denig自动加载修改后的类
"java.debug.settings.hotCodeReplace": "auto",
4.6、清空缓存--很有用
在项目运行期间,偶然会遇到项目崩溃,例如:
在项目中新建了一个maven的module,但是pom.xml的格式不正确,导致maven组件运行崩溃。
此时:重启cursor也不管用,表现是:无法打开文件,无法运行插件,无法浏览git历史,无法和ai对话。
解决办法:找到缓存文件夹,删掉缓存文件,再重启cursor。
缓存文件夹目录地址
~/Library/Application Support/Cursor/User/workspaceStorage
例如我的地址
/Users/kanmars/Library/Application Support/Cursor/User/workspaceStorage
删除文件位置:
问题表现:
4.7、转化为大写-小写 设置快捷键
command+shift+p 搜索转化为大写/小写。
我的习惯是绑定 cmd+shift+u为大写,cmd+shift+m为小写。
4.8、编译单个文件
方法一:打开自动编译开关java.autobuild.enabled=true
但启动窗口,打开文件夹时都会编译整个项目,耗费1.5-5分钟。
方法二:maven增量编译
经了解资料,maven并不支持增量编译,但支持按模块编译。
mvn compile -DskipTests -pl <模块名称>,可以避免编译整个项目。
方法三:task。未实验成功
https://blog.51cto.com/u_16213457/12958417
建议:方案一 日常情况下关闭自动编译开关,如果确实需要本地debug的,再打开此开关。
4.9、maven如何始终跳过测试
idea使用maven编译时可以关闭testCase避免每次打包自动运行测试用例,vscode也有同等能力,在设置中查找maven配置(@ext:vscjava.vscode-maven),添加选项:-DskipTests。
4.10、主题-建议用深色visualStudio
原因:点击某个方法的调用方的区别(窥视视图)
默认 cursor dark
使用深色visualStudio,略微的有个浅色的提示框。
4.11、修改窥视视图颜色
cmd+点击方法,查看调用链颜色太浅了,看不清楚。可以手工修改颜色。
settings.json中需要加入如下配置:
"workbench.colorCustomizations": {
"peekView.border": "#FF0000", // 边框颜色
"peekViewEditor.background": "#330099", // 代码编辑区背景
"peekViewResult.background": "#3300CC", // 结果列表背景
"peekViewTitle.background": "#FF0000"// 标题背景
}
五、常见操作
5.1、git
提交记录
缺陷:idea可合并多次提交,查看变更。
而git graph只能查看单个提交的变更。
代码比对
单个文件比对
5.2、返回上一次command+点击的位置
默认:control+-
可以command+shift+p搜索『返回』,修改为习惯的快捷键。
例如command+option+左箭头。
六、cursor-rules
可以定制cursor的AI运行时的规则,位于.cursor文件中。
rules可以作为一种预设的规则,为AI提出:运行指导、限制规范。帮助我们更好地完成目标。
示例:
https://juejin.cn/post/7471044704647053353
https://cursorrulescn.oosakana.com/
https://blog.csdn.net/heiyeshuwu/article/details/145951789
七、MCP
通过mcp可以接入很多有意思的工具,为日常工作提效。例如接入mcp-server-playwright工具,替你完成:"打开浏览器,打开日志查询平台,根据gsid查询到一条日志,再把日志复制到debug平台的页面中,运行debug平台,获取日志,排查问题,给出结论"等一套完整的"日志排查"工作。
推荐mcp搜索网站:http://mcp.so
好用的mcp推荐:
- 浏览器:https://github.com/executeautomation/mcp-playwright
- 文件:@modelcontextprotocol/server-filesystem
- 知识图谱记忆:@modelcontextprotocol/server-memory
beyond资料
https://github.com/modelcontextprotocol/servers
https://smithery.ai/server
https://cursor.directory/
https://github.com/punkpeye/awesome-mcp-servers
https://mcp.so/
八、最后加两句
cursor是AI时代的研发工具,作为『研发工具』,它给了我们一个机会,去结合AI做一些事情。比如:业务分析,整合创新,研发提效等。
本文只是『如何启动cursor并能简单使用』的一个"如何起步"的简单说明。如何『用工具创造价值』还有待后续补充。
多模态数据信息提取
随着信息技术的快速发展,数据的获取与处理变得尤为重要。本方案提供多模态文件信息抽取能力,通过先进的人工智能技术,能够识别和解析各种格式的文件,包括文本、图像、音频和视频,从而提取出有价值的信息,大幅提升数据处理效率。
点击多模态数据信息提取-阿里云技术解决方案查看详情。
相关推荐
- git的撤销、删除和版本回退_git撤销删除的文件
-
备注:本文参考于廖雪峰的博客Git教程。依照其博客进行学习和记录,感谢其无私分享,也欢迎各位查看原文。知识点:1、gitstatus,查看git仓库的状态2、gitdiff查看git修改了的内容...
- 程序员开发必会之git常用命令,git配置、拉取、提交、分支管理
-
整理日常开发过程中经常使用的git命令!git配置SSH刚进入项目开发中,我们首先需要配置git的config、配置SSH方式拉取代码,以后就免输入账号密码了!#按顺序执行gitconfig-...
- Git使用指南 | 教你轻松学会Git_git用法详解
-
4000字,教大家学会Git使用。一、Git基础1、Git介绍Git是目前世界上最先进的分布式版本控制系统。版本控制系统:设计师在设计的时候做了很多版本经过了数天去问设计师每个版本都改了些啥,设计师此...
- 深入浅出 Git_深入浅出 gRPC
-
git初体验使用git前需设置用户名和Email,这些信息会出现在提交记录中以标识作者。gitconfig--globaluser.name"YeHanlin"gitc...
- Git不提交指定文件的方法_git不提交指定文件的方法有哪些
-
大家在开发项目的时候都很喜欢使用git作为代码管理工具,但是在开发项目的时候我们的本地配置文件不应该覆盖服务器中的配置文件,我们使用命令gitstatus查看待提交文件的时候需要注意不要把本地的配...
- 相见恨晚的 Git 命令动画演示,一看就懂
-
虽然Git是一个强大的工具,但是我觉得大部分人都会同意我说的:它也可以是一个……噩梦!我一直觉得,使用Git的时候把操作过程在脑海里视觉化会非常有用:当我执行某个命令的时候,分支之间是如何交互...
- GitCode的一些命令_git命令大全
-
GitCode的一些命令配置工具对所有本地仓库的用户信息进行配置$gitconfig--globaluser.name"[name]"对你的commit操作设置关联的用户名$...
- 【git】 如何删除所有 tag(本地和远程)
-
要删除所有本地和远程的Git标签,可以按照以下步骤进行:删除本地标签首先,删除本地标签。你可以使用以下命令删除本地的所有标签:gittag-d$(gittag-l)这将列出并删除所有本地...
- 互联网大漏洞:每600个网站就有1个暴露了.git文件夹
-
对于Web开发人员来说,向外界暴露你的.git文件夹绝对是一个菜鸟级错误。因为这样会允许任何人下载你的整个源代码存储库,包括数据库密码、加密盐、Hash和第三方接口密钥API,还有你的用户名和密码。多...
- git常用命令整理_git 常用
-
一、Git仓库完整迁移完整迁移,就是指,不仅将所有代码移植到新的仓库,而且要保留所有的commit记录1.随便找个文件夹,从原地址克隆一份裸版本库gitclone--bare旧的git地址...
- 项目常用GIT操作命令_git常用操作命令 简书
-
Git仓库更新依赖的命令:gradle--refresh-dependenciesgradleaR完全编译;./gradlewecomm:packages:telephony:larges...
- 【超详细】Git 所有常用命令 + 提交规范全指南(建议收藏!)
-
Git命令大全初始化类命令作用gitinit初始化一个本地Git仓库(当前目录会出现.git文件夹)gitclone<仓库地址>克隆远程仓库到本地,一般用来拉项目提交代...
- Git 常用的alias命令大全_git -a
-
Git的alias(别名)功能可以将常用的复杂命令简化,大幅提升操作效率。以下是一些实用的Gitalias配置和常用示例:一、配置alias的方法通过gitconfig命令设置,分...
- Git使用教程:最详细、最傻瓜、最浅显、真正手把手教
-
导读:因为教程详细,所以行文有些长,新手边看边操作效果出乎你的预料。GitHub虽然有些许改版,但并无大碍。一、Git是什么?Git是目前世界上最先进的分布式版本控制系统。工作原理/流程:Work...
- 实用干货分享(3)- Git常用操作干货分享
-
官方学习地址https://git-scm.com/book/zh/v2简单的代码提交流程1.gitstatus查看工作区代码相对于暂存区的差别;2.gitadd.将当前目录下修改的所有...
- 一周热门
-
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Python实现人事自动打卡,再也不会被批评
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)