Cursor (opens new window) 是基于VS Code (opens new window)开发的一款编辑器,支持多种语言的开发编辑。与传统的开发工具相比,它有多种优势:与AI (opens new window)无缝集成,响应速度快,占用内存小。但很多同学在"起步"过程中遇到了一点点问题,导致起步不成功。本文描述一些实用的小技巧,帮助大家快速用Cursor开启AI生涯。

# 一、cursor下载

下载Cursor

https://www.cursor.com/ (opens new window)

备注:使用cursor需要收费,且费用颇高

支付方式可以使用 Wildcard 虚拟信用卡
https://blog.csdn.net/qq_33146717/article/details/145172851

或者免费版用15天,然后换一个邮箱。

# 二、安装插件

刚下载的cursor几乎没有任何功能,需要用安装插件的方式来把一个cursor组装为Java开发平台。切换到插件搜索下载即可。

img

建议安装插件清单:为了实现和idea基本一致的开发体验,建议安装如下插件。

background
Chinese(Simplified)(简体中文) Language Pack for Visual Studio Code
Debugger for Java
Draw.io Integration
Extension Pack for Java
GitLens — Git supercharged
Gradle for Java
Image preview
indent-rainbow
Language Support forJava(TM) by Red Hat
Markdown All in One
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以上版本的有创新但是生产环境用不到的功能。

# 三、常用快捷键

快捷键  

查看类源码:Command+鼠标左键
快捷键命令搜索:Command+Shift+P+命令名称
按文件名搜索文件:Command+P
git相关:Command+T
注释代码:Command+/
开启/关闭侧边栏:Command+B
全局查找并替换:Command+Shift+F
文件内查找:Command+F
格式化代码:Shift+Option+F
缩放/打开一个大括号:Command+.
复制当前行代码:Command+D

打开AI窗口: Command+Shift+L

# 四、建议配置

vscode的配置项目很多。为了快速启动项目,推荐下面的懒人配置。

**4.1、settings.json

settings.json是关于整个项目的:启动内存,编辑器样式,自动编译等配置。

一般位于项目的.vscode/settings.json

{
    // Java相关设置
    "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx16G -Xms2G -Xlog:disable", // 设置内存大小
    "java.debug.settings.onBuildFailureProceed": true, // 构建失败继续:开启
    "java.autobuild.enabled": false, // 启动窗口、打开文件夹、保存文件时的自动编译开关
    "java.debug.settings.forceBuildBeforeLaunch": false, // Debug启动时自动编译:关闭
    "java.debug.settings.hotCodeReplace": "auto", // Debug自动加载修改后的类
    "java.compile.onSave": true, // 保存时自动编译:开启
    "java.compile.nullAnalysis.mode": "disabled", // Null分析:关闭
    "java.dependency.packagePresentation": "hierarchical", // JAVA项目层级展示

    // 编辑器设置
    "editor.unusedImports.severity": "ignore", // 未使用导入:忽略
    "editor.showUnused": false, // 未使用变量:隐藏
    "editor.fontFamily": "JetBrains Mono, Consolas, 'Courier New', monospace", // 设置字体为JetBrains Mono
    "editor.fontSize": 13, // 设置字体大小为13
    "editor.lineHeight": 1.2, // 设置行高为1.2
    "editor.formatOnSave": true, // 保存时自动格式化代码
    "editor.formatOnType": true, // 输入时自动格式化
    "editor.quickSuggestions": {
        "other": true,
        "comments": false,
        "strings": true
    }, // 智能感知
    "editor.suggestSelection": "first", // 智能感知选择

    // 文件设置
    "files.autoSave": "afterDelay", // 自动保存:延迟
    "files.autoSaveDelay": 1000, // 自动保存延迟时间:1000毫秒

    // 终端设置
    "terminal.integrated.shell.osx": "/bin/zsh", // 设置集成终端使用的shell

    // 主题和颜色设置
    "workbench.colorTheme": "Default Dark+", // 主题设置为深色
    "workbench.colorCustomizations": {
        "peekView.border": "#808080", // Peek References窥视试图边框颜色
        "peekViewEditor.background": "#1e1e1e", // 代码编辑区背景
        "peekViewResult.background": "#1e1e1e", // 结果列表背景
        "peekViewTitle.background": "#1e1e1e" // 标题背景
    },
    "workbench.iconTheme": "material-icon-theme", // 使用material图标主题

    // 快捷键设置
    "keyboard.dispatch": "keyCode", // 使用IntelliJ IDEA风格的快捷键

    // Prettier格式化设置
    "prettier.singleQuote": true, // 使用单引号代替双引号
    "prettier.trailingComma": "all", // 在多行对象和数组中添加尾随逗号

    // 版本控制
    "git.autofetch": true, // 自动获取更新

    // 调试
    "debug.inlineValues": "on", // 显示内联变量值

    // 自动导入
    "typescript.autoImportSuggestions.enabled": true // 启用自动导入
}

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"
        }
    ]
}

