Shortcut des Monats: STRG + ALT + J (eclipse)

Ich weiß zwar noch nicht, ob es immer einen Shortcut des Monats geben wird oder vielleicht sogar einen der Woche, aber ich bin vor kurzem auf einen neuen gestoßen, den ich gerne mit euch teilen möchte. Selbst nachdem ich ihn entdeckt habe, konnte ich keinerlei Dokumentation davon im Internet finden.

Der Shortcut

Aber nun zum Shortcut selbst. Ich arbeite sehr viel mit eclipse (vor allem mit dem Plugin Aptana). Dabei bin ich vor kurzem aus Versehen auf einen neuen Shortcut gestoßen:

STRG + ALT + J

Aber was genau macht der Shortcut? Er dient dazu mehrere markierte Zeilen im Editor in einer Zeile hintereinander zu schreiben. Dabei werden alle Zeilenumbrüche und Tabs (bzw. mehrfache Leerzeichen) zu Beginn einer Zeile gelöscht. Die vorherigen Zeilen werden dann mit einem Leerzeichen getrennt in nur einer Zeile aufgeführt.

Ein Beispiel

Hierzu ein einfaches Beispiel, das viele von euch bestimmt häufiger haben. Wir nehmen eine kleine CSS Datei als Ausgangspunkt (hier als Beispiel meine aktuellen Footer Styles):

/* footer styles */
#footer {
    margin: 0;
    padding: 0 0 0 20px;
    list-style: none;
    color: white
}

#footer li {
    margin: 0;
    padding: 10px 0;
    font: 11px Arial, Helvetica, sans-serif;
}

#footer li.left {
    float: left;
    width: 35%;
}

#footer li.right {
    float: right;
    width: 65%;
}

Oft möchte man diese Styles kompakter in einer Zeile darstellen. Dazu würde man jetzt händisch immer alle Zeilenumbrüche und Tabs löschen (oder sich irgendwelche super komplexen Suchen-Ersetzen Regeln mit regulären Ausdrücken ausdenken). Aber es geht auch sehr einfach mit dem beschriebenen Shortcut. Dazu markiert man z.B. einfach der Quellcode von Zeile 1 bis 6 und benutzt den beschriebenen Shortcut STRG+ALT+J für die Selektion. Dies wiederholt man dann mit allen weiteren Definitionen inkl. aller Ausdrücke in den geschweiften Klammern und führt den Shortcut erneut durch. Am Ende kann man noch die Leerzeilen zwischen den zusammengefassten Definitionsblöcken löschen und erhält folgendes Ergebnis:

/* footer styles */
#footer { margin: 0; padding: 0 0 0 20px; list-style: none; color: white }
#footer li { margin: 0; padding: 10px 0; font: 11px Arial, Helvetica, sans-serif; }
#footer li.left { float: left; width: 35%; }
#footer li.right { float: right; width: 65%; }

Weiteres Beispiel

Das funktioniert aber natürlich nicht nur mit CSS, sondern auch mit andern Sprachen. Auch für Dinge wie Switch-Case Blöcke, XML Strukturen und vieles mehr kann der Shortcut eingesetzt werden, um den Quellcode übersichtlicher zu gestalten:

Switch-Case vorher:

switch($var){
	case 1 :
		func1();
		break;
	case 2 :
		func2();
		break;
	case 3 :
		func3();
		break;
	default :
		func();
}

Switch-Case nachher

switch($var){
	case 1 : func1(); break;
	case 2 : func2(); break;
	case 3 : func3(); break;
	default : func();
}

Wie ihr sehen könnt, kann man damit viele Konstrukte vereinfachen und dadurch eventuell besser lesbar machen. Eine nette Anwendung ist auch das „Minimieren“ von CSS Datei. Hierzu markiert man einfach den gesamten Quellcode der CSS Datei und wendet den Shortcut an. Bei Sprachen mit einzeiligen Kommentaren, die in vielen Programmiersprachen mit zwei Slashes beginnen, kann der Quellcode so einfach natürlich nicht minimiert werden, da alles nach dem ersten einzeiligen Kommentar auch auskommentiert werden würde.

Grenzen des Shortcuts und Fazit

Der Shortcut ist nicht geeignet, wenn die Zeilenumbrüche notwendig sind. Es kann auch zu Problemen führen, wenn man Beispielsweise HTML Quellcode so vereinfacht, da hier die Leerzeichen zwischen der vorherigen Zeichen zu einem Leerzeichen im Text führen könnten, das vorher eventuell noch nicht vorhanden war. Aber für alle Kontrukte, bei denen Leerzeichen keine Auswirkung haben, kann es sehr zur Lesbarkeit eures Quellcodes beitragen. Es ist im Grunde eine Möglichkeit, die Autoformatierung durch den Shortcut STRG+SHIFT+F wieder teilweise zurückzunehmen. Ich habe mich jedenfalls gefreut den Shortcut entdeckt zu haben und hoffe, dass auch ihr damit ein bisschen Zeit in Zukunft einsparen könnt.

Veröffentlicht von

Bernhard ist fest angestellter Webentwickler, entwickelt in seiner Freizeit Plugins, schreibt in seinem Blog über WordPress und andere Themen, treibt sich gerne bei den WP Meetups in Berlin und Potsdam herum und läuft nach Feierabend den ein oder anderen Halbmarathon.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert