Ich habe eine etwas unordentlich formatierte Objective-C-Codebasis. Gibt es eine Möglichkeit, Xcode ein gesamtes Projekt neu formatieren zu lassen, um einem Codierungsstandard zu entsprechen (d. H. Richtig eingerückt, Leerzeichen v. Tabs usw.)? Gibt es andere Tools, die dies erreichen könnten?Objective-C Tidy
Antwort
Uncrustify: http://uncrustify.sourceforge.net/
Source Code Beautifier für C, C++, C#, Objective, D, Java, Pfand und Vala
Wenn Sie etwas einfachere wollen, könnten Sie wahrscheinlich Gehen Sie in eine andere Richtung, indem Sie einfach alle Leerstellen/Zeilenumbrüche entfernen und einen neuen Zeilenumbruch unter ;
{
hinzufügen und den Code manuell neu einrücken. Es wird nicht annähernd perfekt platzierten Code sein, und Reindentting könnte bei großem Code ein Problem sein, aber es wird konsistent sein.
Nach diesem blog post funktioniert bcpp mit Objective-C.
Darüber hinaus könnte der Werkzeugeinzug Ihnen helfen. Es ist auf Ebene C ausgerichtet, hat aber eine Vielzahl von Optionen, die helfen könnten. Ich weiß nicht, ob es unter Mac OS X standardmäßig kommt.
NAME
indent - changes the appearance of a C program by inserting or deleting
whitespace.
SYNOPSIS
indent [options] [input-files]
indent [options] [single-input-file] [-o output-file]
indent --version
DESCRIPTION
This man page is generated from the file indent.texinfo. This is Ediâ
tion of "The indent Manual", for Indent Version , last updated .
The indent program can be used to make code easier to read. It can
also convert from one style of writing C to another.
indent understands a substantial amount about the syntax of C, but it
also attempts to cope with incomplete and misformed syntax.
Eine einfache, aber begrenzte Lösung ist Bearbeiten-> Formatieren-> Neu einrücken in Xcode, die Ihre aktuellen Einrückungseinstellungen (Xcode-> Einstellungen ... -> Einrückung) anwendet.
Ausfüllen der Ellipsen: Xcode-> Einstellungen-> Textbearbeitung-> Einrückung – tomblah
Von Xcode:
1) die Einrückungen Einstellungen ändern entsprechen, was Sie wollen.
2) Wählen eine Datei auf arbeiten und wählen Sie alle (cmd-A)
3) links schieben (CMD- [) mehrmals, bis alle Zeilen an der linken Kante des Fensters liegen.
4) Verwenden Sie Re-einrücken Selection (von Bearbeiten-> Format-> oder von der rechten Maustaste das Kontextmenü)
funktioniert nur auf eine Datei zu einem Zeitpunkt, nicht das gesamte Projekt. Behandelt auch nur die Einrückung.
Nachdem ich mit mehreren externen Formatierern und dem schwachen internen xcode-Formatierer herumgebastelt hatte, entschied ich mich schließlich für unkrustig. Uncrustify hat eine ziemlich gute Objective-C-Unterstützung, kann einfach in xcode als Benutzerskript integriert werden und bietet einen zentralisierten Formatierer für fast alle Sprachen, die xcode nativ unterstützt.
Die größte Hürde mit Unkrustierung ist die entmutigende Konfigurationsdatei. Meine Empfehlung, nimm eine der mitgelieferten Beispielkonfigurationen (ben2.cfg ist sehr gut), füge in das objc.cfg-Beispiel ein und tweeze wie nötig.
Ein Weg zu gehen, dass verwendet uncrustify in einem anderen Kontext ist
Das einzige Merkmal der "GTMXcodePlugin", auch bekannt als Google Toolbox für Mac Xcode Plugin - hat eine große Aufgabe der Aufräumen von Ziel-C-Code, indem Whitespaces effektiv und sicher abgeschnitten werden.
The GTM Xcode 4 plugin derzeit fügt nur ein „Clean Up Whitespace“ Menüpunkt zum Ende des Menü „Bearbeiten“ unnötige Zeilenende Leerraum von Textdateien zu entfernen. Hoffentlich werden wir bald weitere Funktionen hinzufügen. Es wurde nur gegen Xcode 4.2 getestet.
Der neueste, beste Weg, dies zu tun, ist SpaceCommander. Es basiert auf der Spitze des Klangs und hat viele andere nette Eigenschaften, und wird beim Schreiben beibehalten und aktiv.
graben nur wegen des Namens des Projekts – slf
Ich benutze jetzt für eine ganze Weile uncrustify, und ich kann auch dafür stimmen. – Moszi