Auskommentierung unter IntelliJ IDEA

In der Java-IDE IntelliJ IDEA ist es wie in vielen anderen IDEs möglich ein markiertes Stück Quelltext auf Knopfdruck auszukommentieren. Der Weg führt dabei über das Menü Code. Dort gibt es den Menüpunkt Comment with Line Comment. Nutzt man eine deutsche Tasterturbelegung steht man allerdings vor einem Problem. Das Kürzel Strg + / funktioniert nicht. Über die Einstellung könnte man nun die Tastenkombination für diese Funktion ändern, damit diese wieder funktioniert.

Im Menü Code ist die Funktionalität zum Auskommentieren zu finden

Im Menü Code ist die Funktionalität zum Auskommentieren zu finden

Einfacher kann man das Problem lösen wenn man eine Tastatur mit Numpad nutzt. Dort reicht es dann Strg in Verbindung mit dem Geteiltzeichen zu drücken (welches intern ebenfalls als Slash gewertet wird). So kann die Funktionalität über die Tastatur genutzt werden, ohne die Konfiguration anzupassen.

Auto Activation unter Eclipse immer aktivieren

Wenn man mittels Eclipse in Java entwickelt, so kann man mit der Tastenkombination Strg + Space den Content Assistant aktivieren. Ich persönlich bevorzuge es wenn dieser an so vielen Stellen wie möglich aktiviert wird, da dies die Entwicklung aus meiner Sicht wesentlich komfortabler macht.

Die Auto Activation Optionen

Die Auto Activation Optionen

Dazu müssen die Einstellungen unter Window -> Preferences -> Java -> Editor -> Content Assist aufgerufen werden. Dort gibt es den Punkt Auto Activation. In das Feld Auto activation triggers for Java trägt man nun:

.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

ein und bestätigt das Ganze. Damit wird der Content Assistant immer aktiviert, was die Entwicklung beschleunigt, da man schneller an entsprechende Vorschläge kommt.

Befehlszeile mittels JewelCli unter Java auswerten

Die Methodensignatur der Standardeinsprungsmethode sieht unter Java wie folgt aus:

public static void main(String[] args)

Übergeben wird hierbei ein String-Array welches die Argumente der Befehlszeile enthält. Möchte man diese auswerten, kann man das natürlich von Hand machen. Alternativ kann man eine Bibliothek nutzen, welche einem diese Arbeit abnimmt. Eine dieser Bibliotheken ist JewelCli. JewelCli arbeitet auf Basis von Annotationen. Im ersten Schritt muss dazu ein Interface definiert werden:

public interface CommandLineOptions {
    @Unparsed
    List getFiles();

    @Option
    boolean isRecursive();

    @Option(defaultValue="localhost")
    String getDatabase();

    @Option(helpRequest = true)
    boolean getHelp();
}

In diesem Interface werden die verfügbaren Optionen über Annotationen definiert. So werden in den ersten zwei Zeilen die Unparsed-Optionen definiert. Das sind Optionen ohne Schlüssel, welche dann z.B. als Dateinamen interpretiert werden können. Die zweite Option welche im Interface definiert wird ist ein Schalter. So kann später in der Befehlszeile der Wert -recursive definiert werden, was sich auf den Wert der Rückgabe von isRecursive() auswirkt. Bei der dritten Option wird ein String übergeben welcher in der Befehlszeile mittels –database db.example.com definiert werden kann. Der Parameter ist dabei optional, so wird der Wert localhost angenommen, wenn der Wert nicht über die Befehlszeile definiert wurde. Die letzte Option dient der Implementation der Hilfe-Funktionalität. Wird der Parameter angegeben, so erzeugt JewelCli automatische die entsprechende Hilfsausgabe für die definierten Parameter. Daneben gibt es noch eine Reihe weiterer Nutzungsmöglichkeiten. Wenn das Interface definiert ist, ist der Großteil der Arbeit abgeschlossen. Nun muss die Auswertung der Parameter angestoßen werden:

CommandLineOptions result;

try {
    result = CliFactory.parseArguments(CommandLineOptions.class, args);
}
catch (ArgumentValidationException e)
{
    System.out.println(e.getMessage());
    return;
}

Dazu wird die Methode parseArguments der Klasse CliFactory genutzt, welche die Argumente unter Nutzung des definierten Interfaces auswertet. Schlägt dies fehl wird eine Exception ausgelöst und die Nachricht dieser auf der Konsole ausgegeben. Der Quelltext von JewelCli kann unter anderen auf GitHub bezogen werden. Lizenziert ist die Bibliothek unter der Apache-Lizenz und damit freie Software.

Autoformatierung unter Eclipse

Wenn man unter Eclipse in Java entwickelt, so möchte man natürlich das dieser Code formatiert wird. Dafür gibt es je nach System die Kombination Strg + Shift + F oder unter Mac OS X die Kombination Command + Shift + F. Damit wird der aktuell geöffnete Quelltext formatiert.

Die Save Actions in den Eclipse Einstellungen

Die Save Actions in den Eclipse Einstellungen

Alternativ kann Eclipse so eingestellt werden, das der Quelltext beim Speichern neu formatiert wird, was auf Dauer natürlich praktischer ist. Dazu müssen die Einstellungen unter Window -> Preferences -> Java -> Editor-> SaveActions aufgerufen werden. Dort kann die automatische Formatierung der Quellcodes beim Speichern aktiviert werden.

Javadoc-Kommentarblock unter Eclipse erzeugen

Wenn man unter C# einen Kommentarblock zur Dokumentation über einer Methode oder einer Klasse erzeugen möchte so tippt man drei Slashes nebeneinander (///). Anschließend wird ein entsprechender Block zur Kommentierung erzeugt. Unter Eclipse ist dies für Java in abgewandelter Form ebenfalls möglich, in dem ein Javadoc-Kommentarblock automatisch erzeugt wird.

Ein Javadoc-Block zur Beschreibung eines Klasse

Ein Javadoc-Block zur Beschreibung eines Klasse

Dazu gibt man über der Klasse oder Methode welche man kommentieren möchte die Zeichenfolge:

/**

ein und bestätigt das ganze mit der Enter-Taste. Anschließend wird der Javadoc-Block erzeugt und kann vom Entwickler gefüllt werden.