用Cursor开启JAVA+AI生涯

简介: Cursor是一款基于VS Code开发的多功能编辑器,支持多种语言开发,具备与AI无缝集成、响应速度快及占用内存小等优势。然而,许多用户在使用初期可能会遇到一些问题。本文详细介绍了如何下载和安装Cursor,推荐的插件清单,常用快捷键设置,以及关键配置文件(如settings.json和launch.json)的调整方法。此外,还提供了关于主题选择、颜色修改、Git操作、快捷键自定义等方面的实用技巧,帮助用户快速上手并高效使用Cursor。最后,文章强调了Cursor作为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基本一致的开发体验,建议安装如下插件。

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推荐:

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并能简单使用』的一个"如何起步"的简单说明。如何『用工具创造价值』还有待后续补充。

来源  |  阿里云开发者公众号

作者  |  昔在


相关文章
|
7月前
|
人工智能 算法 Java
Java与AI驱动区块链:构建智能合约与去中心化AI应用
区块链技术和人工智能的融合正在开创去中心化智能应用的新纪元。本文深入探讨如何使用Java构建AI驱动的区块链应用,涵盖智能合约开发、去中心化AI模型训练与推理、数据隐私保护以及通证经济激励等核心主题。我们将完整展示从区块链基础集成、智能合约编写、AI模型上链到去中心化应用(DApp)开发的全流程,为构建下一代可信、透明的智能去中心化系统提供完整技术方案。
472 3
|
8月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
3228 1
|
8月前
|
人工智能 算法 小程序
再见 Cursor,Qoder 真香!这波要改写 AI 编程格局
真心建议大家去使用一下这段时间最新推出的一款 AI 编程工具:Qoder 。真的是太好用了,一点也不比 Cursor 差。
1721 10
|
8月前
|
人工智能 Java 开发者
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
JManus是阿里开源的Java版OpenManus,基于Spring AI Alibaba框架,助力Java开发者便捷应用AI技术。支持多Agent框架、网页配置、MCP协议及PLAN-ACT模式,可集成多模型,适配阿里云百炼平台与本地ollama。提供Docker与源码部署方式,具备无限上下文处理能力,适用于复杂AI场景。当前仍在完善模型配置等功能,欢迎参与开源共建。
3029 58
阿里出手!Java 开发者狂喜!开源 AI Agent 框架 JManus 来了,初次见面就心动~
|
8月前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
4868 58
|
7月前
|
人工智能 缓存 自然语言处理
Java与多模态AI:构建支持文本、图像和音频的智能应用
随着大模型从单一文本处理向多模态能力演进,现代AI应用需要同时处理文本、图像、音频等多种信息形式。本文深入探讨如何在Java生态中构建支持多模态AI能力的智能应用。我们将完整展示集成视觉模型、语音模型和语言模型的实践方案,涵盖从文件预处理、多模态推理到结果融合的全流程,为Java开发者打开通往下一代多模态AI应用的大门。
571 41
|
7月前
|
人工智能 监控 Java
Java与AI智能体:构建自主决策与工具调用的智能系统
随着AI智能体技术的快速发展,构建能够自主理解任务、制定计划并执行复杂操作的智能系统已成为新的技术前沿。本文深入探讨如何在Java生态中构建具备工具调用、记忆管理和自主决策能力的AI智能体系统。我们将完整展示从智能体架构设计、工具生态系统、记忆机制到多智能体协作的全流程,为Java开发者提供构建下一代自主智能系统的完整技术方案。
960 4
|
7月前
|
人工智能 Java 物联网
Java与边缘AI:构建离线智能的物联网与移动应用
随着边缘计算和终端设备算力的飞速发展,AI推理正从云端向边缘端迁移。本文深入探讨如何在资源受限的边缘设备上使用Java构建离线智能应用,涵盖从模型优化、推理加速到资源管理的全流程。我们将完整展示在Android设备、嵌入式系统和IoT网关中部署轻量级AI模型的技术方案,为构建真正实时、隐私安全的边缘智能应用提供完整实践指南。
537 3
|
8月前
|
人工智能 Java API
Java AI智能体实战:使用LangChain4j构建能使用工具的AI助手
随着AI技术的发展,AI智能体(Agent)能够通过使用工具来执行复杂任务,从而大幅扩展其能力边界。本文介绍如何在Java中使用LangChain4j框架构建一个能够使用外部工具的AI智能体。我们将通过一个具体示例——一个能获取天气信息和执行数学计算的AI助手,详细讲解如何定义工具、创建智能体并处理执行流程。本文包含完整的代码示例和架构说明,帮助Java开发者快速上手AI智能体的开发。
3172 8