链载Ai

标题: Java团队Cursor最佳实践:3分钟构建「零泄漏」AI开发环境 [打印本页]

作者: 链载Ai    时间: 昨天 18:52
标题: Java团队Cursor最佳实践:3分钟构建「零泄漏」AI开发环境

1、环境基础配置

1.1 JDK设置

通过 command+shfit+p

image.png
选择自己的jdk版本 (公司还是用1.8)
image.png


1.2.maven配置, 自定义settings

国外的maven仓库卡成狗, 需要换成阿里云的配置方案 (或自己公司的私有库), 减少90%下载时间

<mirror><id>aliyunmaven</id><url>https://maven.aliyun.com/repository/public</url><mirrorOf>*</mirrorOf></mirror>

cursor里完成 maven setting 地址设置, 快捷键: ‘comand+, ’


image.png



1.3. 防代码泄漏


模型隐私数据保护设置,避免代码被上传了, 如果是公司用, 这个很重要.


选择设置 -> 选择模型类型



settings.json 部分 (包含在了下面settings.json里面了)
//settings.json{"allowAiService":false,//禁止代码上传至AI服务"telemetry.enableTelemetry":false//关闭数据采集}





2、项目核心文件配置 (团队统一项目配置)


2.1 .vscode/settings.json


下面有几个文件很重要, 团队必须统一


文件名

核心作用

settings.json

项目专属编辑器配置(缩进/格式化/路径等)

launch.json

调试配置(Spring Boot/JUnit/远程调试)

tasks.json

自定义构建任务(Maven/Gradle 命令封装)

extensions.json

推荐插件列表(提示团队安装统一插件)


文件位置. 项目的根目录 .vscode下面:



ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.9);letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">主要影响开发效率和体验的是settings.json和launch.json最为重要ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.9);letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">

ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.9);letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.9);letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">

ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.9);letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.9);letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">settings.json 的配置

{// ================ 基础编辑器设置 ================"editor.fontSize":14,"editor.fontFamily":"'JetBrains Mono', Consolas, monospace","editor.tabSize":4,          // Java标准缩进"editor.insertSpaces":true,      "editor.rulers":[120],        // 单行长度限制(保留120)"editor.bracketPairColorization.enabled":true,
// ================ 保存时自动化 ================"editor.formatOnSave":true, // 保存自动格式化"editor.codeActionsOnSave":{ "source.organizeImports":true, // 自动整理import "source.fixAll":true // 自动修复问题},
// ================ 文件管理 ================"files.autoSave":"afterDelay","files.autoSaveDelay":2000, // 2秒延迟保存"files.trimTrailingWhitespace":true, // 清除行尾空格"files.insertFinalNewline":true, // 文件末尾保留空行"files.encoding":"utf8", // UTF-8编码
// ================ 性能优化(关键!) ================"search.exclude":{ "**/target":true, // 忽略构建目录 "**/*.jar":true, // 忽略JAR文件 "**/*.class":true // 忽略字节码},"files.watcherExclude":{ "**/target/**":true, // 停止监控构建目录(防卡顿) "**/node_modules/**":true},
// ================ Java专项配置 ================"[java]":{ "editor.tabSize":4, // Java专属缩进 "editor.defaultFormatter":"redhat.java"},"java.jdt.ls.java.home":"/path/to/jdk-8",// ⚠️必须修改为团队JDK路径"java.maven.downloadSources":true, // 自动下载源码"java.autobuild.enabled":true, // 启用自动构建
// ================ 团队安全规范 ================"allowAiService":false, // 禁用AI服务访问代码(安全红线!)"telemetry.enableTelemetry":false // 关闭数据收集}

ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.9);letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.9);letter-spacing: normal;orphans: 2;text-align: start;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">

launch.json 的配置
{"version":"0.2.0","configurations": [  {  "type":"java",  "name":"Debug Spring Boot",  "request":"launch",  "mainClass":"com.example.Application",// ⚠️替换为你的启动类  "console":"integratedTerminal",  "vmArgs": [   "-Xmx1024m",            // 堆内存上限(防OOM)   "-Dspring.profiles.active=dev",  // 开发环境配置   "-Dspring.devtools.restart.enabled=true"// 热重载开关   ],  "env": {   "SPRING_PROFILES_ACTIVE":"dev"  // 双重环境配置保障   }  },  {  "type":"java",  "name":"Debug JUnit Tests",  "request":"launch",  "testKind":"junit",        // JUnit专用模式  "vmArgs": ["-ea"],         // 启用断言检查  "env": {   "SPRING_PROFILES_ACTIVE":"test" // 测试环境隔离   }  },
{ "type":"java", "name":"Debug Current File", "request":"launch", "mainClass":"${file}", // 自动获取当前文件 "vmArgs": ["-Dfile.encoding=UTF-8"] // 强制UTF-8编码 } ]}



3. 几个常用快捷键


推荐几个个人喜欢用到的

3.1.效率篇(高频必用)

快捷键

作用说明

⌘ + ,

⭐️ 打开设置面板(配置 JDK/Maven 必备)

⌘ + ⇧ + P

⭐️ 万能命令面板(搜命令/切语言/装插件)

⌘ + P

快速文件跳转(输入文件名直达)

⌘ + K ⌘ + S

打开快捷键自定义面板


3.2.搜索与替换

快捷键

作用说明

⌘ + F

当前文件搜索

⌘ + ⇧ + F

⭐️ 全局搜索(跨文件搜代码)

⌘ + ⇧ + H

全局替换


3.3 其他几个喜欢的快捷键

打开快捷键设置

开始设置个人习惯的几个快捷键


等等, 这里就不一一展示了, 自己设置即可. (我是习惯了eclipse的操作...)


各位有什么高效的快捷键分享, 也欢迎留言区分享下....




5. 最后


ingFang SC", -apple-system, "system-ui", "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif;font-optical-sizing: inherit;font-size-adjust: inherit;font-kerning: inherit;font-feature-settings: inherit;font-variation-settings: inherit;vertical-align: baseline;color: rgba(0, 0, 0, 0.4);letter-spacing: normal;orphans: 2;text-align: start;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(252, 252, 252);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;">Cursor这款轻量级神器正在Java圈悄然崛起!本篇手把手教你配置开发环境, 可以逐步迁移idea等到AI编辑器了
以上配置对cursor、trae 都是通用的, 目前几款AI编辑器都是基于vsCode.
基础配置先到这, 团队里对cursor的插件、rule、doc 、MCP 也应该保持一致. 后续继续分享, 欢迎持续关注.








欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5