La question comporte deux parties, dont l'une a déjà la réponse.
- Comment supprimer automatiquement les espaces de fin du fichier en cours de modification ? -> Réponse: utilisez le plugin AnyEdit , qui peut être configuré pour le faire sur n'importe quelle sauvegarde du fichier.
- Comment supprimer automatiquement les espaces de fin des lignes que j'ai modifiées ? -> Je ne sais pas et j'apprécierais toute aide.
eclipse
whitespace
Jan Żankowski
la source
la source
Réponses:
Preferences-> Java-> Editors-> Save Actions-> cocher Perform the selected actions on save-> cocher Additional actions-> cliquer Configure..-> aller dans l' Code organizingonglet -> cocher Remove trailing whitespace-> sélectionner All lines.
Preferences-> Java-> Editor-> Save Actions-> cocher " Perform the selected actions on save-> cocher Format source code-> sélectionner Format edited lines.
Notez qu'il n'est pas nécessaire de cliquer Configure the formatter settings on the Formatter page- tous les styles de code incluent automatiquement la suppression des espaces de fin. Au moins, je n'ai pas pu trouver de paramètre pour cela dans la configuration de Formatter, et cela a fonctionné par défaut pour les conventions Java intégrées, les styles Eclipse, Eclipse 2.1, ainsi que GoogleStyle .
Lorsque vous utilisez cette configuration, vous devez évidemment désactiver également la solution de la partie 1 de la question.
la source
Je suppose que vos questions concernent le code Java. Si c'est le cas, vous n'avez en fait pas besoin de plugins supplémentaires pour accomplir 1). Vous pouvez simplement aller dans Préférences -> Java -> Éditeur -> Enregistrer les actions et le configurer pour supprimer les espaces de fin .
Par les sons de celui-ci, vous voulez également en faire un cadre pour toute l'équipe, non? Pour vous simplifier la vie et éviter d'avoir à vous souvenir de l'avoir configuré à chaque fois que vous disposez d'un nouvel espace de travail, vous pouvez définir l'action d'enregistrement en tant que préférence spécifique au projet qui est stockée dans votre SCM avec le code.
Pour ce faire, faites un clic droit sur votre projet et allez dans Propriétés -> Éditeur Java -> Enregistrer les actions . De là, vous pouvez activer les paramètres spécifiques au projet et le configurer pour supprimer les espaces de fin (entre autres choses utiles).
NB : Cette option a été supprimée dans Eclipse Kepler (4.3) et les versions suivantes.
NB # 2: L'option semble être de retour dans Eclipse Luna -
Luna Service Release 1a (4.4.1)
la source
Vous n'avez pas besoin de plugin pour le faire. Par exemple, si vous codez JAVA, vous pouvez effacer les espaces blancs de fin en configurant les actions de sauvegarde:
Eclipse 3.6
Preferences-> Java-> Editors-> Save Actions-> Vérifier Perform the selected actions on save-> Vérifier Additional actions-> Cliquez sur leConfigure.. bouton.
Dans l' Code organizingonglet, cochezRemove trailing whitespace
la source
PyDev peut le faire soit par Ctrl+ Shift+ Fsi vous avez défini l'option de formatage de code, soit par during saving:
Eclipse-> Window-> Preferences-> PyDev-> Editor-> Code Style->Code Formatter :
J'utilise au moins ceux-ci:
la source
Faites ce qui suit:
Preferences-> Java-> Editor->Save Actions
la source
Vous pouvez mapper une clé dans Eclipse pour supprimer manuellement les espaces vides de fin dans l'ensemble du fichier, mais uniquement sur demande au lieu de automatiquement lors de l'enregistrement. (Préférence / Clés, puis mappez un ensemble de clés sur Fichier / Supprimer les espaces de fin). Cela peut être utile si vous souhaitez nettoyer tous les nouveaux fichiers, mais que le code hérité reste intact.
Une autre stratégie consiste à activer l'affichage visuel des espaces blancs, de sorte qu'au moins vous saurez quand vous ajouterez des espaces à la fin. Pour autant que je sache, il n'y a aucun moyen d'afficher uniquement les espaces de fin, mais je serai heureux d'avoir tort.
la source
À la rigueur, pour les éditeurs qui ne prennent pas du tout en charge la suppression des espaces de fin (par exemple, l'éditeur XML), vous pouvez le supprimer de toutes les lignes en effectuant une recherche et un remplacement, en activant des expressions régulières, puis en trouvant "[\ t] + $ "et en le remplaçant par" "(vide). Il y a probablement une meilleure expression rationnelle pour le faire, mais cela fonctionne pour moi sans avoir besoin d'installer AnyEdit.
la source
Je dirais aussi AnyEdit. Il ne fournit pas ces fonctionnalités spécifiques. Cependant, si vous et votre équipe utilisez les fonctionnalités AnyEdit à chaque action de sauvegarde, alors lorsque vous ouvrez un fichier, il ne doit pas avoir d'espace blanc de fin.
Par conséquent, si vous modifiez ce fichier et si vous ajoutez de nouveaux espaces de fin, puis pendant l'opération d'enregistrement, AnyEdit supprimera uniquement ces nouveaux espaces, car ce sont les seuls espaces de fin de ce fichier.
Si, pour certaines raisons, vous devez conserver les espaces de fin sur les lignes qui n'ont pas été modifiées par vous, alors je n'ai pas de réponse pour vous, et je ne suis pas sûr que ce type de fonctionnalité existe dans un plugin Eclipse ...
la source
Il est impossible de le faire dans Eclipse de manière générique pour le moment, mais il peut être modifié en fonction des connaissances de base de Java et du temps libre pour ajouter un support de base pour ce https://bugs.eclipse.org/bugs/show_bug.cgi? id = 180349
Le problème dépendant: https://bugs.eclipse.org/bugs/show_bug.cgi?id=311173
la source
Pour php il y a aussi une option:
la source
Il existe un moyen très simple de le faire avec sed, l'outil de ligne de commande Unix. Vous pourriez probablement créer une macro dans Eclipse pour exécuter ceci:
la source
Comme l'a dit @Malvineous, ce n'est pas professionnel mais une solution de contournement pour utiliser la méthode Find / Replace pour supprimer l'espace de fin (ci-dessous, y compris l'onglet U + 0009 et les espaces U + 0020).
Appuyez simplement sur Ctrl + F (ou commande + F)
[\t ][\t ]*$
extra:
Pour supprimer l’espace de début, recherchez
^[\t ][\t ]*
au lieu de[\t ][\t ]*$
Pour supprimer les lignes vierges, recherchez
^\s*$\r?\n
la source
[\t ]+$
lieu de[\t ][\t ]*$
?Je ne connais aucune solution pour la deuxième partie de votre question. La raison en est qu'il n'est pas clair comment définir j'ai changé . Changé quand? Juste entre 2 sauvegardes ou entre commits ... Fondamentalement - oubliez-le.
Je suppose que vous souhaitez vous en tenir à certaines directives, mais ne touchez pas au reste du code. Mais la directive doit être utilisée dans l'ensemble, et non pour les piqûres et les morceaux. Donc, ma suggestion est - changez tout le code en ligne directrice: c'est une opération unique, mais assurez-vous que tous vos développeurs ont le même plugin (AnyEdit) avec les mêmes paramètres pour le projet.
la source
J'ai utilisé cette commande pour git:
git config --global core.whitespace cr-at-eol
Il supprime les
^M
caractères qui suivent.la source