VSCODE 写 Java 全插件攻略
資深大佬 : byte10 5
vscode 下开发 java
目前我是使用 vscode 远程开发 java,插件也是安装在远程的。
java 开发的生产力插件
- Darcula Theme 作用:Darcula theme for Visual Studio Code based on IntelliJ IDEA
- IntelliJ IDEA Keybindings
- Checkstyle for Java 作用:检查代码,因为工作引入了这个 gradle 插件检查,所以我也引入这个插件检查
- Git Graph 作用:很直观的 git 分支查看,跟 idea 的有得比
- Gradle Language Support 作用:gradle 项目的支持,可有可无
- Gradle Tasks 作用:gradle 项目的支持,可有可无
- Java Decompiler 作用:必须的,不然无法查看其它 jar 包的 class 文件
- Java Extension Pack 作用:基本的插件了,必须的
- Language Support for Java(TM) by Red Hat
- Debugger for Java
- Java Test Runner
- Maven for Java
- Project Manager for Java
- Visual Studio IntelliCode 智能提示代码
- Lombok Annotations Support for VS Code
- Redis 作者: Dunn
- XML 作者: Red Hat
- YAML 作者: Red Hat
- Java P3C Checker 作用: alibaba 规范插件(跟 idea 差不多),Alibaba Java Coding Guidelines Check
使用感受
- 1 、实际上 vscode 是无法跟 idea 比的,但是基本开发,调试 啥的还是没什么问题。
- 2 、具体的细节我还真没研究,idea 也用了三年了,都是简单使用,它确实很智能,比如在 yml 就可以跳到具体的配置类,在 xml 配置的 bean 也可以跳到,在 mybatis 配置 namespace 也能跳到具体接口类。
- 3 、可以看出 vscode 中 java 不断的完善,从插件更新速度和完整性都可以看到很活跃。至于能达到 idea 多少成的能力,我不好判断,目前开发够用。不建议大家进坑,有遇到问题可以回复我
优点
- 1 、当然是使用清爽啦,打开速度还可以,不占内存啦,而且毕竟远程开发(远程开发一定要在局域网内机器,不然难受程度就是王者 460 体验)
- 2 、vscode 的除了支持 java 还能支持其他语言,我一般开发小程序 也要要用到,所以统一开发体验。
- 3 、插件丰富,基本它都提示你推荐你一些插件。
- 4 、其他的 你们补充吧,我懒得写了
常见问题
- 如果项目遇到无法运行各种问题,可以执行下面命令
Java: Clean the Java language server workspace
- 如果运行中的项目遇到调试问题
比如某些 web 上下类的属性赋值有问题,(我只遇到过一次,属性始终不变,实际上 idea 也遇到过,就是一些内存问题) ,建议重新打开 vscode,idea 也是要重新打开
配置文件 settings.json,可以参考下
{ "workbench.colorTheme": "Darcula (IntelliJ)", "java.semanticHighlighting.enabled": true, "git.enableSmartCommit": true, "maven.executable.preferMavenWrapper": true, "java.import.maven.enabled": true, "java.configuration.maven.userSettings": "/opt/apache-maven-3.6.3/conf/settings.xml", "maven.executable.path": "/opt/apache-maven-3.6.3/bin/mvn", "maven.excludedFolders": [ "**/.*", "**/node_modules", "**/target", "**/bin" ], "java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx512m -Xms100m -javaagent:"/home/android/.vscode-server/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar"", // "java.home": "/usr/lib/jvm/java-11-openjdk-arm64", "java.home": "/usr/local/java11", "search.exclude": { "bin": true, "**/bin": true, "**/logs": true, "**/target": true }, "maven.pomfile.autoUpdateEffectivePOM": true, "maven.terminal.useJavaHome": true, "java.completion.importOrder": [ "java", "javax", "com", "org" ], "java.configuration.runtimes": [ { "name": "JavaSE-1.8", "path": "/usr/local/java1.8", "default": true }, { "name": "JavaSE-11", "path": "/usr/local/java11", } ], "git.autofetch": true, "java.configuration.checkProjectSettingsExclusions": false, }
大佬有話說 (6)