Existe-t-il un moyen de forcer Xcode à couper les espaces de fin lorsque j'enregistre le fichier?
J'utilise la version 3.1.3 si cela compte.
Existe-t-il un moyen de forcer Xcode à couper les espaces de fin lorsque j'enregistre le fichier?
J'utilise la version 3.1.3 si cela compte.
Réponses:
Vous pouvez créer un script et le lier à un raccourci clavier:
Entrez ensuite le script suivant:
#!/usr/bin/perl
while (<>) {
s/\s+$//;
print "$_\n";
}
À partir de Xcode 4.4, les espaces seront automatiquement coupés par défaut, sauf si la ligne est entièrement composée d'espaces. Vous pouvez également activer Including whitespace-only lines
pour résoudre ce problème, qui n'est pas actif par défaut.
Aller à Xcode > Preferences > Text Editing > While editing
ctrl-i
sur tous les fichiers existants prend en charge les espaces de fin
J'utilise le plugin Xcode de Google Toolbox pour Mac , il ajoute un paramètre "Corriger les espaces lors de l'enregistrement" qui réduit les espaces de fin lors de l'enregistrement. Cela m'a beaucoup manqué chez emacs.
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
(selon les instructions de Google), j'ai dû le mettre /Applications/Xcode.app/Contents/PlugIns
et redémarrer Xcode.
Pour Xcode 8, j'ai installé le plug-in swimat Xcode, pour le formatage du code Swift, qui supprimait tous les espaces de fin et les lignes blanches uniquement.
Installer via homebrew-cask:
brew cask install swimat
Téléchargez l'application directement:
https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.zip
Clonez la extension
branche et archivez sur Mac App.
Une fois installé, vous pouvez exécuter Swimat dans Xcode via Editor -> Swimat -> Format
.
Ce n'est pas possible dans Xcode 3.2
Éditer:
J'ai répondu si brièvement à cette question car il n'y a aucun moyen de le faire correctement .
Bien sûr, comme il s'agit d'un logiciel, vous pouvez tout faire: en commençant par les hacks Input Manager ou d'autres moyens d'injection de code jusqu'à l'interception du clavier à l'échelle du système, vous pouvez modifier votre système local pour faire n'importe quoi à tout moment. Vous pouvez configurer une action de dossier Applescript (arrgh) ou utiliser un démon de lancement et la fonction FSEvents pour regarder vos fichiers de code source.
Vous pouvez également ajouter quelques scripts à Xcode (scripts utilisateur dans le menu, phases de script dans les cibles, actions personnalisées dans l'organisateur, il y a même la possibilité très inconnue d'un script de démarrage), mais toutes ces solutions sont imparfaites, car elles impliquent le utilisateur ou configuration personnalisée sur la machine de l'utilisateur.
Je ne suis pas au courant d'une solution qui fonctionne simplement après avoir extrait un projet de SCM. Je crois qu'il y a besoin de cela et de scripts de personnalisation similaires, j'ai donc déposé un bogue (radar 7203835, "Fonctionnalité: plus de déclencheurs de script utilisateur dans le workflow Xcode"). Je n'ai pas encore reçu de commentaires.
Voici le texte complet de l'entrée radar:
Il serait utile d'avoir plus d'emplacements pour exécuter des scripts dans Xcode.
Exemples:
Scripts de
pré-génération Les scripts de pré-génération peuvent être utilisés pour créer des prérequis tels que des fichiers * .xcconfig ou des en-têtes config.h. Cela n'est pas possible avec une "phase d'exécution du script de génération", car le suivi des dépendances a lieu avant le déclenchement d'une phase de génération.Scripts de post-construction
Semblables à ci-dessus, mais exécutés une fois la construction terminée (y compris la signature de code, etc.). Utile pour l'emballage supplémentaire, le contrôle de validité, etc.Scripts de validation avant / après SCM.
Pour vérifier l'intégrité du projet.Script de sauvegarde avant / après le fichier.
Pour vérifier / modifier un fichier avant de l'enregistrer. Par exemple, exécutez des embellisseurs CodyActions de projet personnalisées.
Je suis conscient de la capacité de l'organisateur à définir des actions arbitraires. Mais c'est une fonctionnalité par utilisateur (ne fait pas partie du projet). Je voudrais définir des actions comme construire ou nettoyer qui apparaissent dans le menu de construction et qui font partie d'un projet.
Voir ici pour Xcode4: http://www.wezm.net/technical/2011/08/strip-trailing-whitespace-xcode-4/
Cool, la boîte à outils Google pour Mac ajoute désormais une option «couper les espaces» pour Xcode4.
http://code.google.com/p/google-toolbox-for-mac/downloads/list
Merci, Google!
Le moyen le meilleur et le plus simple sans utiliser de scripts, de hacks et bien plus encore. Allez simplement à Rechercher et remplacer le moyen le meilleur et le plus simple sans utiliser de scripts, de hacks et bien plus encore. Allez simplement dans Rechercher et remplacer et appuyez sur "alt / option + espace" et appuyez sur le bouton "espace" dans la barre de remplacement, puis cliquez sur tout remplacer. Il remplacera les espaces blancs par des espaces normaux et l'avertissement / l'erreur disparaîtra !!