Nachdem ich mehrmals gelesen habe, dass VS Code einige Vorteile gegenüber Atom hat, vor allem bezüglich der IDE Funktionalitäten für Java beispielsweise, wollte ich diesen Editor einmal ausprobieren. Allerdings hat mich da abgeschreckt, dass von Microsoft wiederum Daten gesammelt werden. VS Codium hingegen ist eine Open Source Variante von VS Code, welche die Tracking- und Telemetrie-Funktionen ausgeschaltet hat. (Diese kann man ausführlich auf der VS Codium Seite aber auch in Wikipedia nachlesen.)
Für Windows habe ich von der VS Codium-Seite die Datei
VSCodiumSetup-x64-1.49.0.exe
heruntergeladen und installiert. (Alternativ kann man auch eine der Zip-Dateien
für Windows herunterladen, in einem Ordner entpacken und die Datei VSCodium.exe
ausführen.)
Auf Linux Ubuntu war VS Codium über das Software Center verfügbar.
Einstellungen kann man unter dem Menü File / Preferences / Settings
vornehmen.
Dabei habe ich folgende Einstellungen gesetzt:
tab size
: Tabulator auf Größe 2 einstellen.
Insert Spaces
: Sollte angehakt sein, damit Tabs gleich durch Leerzeichen ersetzt werden.
Render Whitespace
: Auf all
setzen, damit Leerzeichen angezeigt werden.
Einstellungen zu Shortcuts kann man unter dem Menü File / Preferences / Keyboard Shortcuts
vornehmen.
Für mich war es hier zunächst nur wichtig, dass der Shortcut Strg+d
die aktuelle Zeile bzw. die aktuelle
Markierung dupliziert. Ich bin dabei wie folgt vorgegangen:
Duplicate Selection
Strg+d
als Shortcut festlegen.
Diese Funktion ist für mich in VS Codium besser als bei Atom, weil sie wieder genau wie bei Notepad++ funktioniert:
Um die Erweiterungen für VS Codium zu verwalten, kann man auf der linken Seite auf das unterste Icon klicken. Es öffnet sich ein Extensions-Reiter, in dem man installierte Erweiterungen anzeigen kann, nach Erweiterungen suchen kann und auch deren Einstellungen mit dem dazugehörigen Zahnrad-Icon verändern kann.
Dieser Erweiterung ermöglicht für das Java-Programmieren einige Vorteile:
Damit diese Erweiterung funktioniert, muss allerdings der Pfad zu einem JDK mit der Version 11 oder höher angegeben werden.
Dafür muss man die Einstellungen der Erweiterung über das Zahnrad-Icon und den Menüeintrag Extension Settings
öffnen.
Dort kann man dann nach java home
suchen und unter Edit in settings.json
den Wert setzen.
C:\\Program Files\\AdoptOpenJDK\\jdk-11.0.9.11-hotspot
(OpenJDK Versionen für Windows kann bequem von https://adoptopenjdk.net/ herunterladen.)
/usr/lib/jvm/java-11-openjdk-amd64
Wenn man dann ein Java-Projekt als Ordner öffnet, so funktioniert die Erweiterung.
SonarLint ist eine freie IDE Erweiterung, die für Eclipse, IntelliJ, VS Code und ab jetzt auch für VS Codium zur Verfügung steht.
(Sowohl hier als auch
hier war für einige
Zeit zu lesen, dass die Erweiterung für VS Codium nicht verfügbar ist. Das hat sich glücklicherweise geändert.)
Die Erweiterung zeigt Code Smells und potentielle Bugs sofort während man programmiert und bietet dabei folgende Funktionalitäten:
Quickfix
so kann man diese Regel deaktivieren bzw. sich die volle
Beschreibung der Regel ansehen.
SONARLINT RULES
Regeln deaktivieren bzw. auch eine ausführliche Beschreibung
der Regel nachlesen.
java:S116
) und dann im Explorer Reiter SONARLINT RULES
auf die drei Punkte klicken und
Finde rule by key
auswählen. Kopiert man dann die Kennung ein, springt man zur der Regel, kann sie deaktivieren bzw. die
komplette Beschreibung durchlesen.
Damit diese Erweiterung funktioniert, muss ebenfalls der Pfad zu einem JDK angegeben werden.
Dafür muss man die Einstellungen der Erweiterung über das Zahnrad-Icon und den Menüeintrag Extension Settings
öffnen.
Dort kann man dann nach Java Home
suchen und den Wert setzen.
Dies wird technisch so umgesetzt, dass in der Datei settings.json
folgende Zeile eingetragen wird:
"sonarlint.ls.javaHome": "C:\\Program Files\\AdoptOpenJDK\\jdk-11.0.9.11-hotspot",
Wird eine SonarLint Regel deaktiviert, so wird dies wie folgt in der Datei settings.json
gespeichert:
"sonarlint.rules": { "java:S116": { "level": "off" } },
Man könnte daher ein bestehendes Set einstellen und dieses dann auf andere Instanzen von VS Codium mit Hilfe der settings.json
einspielen.
Außerdem hake ich in den SonarLint Einstellungen die Checkbox Disable sending anonymous usage statistics to SonarSource.
aus.
Dies sieht dann in der settings.json
so aus:
"sonarlint.disableTelemetry": true,
Vom Editor Atom kenne ich die Erweiterung advanced-open-file
, die ich
hier beschrieben habe. Mit dieser Erweiterung kann man mit dem Shortcut
Strg+Alt+o
gleich ein Fenster öffnen, in dem man ganz einfach im aktuellen Pfad textuell navigieren kann.
Hier eine kurze Übersicht der Funktionalität:
Die gute Nachricht ist, dass es diese Erweiterung auch für VS Codium gibt. Die schlechte Nachricht ist, dass man sie nicht einfach über die Plugin-Suche installieren kann. Daher bin ich wie folgt vorgegangen:
vscode-advanced-open-file
gesucht und bin auf diese Seite gestoßen:
https://marketplace.visualstudio.com/items?itemName=jit-y.vscode-advanced-open-file.
Download Extension
die Datei jit-y.vscode-advanced-open-file-0.2.2.vsix
heruntergeladen.
Strg+Shift+x
) rechts oben auf die drei Punkte geklickt und
Install from VSIX...
ausgewählt.
Leider wurde die Extension aber noch nicht mit dem von mir gewohnten Shortcut Strg+Alt+o
geöffnet. Daher
habe ich folgendes gemacht:
File -> Preferences -> Keyboard Shortcuts
öffnen.
Advanced
suchen und es erscheint der Shortcut für diese Erweiterung.
Strg+Alt+o
eingeben und mit Enter bestätigen.
Das war's :-)
Da bei mir zunächst auf Linux die Aktivierung der Erweiterung Language Support for Java by Red Hat nicht erfolgreich war, weil mir immer angezeigt wurde, dass es sich bei dem angegebenen Pfad nicht um ein gültiges JDK handelt, habe ich hier eine kurze Anleitung zum Finden des richtigen JDK-Pfads zusammengestellt.
javac
zu konzentrieren und nicht auf java
. Bei mir war nämlich
eine Java Runtime Environment (JRE) Version 11 installiert, aber ein Java Development Kit (JDK) von Version 8. Daher gab es bei der Angabe
des Pfads zum JRE bei mir die Fehlermeldung, dass es sich nicht um ein gültiges JDK handelt. Bei der Angabe des Pfads zum JDK wurde dann die
Version bemängelt.
javac -version
ein, so sollte javac 11.0.x
oder höher angezeigt werden. Ansonsten muss man
mit sudo apt install openjdk-11-jdk
das entsprechende JDK erst installieren.
readlink -f $(which javac)
eingeben. Bei mir kam dann als
Ergebnis /usr/lib/jvm/java-11-openjdk-amd64/bin/javac
heraus. Daher konnte ich dann bei den Settings der Extension den
Wert /usr/lib/jvm/java-11-openjdk-amd64
eingeben.