Ich habe die letzten Wochen Experimente mit VSCODE (genauer: VSCODIUM) für die Java-Entwicklung vorgenommen. Grob habe ich:
- VSCODIUM-1.51.1 installiert
- die neuesten Spring-Tools eingespielt
Bei einem Spiel-Projekt hat “alles” wunderbar geklappt, bei meinen Arbeitsprojekten zunächst leider nicht!
VSCODE und SpringTools
Grundinstallation:
- VSCODE öffnen
- Extension-Liste öffnen
- Suchfeld: “spring tools”
- Spring Boot Tools 1.23.0 installieren (= neueste Version)
Konfiguration:
- …
Beispiel-Java-Projekt
Ich verwende das Beispiel-Projekt von spring.io:
1
|
|
Das Beispiel-Java-Projekt liefert zwei Stände:
- initial
- complete
Danach: VSCODE neu starten und Projekt-Verzeichnis “initial” öffnen:
vscodium gs-gradle/initial
.
Leider “springt” bei mir hier die Java-Unterstützung nicht automatisch an. Die Java-Quelltexte werden zwar syntaktisch aufbereitet (also eingefärbt), leider werden aber JAava-Fehler nicht erkannt.
Also:
- JDK-11 von AdoptOpenJDK herunterladen
- und auspacken nach ~/Software
- und Link anlegen:
ln -s ~/Software/jdk-11.0.9+11 ~/Software/jdk-11
Danach: VSCODE neu starten mit JAVA_HOME und Projekt-Verzeichnis “initial” öffnen:
JAVA_HOME=~/Software/jdk-11 vscodium gs-gradle/initial
.
Beim Start von VSCODE wird nun angezeigt: “The workspace contains Java projects. Would you like to import them?” Wir wälen “YES”. Danach: “Do you like to exclude the VSCode Java project settings files (.classpath, .project, .settings, .factorypath) from the file explorer?” Wir wählen “EXCLUDE GLOBALLY”.
Java-Projekte
Grob sehen meine Java-Projekte so aus:
- Gradle als Build-Tool
jeweils “Multi Projekt”, es gibt Teilprojekte wie
- api … definiert die externe Schnittstelle
- app … enthält den “eigentlichen” Programmcode
- sit … enthält “System Intergation Tests”
- etc
die Aufteilung in Teilprojekte ist eine Vorgabe für alle meine Arbeitsprojekte. Die Vorhabe kommt vom Auftraggeber
Ein so aufgebautes Java-Projekt kann ich in VSCODE einfach bearbeiten, indem ich den Projektordner in VSCODE öffne.
- Unten rechts erscheint “Java” bei .java-Dateien
- Daneben zunächst so eine Art “Eieruhr” während VSCODE die Abhängigkeiten herunterläadt und das Projekt kompiliert
- Fehlerhafte Java-Dateien werden “rot”
- Junit-Tests kann ich direkt innerhalb von VSCODE ausführen
- Und vieles mehr!
Arbeitsprojekte
Bei einem “richtigen” Arbeitsprojekt stelle ich fest, dass die oben beschriebenen Java-Erweiterungen nicht aktiviert werden!
Um einen “frischen” Start hinzubekommen, habe ich mehrfach dies gemacht:
- VSCODE gestoppt
- Hintergrundprozess für den LanguageServer gestoppt:
ps waux|grep java
Java-Projektverzeichnis aufgeräumt:
find . -name bin|xargs rm -rf
find . -name .classpath|xargs rm -rf
find . -name .project|xargs rm -rf
find . -name .settings|xargs rm -rf
find . -name .factorypath|xargs rm -rf
VSCODE neu starten
Leider kein Erfolg, die Java-Erweiterungen sind nicht aktiv.
Unterschiede zwischen dem Beispiel-Java-Projekt und meinen Arbeitsprojekten sind diese:
- die Arbeitsprojekte bestehen auf mehreren Unterprojekten
- die Arbeitsprojekte verwenden ein eigenes GRADLE_USER_HOME, weil sie ihre Dependencies bspw. nur bei Verwendung eines speziellen ProxyServera herunterladen können!
Also: GRADLE_USER_HOME setzen:
- /home/uli/.config/VSCodium/User/settings.json
- Neue Zeile:
"java.import.gradle.user.home": "/home/uli/.gradle-business",
Danach: VSCODE neu starten, nun klappt “alles”.