告别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"
}
相关推荐
yaoxin52112343 分钟前
384. Java IO API - Java 文件复制工具:Copy 示例完整解析
java·开发语言·python
NotFound4861 小时前
实战指南如何实现Java Web 拦截机制:Filter 与 Interceptor 深度分享
java·开发语言·前端
一 乐3 小时前
医院挂号|基于springboot + vue医院挂号管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·医院挂号管理系统
鱼鳞_3 小时前
Java学习笔记_Day29(异常)
java·笔记·学习
烟锁池塘柳03 小时前
一文讲透 C++ / Java 中方法重载(Overload)与方法重写(Override)在调用时机等方面的区别
java·c++·面向对象
一叶飘零_sweeeet3 小时前
深入拆解 Fork/Join 框架:核心原理、分治模型与参数调优实战
java·并发编程
云烟成雨TD3 小时前
Spring AI Alibaba 1.x 系列【23】短期记忆
java·人工智能·spring
摇滚侠3 小时前
帮我整理一份 IDEA 开发中常用快捷键
java·ide·intellij-idea
疯狂成瘾者4 小时前
YAML配置介绍
java
cccccc语言我来了4 小时前
C++轻量级消息队列服务器
java·服务器·c++