Press "Enter" to skip to content

Xcode-Profi-Features – Teil 3

Einsatz mehrerer Cursor

In den bisherigen Artikeln dieser kleinen Serie haben wir uns mit der Möglichkeit zum Ein- und Ausklappen von Code-Blöcken sowie dem Refactoring beschäftigt. In diesem Beitrag möchte ich euch nun ein weiteres kleines Feature präsentieren, das erst jüngst mit Xcode 10 Einzug in Apples IDE gehalten hat: der Einsatz mehrerer Cursor parallel.

Was bringt‘s?

Manch einer mag sich an dieser Stelle fragen, was ein solches Feature denn überhaupt soll. Warum sollte man denn mehrere Cursor auf einmal in einem Editor platzieren wollen?

Generell ist solch eine Funktion enorm praktisch, um ein- und dieselbe Texteingabe an mehreren Stellen gleichzeitig und nicht nacheinander durchzuführen. Das kann auch teils als Alternative zum klassischen Refactoring genutzt werden, das Thema des letzten Artikels dieser Reihe war. So kann man zum Beispiel einen Parameter einer Methode durch Setzen mehrere Cursor am Namen gleichzeitig an allen relevanten Stellen ändern.

Wie funktioniert’s?

Es gibt verschiedene Möglichkeiten, mehrere Cursor in Xcode 10 zu aktivieren. Sie alle basieren auf der Tastenkombination SHIFT + CONTROL. Diese beiden Tasten müsst ihr also immer gedrückt halten, wenn ihr zusätzlich zu einem bestehenden Cursor einen weiteren platzieren wollt.

Die erste Möglichkeit zum Setzen mehrere Cursor besteht darin, bei Gedrückthalten von SHIFT + CONTROL an die gewünschte Stelle zu klicken. Das ganze könnt ihr beliebig oft wiederholen und so alle Cursor an beliebigen Stellen im Editor verteilen.

Ein Beispiel hierzu zeigt der folgende Ausschnitt aus einem Xcode-Projekt. Darin wird innerhalb der zugrundeliegenden ViewController-Klasse eine Property namens darkMode deklariert. Dabei handelt es sich um eine Eigenschaft vom Typ Bool, die beispielhaft definieren soll, ob für diesen View-Controller ein angepasster Dark Mode verwendet werden soll oder nicht.

Mithilfe der Funktion zum Setzen mehrerer Cursor wurde nun an jeder Stelle, an der die darkMode-Property entweder deklariert oder eingesetzt wird, ein Cursor vor dem Namen platziert. Tastatureingaben, die nun ausgeführt werden, gelten parallel für alle Stellen, an denen ein solcher Cursor platziert wurde. So lässt sich der Name der Property ganz leicht von darkMode zu useDarkMode an allen Positionen im Projekt ändern.

Es wurden mehrere Cursor jeweils vor den Namen der darkMode-Property platziert, um den so an allen betroffenen Stellen auf einmal ändern zu können.
Es wurden mehrere Cursor jeweils vor den Namen der darkMode-Property platziert, um den so an allen betroffenen Stellen auf einmal ändern zu können.

Es gibt darüber hinaus noch zwei weitere Möglichkeiten zum Setzen mehrerer Cursor. Haltet ihr die SHIFT + CONTROL-Tasten gedrückt, könnt ihr mit den Pfeiltasten nach oben beziehungsweise unten mehrere Cursor in einer Reihe platzieren. Das ist beispielsweise bei vielen aufeinanderfolgenden Deklarationen sinnvoll, die ihr um ein zusätzliches Präfix ergänzen möchtet.

Fazit

Der Einsatz mehrerer Cursor kann in so mancher Situation dabei helfen, Änderungen im Code schnell und übersichtlich an allen betroffenen Stellen durchzuführen. Tatsächlich ist das ein Feature, das sich viele Entwickler lange Zeit sehnlichst gewünscht haben und das jüngst mit Xcode 10 Einzug in Apples Entwicklungsumgebung gehalten hat.

Natürlich ersetzt der Einsatz mehrerer Cursor nicht klassische Funktionen wie beispielsweise das Refactoring. Vernünftig und clever eingesetzt ist es in manchen Situationen aber womöglich die schnellere und unkompliziertere Lösung (abgesehen von all den Fällen, bei denen Refactoring die Vorteile mehrerer Cursor sowieso nicht aufgreifen könnte).

Euer Thomas

Bisherige Artikel dieser Reihe

Schreibe den ersten Kommentar

Schreibe einen Kommentar

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

Kategorien

Impressum

Thomas Sillmann
Kettererstraße 6
D-63739 Aschaffenburg
E-Mail: contact@thomassillmann.de
Mobil: +49 (0) 151 65125650
Web: https://www.thomassillmann.de/

Inhaltlich Verantwortlicher gemäß §55 Abs. 2 RStV: Thomas Sillmann (Anschrift siehe oben)

Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehme ich keine Haftung für die Inhalte externer Links. Für die Inhalte der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.

Copyright © 2019 · Thomas Sillmann