IntelliJ IDEA in den case-sensitiven Modus schalten

Bei einer normalen macOS-Installation ist das Dateisystem, egal ob HFS+ oder APFS case-insensitiv. Allerdings besteht bei beiden Dateisystemen die Möglichkeit sie case-sensitive zu betreiben. Das bedeutet das eine Datei mit dem Namen test.txt und eine Datei Test.txt zwei unterschiedliche Dateien sind. Bei case-insensitiven Dateisystemen wäre dies nicht der Fall. Bei einem Start der Java-IDE IntelliJ IDEA auf einem solchen case-sensitiven Dateisystem kommt es zu folgender Meldung:

Filesystem Case-Sensitivity Mismatch
The project seems to be located on a case-sensitive file system.
This does not match the IDE setting (controlled by property "idea.case.sensitive.fs")

Hintergrund ist das IntelliJ IDEA für die Betriebssysteme Windows und macOS annimmt das diese mit einem case-insensitiven Dateisystem betrieben werden.

Der entsprechende Eintrag befindet sich im Help-Menü

Über den Menüpunkt Help -> Edit Custom Properties… kann diese Verhalten korrigiert werden. Wenn dieser Punkt zum ersten Mal auswählt wird, erscheint eine Nachfrage ob die entsprechende Datei angelegt werden soll. Anschließend wird die Datei in IntelliJ IDEA geöffnet. Dort muss der Wert:

idea.case.sensitive.fs=true

hinzugefügt werden. Nach einem Neustart der IDE wird das neue Verhalten übernommen.

Aktuelle Datei im Projektbaum in IntelliJ IDEA lokalisieren

Bei der Nutzung einer IDE, in diesem Fall IntelliJ IDEA, hat man öfter das Problem, das man bei der Bearbeitung einer bestimmten Datei in das entsprechende Verzeichnis bzw. die Stelle in der Project View wechseln möchte.

Über das Select In kann die Projekt View aufgerufen werden

Dazu muss im Editor-Fenster die Tastenkombination Alt + F1 gedrückt werden. Damit öffnet sich das Select In. In diesem kann nun der erste Punkte mit dem Namen Project View mittels der Enter-Taste ausgewählt werden. Anschließend wird der aktuelle Ort der Datei in der Project View angezeigt.

java.util.List kann unter IntelliJ IDEA nicht importiert werden

In der IDE IntelliJ IDEA von JetBrains ist es möglich Imports über die Quick-Fix-Funktionalität vorzunehmen. Allerdings funktionierte dies nicht immer in allen Fällen. So führte folgende Quellcodezeile:

List lines = new ArrayList<>();

zu einem Problem. Das Interface List ist unter java.util.List zu finden, allerdings bot IntelliJ IDEA diesen Import nicht mehr an. Die Lösung für dieses Problem fand sich in den Einstellungen der IDE.

Die Auto Import Einstellungen von IntelliJ IDEA

Dort findet sich unter dem Punkt Editor -> General der Punkt Auto import. Unter diesem Punkt ist eine Liste der Pakete zu finden, welche nicht automatisch importiert werden sollen. Wenn java.util.List aus der Liste herausgenommen wurde, kann es wieder automatisch importiert werden.

SonarLint unter IntelliJ IDEA

Statische Codeanalyse ist eine feine Sache. Sie weißt auf Fehler und Probleme schon zur Entwicklungszeit hin. Dafür gibt es unter anderem Systeme wie SonarQube. Wem ein solchen System zu groß ist, der kann SonarLint nutzen, welches statische Codeanalyse lokal in der gewünschten IDE liefert.

sonarlint.org/intellij/

sonarlint.org/intellij/

Für IntelliJ IDEA findet man die passende Version dabei unter sonarlint.org/intellij/. Daneben gibt es auch Versionen für Eclipse und Visual Studio. SonarLint wird dabei mit einem vorgefertigtem Regelsatz geliefert und kann nach der Installation gleich genutzt werden. SonarLint ist unter der GPL in Version 3 (bzw. der LGPL) lizenziert und damit freie Software.

Wildcard-Imports unter IntelliJ IDEA deaktivieren

Unter Java ist es mögliche alle Klassen eines Packages als ganzes zu importieren. Im Quelltext sieht das dann so aus:

import com.example.project.engine.*

Viele IDEs wie auch IntelliJ IDEA fügen diese Wildcard-Imports zu einem Projekt, wenn mehr als eine Klasse (abhängig von den Einstellungen) aus dem Namespace genutzt wird. Unter Umständen ist dieses Verhalten allerdings nicht gewünscht. Möchte man das Verhalten unter IntelliJ IDEA deaktivieren, muss dies in den Einstellungen geschehen.

Die entsprechende Seite in den Einstellungen

Die entsprechende Seite in den Einstellungen

Dort gibt es unter Editor -> Code Style -> Java -> Imports die Einstellung ab wie vielen Klassen ein Wildcard-Import genutzt werden soll. Stellt man hier die Zahl entsprechend hoch ein, so werden keine Wildcards-Imports mehr genutzt.