2009-11-23 13 views

Antwort

2

Hier ist ein Xcode-Benutzerskript, das keine neuen Zeilen im Text löschen soll.

#!/usr/bin/python 
# 
# Wraps selection in braces. 
# Set Input to "Selection". 
# Set Output to "Replace Selection". 

tabChar = '\t' # Replace with spaces if desired 
input = '''%%%{PBXSelectedText}%%%''' 

print "{" 
for line in input.splitlines(): 
    print tabChar + line 
print "}" 

Siehe den Eingabevariablen Script Abschnitt der Xcode Workspace Guide für weitere Informationen über %%%{PBXSelectedText}%%% und die anderen Variablen zur Verfügung Eingangs.

EDIT: Unterstützung für das Einrücken des Codes hinzugefügt, der von einem bestimmten Betrag umgeben werden soll. Gerade jetzt muss der Einzug fest codiert sein. Es kann möglich sein, diesen Wert beispielsweise aus der Xcode-Voreinstellungsdatei zu erhalten, aber ich bin nicht so weit gegangen.

+0

du da mann! eine letzte Quibble ... wissen, was zum Skript hinzugefügt werden muss, um die Auswahl automatisch einzurücken, bevor die geschweiften Klammern kommen? Wenn nicht, ist es einfach, ⌘-] vor dem Aktivieren des Skripts einzugeben. Danke nochmal! das nervt mich seit Monaten. – Meltemi

+0

Versuchen Sie das aktualisierte Skript oben. –

1

Sie können das Kontrollkästchen preference deaktivieren, um die schließende Klammer automatisch hinzuzufügen.

Oder Sie konnten dieses kleine Skript zu Ihrem User-Skripte hinzufügen:

alt text http://idisk.mac.com/cdespinosa/Public/Wrap%20in%20Braces.png

+0

Meistens funktioniert, außer es scheint alle Zeilenvorschübe aus dem ausgewählten Text zu entfernen, so dass alles auf einer Zeile landet ... Ich weiß, der Compiler ist egal, aber ... ich tue! Irgendwelche Ideen, wie man die Formatierung behält? – Meltemi

+1

Versuchen Sie, ''%%% {PBXSelectedText} %%%'' zu verwenden, um den Text wie in meiner Antwort angegeben einzufügen. –

0

Apple veröffentlicht eine Tech Q&A in Bezug auf diese. Ach, das schließende Locking funktioniert nicht, aber es scheint immer noch besser zu sein, als den gesamten ausgewählten Code in eine einzige Zeile zu verschieben.

Verwandte Themen