配置完成之后,即可在运行窗口启动项目进行调试等操作。

img

4.3、启动窗口、打开文件夹、保存文件时的自动编译-自动编译选项

如果你遇到了"打开cursor很耗时,需要3-5分钟甚至更久"的问题,这个配置很适合你。

settings.json

    //启动窗口、打开文件夹、保存文件时的自动编译开关
    //影响启动速度,如有需要可启动后再手动打开
    //打开后,启动窗口,打开文件夹时会编译一次项目,耗时1.5-5分钟
    //因此不建议打开
    "java.autobuild.enabled": false,

img

4.4、选择JDK

command+shift+p 搜索classpath

img

img

建议选择1.8.0_300以上版本。如果启动报错 diamond serverlist 未加载成功,是jdk版本太低,如果启动报错duplicateKey[bizId,scenario],需要手动重新编译gbf。

4.5、debug配置-应用启动前的强制自动编译

如果你想『debug』的时候,代码改动后立即热部署生效,可以尝试如下配置。

img

等价于配置

//启动窗口、打开文件夹、保存文件时的自动编译开关
    //影响启动速度,如有需要可启动后再手动打开
    "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

删除文件位置:

img

问题表现:

img

4.7、转化为大写-小写 设置快捷键

command+shift+p 搜索转化为大写/小写。

img

img

我的习惯是绑定 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 (opens new window)

建议:方案一 日常情况下关闭自动编译开关,如果确实需要本地debug的,再打开此开关。

4.9、maven如何始终跳过测试

img

idea使用maven编译时可以关闭testCase避免每次打包自动运行测试用例,vscode也有同等能力,在设置中查找maven配置(@ext:vscjava.vscode-maven),添加选项:-DskipTests。

img

img

4.10、主题-建议用深色visualStudio

img

原因:点击某个方法的调用方的区别(窥视视图)

img

默认 cursor dark

img

使用深色visualStudio,略微的有个浅色的提示框。

4.11、修改窥视视图颜色

cmd+点击方法,查看调用链颜色太浅了,看不清楚。可以手工修改颜色。

settings.json中需要加入如下配置:

    "workbench.colorCustomizations": {
        "peekView.border": "#FF0000", // 边框颜色
        "peekViewEditor.background": "#330099", // 代码编辑区背景
        "peekViewResult.background": "#3300CC", // 结果列表背景
        "peekViewTitle.background": "#FF0000"// 标题背景
    }

# 五、常见操作

5.1、git

提交记录

img

缺陷:idea可合并多次提交,查看变更。

而git graph只能查看单个提交的变更。

代码比对

![

](https://picx.zhimg.com/v2-13c49580d66fcdaaf22e6d98479ecf75_1440w.jpg)

单个文件比对

img

5.2、返回上一次command+点击的位置

默认:control+-

可以command+shift+p搜索『返回』,修改为习惯的快捷键。

img

例如command+option+左箭头。

# 六、cursor-rules

可以定制cursor的AI运行时的规则,位于.cursor文件中。

rules可以作为一种预设的规则,为AI提出:运行指导、限制规范。帮助我们更好地完成目标。

示例:

https://juejin.cn/post/7471044704647053353 (opens new window)

https://cursorrulescn.oosakana.com/ (opens new window)

https://blog.csdn.net/heiyeshuwu/article/details/145951789 (opens new window)

# 七、MCP

通过mcp可以接入很多有意思的工具,为日常工作提效。例如接入mcp-server-playwright工具,替你完成:"打开浏览器,打开日志查询平台,根据gsid查询到一条日志,再把日志复制到debug平台的页面中,运行debug平台,获取日志,排查问题,给出结论"等一套完整的"日志排查"工作。

img

推荐mcp搜索网站:http://mcp.so (opens new window)

好用的mcp推荐:

beyond资料

https://github.com/modelcontextprotocol/servers (opens new window)

https://smithery.ai/server (opens new window)

https://cursor.directory/ (opens new window)

https://github.com/punkpeye/awesome-mcp-servers (opens new window)

https://mcp.so/ (opens new window)

# 八、最后加两句

cursor是AI时代的研发工具,作为『研发工具』,它给了我们一个机会,去结合AI做一些事情。比如:业务分析,整合创新,研发提效等。

本文只是『如何启动cursor并能简单使用』的一个"如何起步"的简单说明。如何『用工具创造价值』还有待后续补充。

多模态数据信息提取

随着信息技术的快速发展,数据的获取与处理变得尤为重要。本方案提供多模态文件信息抽取能力,通过先进的人工智能技术,能够识别和解析各种格式的文件,包括文本、图像、音频和视频,从而提取出有价值的信息,大幅提升数据处理效率。

点击多模态数据信息提取 (opens new window)查看详情。