告别idea,拥抱AI开发环境TRAE

一:背景

刚开始学习Java使用eclipseide ,一步一步配置开发环境,经常遇到新项目XML 一堆爆红,经常运行项目得配置大半天,后边到了18年,idea 逐步流行,花了两个月转到idea 平台,功能交互很好用,至今仍然很多用户。

期间也尝试过VSCode ,但都是开发前端,python项目,试了一下spring 项目,感觉不是很习惯。

随着ai编程模型主键程序,使用idea 插件的局限性越来越多,很多时候代码生成,自动补全就是莫名失效,

idea的架构也逐渐臃肿,一个单体应用,动不动就占满内存。

开始下决心弃用idea,一开始用VSCode ,项目编译时内存占用相对于idea减少50%,速度明显更快,支持用户各种配置,很好用,但是代码补全还是需要用到腾讯插件,使用感受一般,直到发现了trae,几乎就是VSCode 换一个外壳,插件无缝衔接,导入VSCode 配置

自带代码补全功能。

只要你的代码风格规整,方法变量名称有逻辑,那么代码补全可以节约你60% 的写代码时间,遇到复杂的问题,你描述清除,代码也能写个大概,当然最后还是需要人去review 代码,完善细节。

转换开发环境遇到的问题

全新功能交互

VSCode的功能交互和idea 完全不同,快捷键,功能布局,需要一些时间适应

插件配置

VSCode 很多功能依赖插件,需要找到合适的插件实现功能

推荐 以下插件

項目配置

很多情況下maven 编译或者开发 会报错,这时候需要用到配置自己的开发环境,项目配置

示例配置

json 复制代码
{

  // 强制 Maven 重新加载
  "maven.view": "hierarchical",
  "maven.executable.path": "mvn",
  "maven.terminal.useJavaHome": true,
  "maven.terminal.customEnv": [
    {
      "environmentVariable": "JAVA_HOME",
      "value": "C:\\Program Files\\Java\\jdk1.8.0_211"
    },
    {
      "environmentVariable": "MAVEN_OPTS",
      "value": "-Xmx2048m -XX:MaxPermSize=512m -DskipTests=true"
    }
  ],
  
  // 禁用后台进程
  "maven.runInBackground": false,
  "maven.backgroundProcessEnabled": false,
  
  // 配置仓库
  "maven.settingsFile": "C:\\Users\\User\\.m2\\telecom\\settings.xml",
  
  // 启用详细日志
  "java.trace.server": "verbose",
  "maven.debug": true,  
    "java.compile.nullAnalysis.mode": "automatic",
    "java.format.settings.url": ".vscode/java-formatter.xml",

    "java.jdt.ls.java.home": "C:\\Program Files\\Java\\jdk1.8.0_211",
    "java.configuration.runtimes": [
    {
    "name": "JavaSE-1.8",
    "path": "C:\\Program Files\\Java\\jdk1.8.0_211"
    }
    ],
    "java.project.importOnFirstCompletion": true, 
    "java.configuration.organizeImports": "auto", 
    "java.configuration.importOrder": [
        "java",
        "javax",
        "org",
        "com"
    ],
    "terminal.external.windowsExec": "wt.exe",
    "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
    "maven.terminal.shellPath": "C:\\Windows\\System32\\cmd.exe",
    "terminal.integrated.defaultProfile.windows": "PowerShell",
    "terminal.integrated.profiles.windows": {
    "PowerShell": {
      "source": "PowerShell",
      "icon": "terminal-powershell"
    },
    "Command Prompt": {
      "command": "cmd.exe",
      "icon": "terminal-cmd"
    },
    "Windows Terminal": {
      "command": "wt.exe -p PowerShell",
      "icon": "terminal-windows"
    }
  },
  "java.dependency.packagePresentation": "hierarchical"
}
java 复制代码
{

  // 强制 Maven 重新加载
  "maven.view": "hierarchical",
  "maven.executable.path": "mvn",
  "maven.terminal.useJavaHome": true,
  "maven.terminal.customEnv": [
    {
      "environmentVariable": "JAVA_HOME",
      "value": "C:\\Program Files\\Java\\jdk1.8.0_211"
    },
    {
      "environmentVariable": "MAVEN_OPTS",
      "value": "-Xmx2048m -XX:MaxPermSize=512m -DskipTests=true"
    }
  ],
  
  // 禁用后台进程
  "maven.runInBackground": false,
  "maven.backgroundProcessEnabled": false,
  
  // 配置仓库
  "maven.settingsFile": "C:\\Users\\User\\.m2\\telecom\\settings.xml",
  
  // 启用详细日志
  "java.trace.server": "verbose",
  "maven.debug": true,  
    "java.compile.nullAnalysis.mode": "automatic",
    "java.format.settings.url": ".vscode/java-formatter.xml",

    "java.jdt.ls.java.home": "C:\\Program Files\\Java\\jdk1.8.0_211",
    "java.configuration.runtimes": [
    {
    "name": "JavaSE-1.8",
    "path": "C:\\Program Files\\Java\\jdk1.8.0_211"
    }
    ],
    "java.project.importOnFirstCompletion": true, 
    "java.configuration.organizeImports": "auto", 
    "java.configuration.importOrder": [
        "java",
        "javax",
        "org",
        "com"
    ],
    "terminal.external.windowsExec": "wt.exe",
    "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
    "maven.terminal.shellPath": "C:\\Windows\\System32\\cmd.exe",
    "terminal.integrated.defaultProfile.windows": "PowerShell",
    "terminal.integrated.profiles.windows": {
    "PowerShell": {
      "source": "PowerShell",
      "icon": "terminal-powershell"
    },
    "Command Prompt": {
      "command": "cmd.exe",
      "icon": "terminal-cmd"
    },
    "Windows Terminal": {
      "command": "wt.exe -p PowerShell",
      "icon": "terminal-windows"
    }
  },
  "java.dependency.packagePresentation": "hierarchical"
}
相关推荐
程序员清风1 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme1 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better1 小时前
学会与虚拟机对话---ASM
java
开源之眼3 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori3164 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户908324602735 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋5 小时前
DecimalFormat 与 BigDecimal
java·后端
beata5 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端
IT探险家5 小时前
你的第一个 Java 程序就翻车?HelloWorld 的 8 个隐藏陷阱
java
随风飘的云5 小时前
SpringBoot 的自动配置原理
java