Xcode Tips: Tipp deine [ ] doch selber!

written by Martin Häcker on

Dachte ich mir zum letzten mal.

Denn das kann XCode ja schließlich auch automatisieren, wenn man ein wenig in die Makros von Xcode reingreift.

Schritt eins, /Developer/Applications/Xcode.app/Contents/PlugIns/TextMacros.xctxtmacro/Contents/Resources/ObjectiveC.xctxtmacro im Texteditor der Wahl öffnen und das Macro finden das Apple als Hilfe für solche Fälle vorgesehen hat. (Bei mir ist das auf Zeile 68)

{
            Identifier = objc.bracket;
            BasedOn = objc;
            IsMenuItem = YES;
            Name = "Bracket Expression";
            TextString = "[<#!expression!#> ]";
        },

Das habe ich mir dann durch zwei Macro-Definitionen ersetzt die für mich wesentlich nützlicher sind:

{
            Identifier = objc.bracket;
            BasedOn = objc;
            IsMenuItem = YES;
            Name = "Bracket Expression";
            TextString = "[<#!expression!#>]";
        },

        {
            Identifier = objc.bracket.withSemicolon;
            BasedOn = objc;
            IsMenuItem = YES;
            Name = "Bracket Expression with Semicolon";
            TextString = "[<#!expression!#>];";
        },

Das war Schritt eins, um dass jetzt noch richtig Nützlich zu machen, habe ich mir diese Befehle (die jetzt beide im Menü auftauchen) noch mit einem Shortcut belegt - also Menü->Xcode->Preferences->Key Bindings, dort eine eigene Konfiguration anlegen und bei den "Menu Key Bindings" die Menü-Eintrag unter Edit->Insert Text Macro->Objective C finden.

Ich hab mir den ersten (ohne Semicolon) auf Command-1 und den zweiten (mit Semicolon) auf Command-2 gelegt.

Nie wieder Semicolons Tippen. Einfach Text-Auswählen und Command-1, dann hab ich eckige Klammern drumherum.

Ahhh....

Lediglich eines hätte ich noch gerne, dass der Cursor danach vor der schließenden eckigen Klammer ist.. aber das finde ich auch noch raus.