Gibt es eine Möglichkeit, Xcode zu zwingen, nachfolgende Leerzeichen beim Speichern von Dateien zu kürzen?
Ich verwende Version 3.1.3, wenn das wichtig ist.
Gibt es eine Möglichkeit, Xcode zu zwingen, nachfolgende Leerzeichen beim Speichern von Dateien zu kürzen?
Ich verwende Version 3.1.3, wenn das wichtig ist.
Antworten:
Sie können ein Skript erstellen und an eine Tastenkombination binden:
Geben Sie dann das folgende Skript ein:
#!/usr/bin/perl
while (<>) {
s/\s+$//;
print "$_\n";
}
Ab Xcode 4.4 werden Leerzeichen standardmäßig automatisch gekürzt, es sei denn, die Zeile besteht ausschließlich aus Leerzeichen. Sie können auch aktivieren Including whitespace-only lines
, um dies zu beheben, was standardmäßig nicht aktiv ist.
Gehe zu Xcode > Preferences > Text Editing > While editing
ctrl-i
für alle vorhandenen Dateien sorgt für
Ich verwende das Google Toolbox für Mac Xcode-Plugin . Es fügt einen Parameter "Leerzeichen beim Speichern korrigieren" hinzu, mit dem nachfolgende Leerzeichen beim Speichern abgeschnitten werden. Ich habe das von Emacs sehr vermisst.
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
(gemäß den Anweisungen von Google), musste ich es einfügen /Applications/Xcode.app/Contents/PlugIns
und Xcode neu starten.
Für Xcode 8 habe ich das Swimat Xcode-Plug-In zum Formatieren von Swift-Code installiert , mit dem alle nachgestellten Leerzeichen und Nur-Leerzeichen entfernt wurden.
Installation über Homebrew-Fass:
brew cask install swimat
Laden Sie die App direkt herunter:
https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.zip
Klonen Sie den extension
Zweig und archivieren Sie ihn in der Mac App.
Nach der Installation können Sie Swimat in Xcode über ausführen Editor -> Swimat -> Format
.
Dies ist in Xcode 3.2 nicht möglich
Bearbeiten:
Ich habe diese Frage so kurz beantwortet, weil es keine Möglichkeit gibt, dies richtig zu machen .
Da es sich um Software handelt, können Sie natürlich alles tun: Beginnend mit Input Manager-Hacks oder anderen Methoden der Code-Injection bis hin zum systemweiten Abfangen von Tastaturen können Sie Ihr lokales System jederzeit so ändern, dass alles möglich ist. Sie können eine Applescript-Ordneraktion (arrgh) einrichten oder einen Startdämon und die FSEvents-Funktion verwenden, um Ihre Quellcodedateien zu überwachen.
Sie können Xcode auch einige Skripte hinzufügen (Benutzerskripte im Menü, Skriptphasen in Zielen, benutzerdefinierte Aktionen im Organizer, es gibt sogar die sehr unbekannte Möglichkeit eines Startskripts), aber alle diese Lösungen sind fehlerhaft, da es sich um die handelt Benutzer oder benutzerdefiniertes Setup auf dem Computer des Benutzers.
Mir ist keine Lösung bekannt, die einfach nach dem Auschecken eines Projekts von SCM funktioniert. Ich glaube, dass dieses und ähnliche Anpassungsskripte erforderlich sind, daher habe ich einen Fehler gemeldet (Radar 7203835, "Feature: Weitere Benutzer-Skript-Trigger im Xcode-Workflow"). Ich habe noch kein Feedback erhalten.
Hier ist der vollständige Text des Radareintrags:
Es wäre nützlich, mehr Orte zum Ausführen von Skripten in Xcode zu haben.
Beispiele:
Pre-Build-Skripte
Pre-Build-Skripte können verwendet werden, um Voraussetzungen wie * .xcconfig-Dateien oder config.h-Header zu erstellen. Dies ist mit einer "Run Script Build-Phase" nicht möglich, da die Abhängigkeitsverfolgung stattfindet, bevor eine Build-Phase ausgelöst wird.Post-Build-Skripte
Ähnlich wie oben, jedoch nach Abschluss des Builds ausgeführt (einschließlich Codesignatur usw.). Nützlich für zusätzliche Verpackung, Gültigkeitsprüfung usw.SCM-Commit-Skripte vor / nach dem Festschreiben.
So überprüfen Sie die ProjektintegritätSkript zum Speichern von Dateien vor / nach der Datei.
So überprüfen / ändern Sie eine Datei vor dem Speichern. ZB Cody Verschönerer laufen lassenBenutzerdefinierte Projektaktionen.
Ich bin mir der Fähigkeit des Veranstalters bewusst, beliebige Aktionen zu definieren. Dies ist jedoch eine Funktion pro Benutzer (nicht Teil des Projekts). Ich möchte Aktionen wie Erstellen oder Bereinigen definieren, die im Erstellungsmenü angezeigt werden und Teil eines Projekts sind.
Siehe hier für Xcode4: http://www.wezm.net/technical/2011/08/strip-trailing-whitespace-xcode-4/
Die coole Google Toolbox für Mac bietet jetzt eine Option zum Trimmen von Leerzeichen für Xcode4.
http://code.google.com/p/google-toolbox-for-mac/downloads/list
Vielen Dank, Google!
Der beste und einfachste Weg ohne Skripte, Hacks und vieles mehr. Gehen Sie einfach zu Suchen und Ersetzen. Der beste und einfachste Weg, ohne Skripte, Hacks und vieles mehr zu verwenden. Gehen Sie einfach zu Suchen und Ersetzen und drücken Sie "Alt / Option + Leerzeichen" und drücken Sie die "Leertaste" in der Ersetzungsleiste und klicken Sie dann auf Alle ersetzen. Es wird die Leerzeichen durch normale Leerzeichen ersetzen und die Warnung / der Fehler wird verschwinden !!