Question

Je voudrais convertir automatiquement entre les onglets et les espaces pour l'indentation lorsque je valide / met à jour le code dans / depuis notre référentiel. J'ai trouvé le plug-in AnyEdit pour Eclipse, qui permet de convertir des répertoires de fichiers. Pas mal pour un début, mais est-ce que quelqu'un a plus d'expérience sur la façon de gérer ça? Ou peut-être connaissez-vous un script Ant ou autre chose?

Était-ce utile?

La solution

Pourquoi ne pas simplement utiliser le formateur de code et / ou la fonction de nettoyage? Il a des paramètres qui s'occupent de ça. Vous pouvez même le faire fonctionner automatiquement lors de la sauvegarde.

Modifier: Comme Peter Perh & # 225; & # 269; souligne dans les commentaires, cela ne répond qu'à la moitié de la question. Je n'ai aucune expérience pratique, mais vous pouvez essayer d'utiliser le module de formatage Maven Eclipse pour formater à partir d'une version Maven. .

Malheureusement, ce n’est que Maven et je ne connais aucun formateur de ligne de commande léger. Mais si vous utilisez Maven, vous pouvez lier l'objectif de formatage à la phase appropriée et, si vous définissez Eclipse sur la génération automatique, il formatera à la mise à jour.

En fonction de l'outil SCM (git, svn, etc.), vous pouvez également créer un hook qui exécute la construction (mais cela peut être un peu trop lourd pour cela).

Autres conseils

  1. Assurez-vous que votre éditeur est défini sur utiliser des espaces à la place des onglets .
  2. Sélectionnez tout le texte et appuyez sur CMD + I sur mac ou sur CTRL + I sur Windows.

J'utilise le plug-in AnyEdit pour convertir automatiquement les onglets en espaces lors de la sauvegarde d'un fichier. Je configure également l’éditeur de texte de base (duquel dérivent à peu près tous les autres) pour insérer des espaces à la place des tabulations. Cela semble redondant, mais cela garantit que je n’insère aucun onglet et que tout fichier que j’ai modifié et qui contient déjà des onglets sera converti dès que je l’aurai sauvegardé.

Les onglets n'ont pas leur place dans le code source. Si quelqu'un d'autre regarde le fichier avec une tabulation différente, ils perdent néanmoins le plus d'alignement / de formatage.

(Bien sûr, si vous avez des Makefiles que vous éditez directement, vous voudrez vous assurer que leurs onglets sont conservés. Mais dans mes projets, si make est utilisé à tout moment, le Makefile est dérivé d'une source différente, telle que un Makefile.PL en Perl.)

Un peu exagéré, et seulement quelque chose à essayer avec certains produits de référentiel qui peuvent le gérer, mais un script de hook pour appeler indent ou astyle pourrait faire l'affaire. Cela formatera le code de tout le monde de la même manière pour chaque fichier, en fonction de la manière dont vous écrivez le script de raccordement, et il faudra bien sûr le pré-engager.

Vous pouvez perdre l'alignement / la mise en forme en utilisant des tabulations au lieu d'espaces si et seulement si les tabulations ne sont pas au début de la ligne. N'utilisez jamais de tabulations à l'intérieur des lignes, utilisez toujours des tabulations à l'avant des lignes. Cela vous permet d'utiliser votre éditeur pour ajuster le niveau de retrait souhaité sans affecter la vue du fichier de vos collègues. Défi: trouvez un exemple où les onglets situés au début de la ligne perdent leur alignement.

J'utilise Kedit pour cette chose. Il convertit également de manière native les fichiers texte de Macintosh, UNIX et MS-Dos. Comme il s'agit d'un éditeur plus ancien, j'utilise l'un de ses scripts pour gérer les fichiers Unicode. Vous pouvez également consulter d'autres éditeurs intelligents.

J'utilise Eclipse for Java EE Developer 4.6.0 Neon. J'utilise http://marketplace.eclipse.org/content/anyedit-tools

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top