用Cursor开启JAVA+AI生涯
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基本一致的开发体验,建议安装如下插件。
backgroundChinese(Simplified)(简体中文) Language Pack for Visual Studio CodeChrome Extension Developer ToolsCopy ReferenceDebugger for JavaDiff FoldersDraw.io IntegrationExtension Pack for JavaGitLens — Git superchargedGradle for JavaImage previewIntelliCodeIntelliCode API Usage Examplesindent-rainbow-blocksLanguage Support forJava(TM) by Red HatMarkdown All in OneMarkdown ImageMarkdown Image ManageMarkdown Preview EnhancedMaterial Icon ThemeMaven for JavaProject Manager for JavaProject ManagerPrettier - Code formatterTest Runner for JavaTodo TreeVS Code Countervscode-pdfXML 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并能简单使用』的一个"如何起步"的简单说明。如何『用工具创造价值』还有待后续补充。
多模态数据信息提取
随着信息技术的快速发展,数据的获取与处理变得尤为重要。本方案提供多模态文件信息抽取能力,通过先进的人工智能技术,能够识别和解析各种格式的文件,包括文本、图像、音频和视频,从而提取出有价值的信息,大幅提升数据处理效率。
点击阅读原文查看详情。