一:背景
刚开始学习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"
}