web-dev-qa-db-fra.com

Définir les fins de ligne pour tous les onglets et tous les fichiers ouverts

Certains de mes fichiers/onglets devaient en quelque sorte être des fins de ligne Unix, quand je veux des fins de ligne Windows. Je peux aller voir> fin de ligne> fenêtres, mais cela ne s'applique que pour le fichier/onglet ouvert. Je ne veux pas avoir à le faire pour chaque fichier (ce que j'ai fait). Mais même si je le fais, lorsque j'ouvre d'autres fichiers, ils sont parfois définis sous Unix. Existe-t-il un paramètre unique qui peut l'appliquer à tous les fichiers, qu'ils soient ouverts ou non ouverts?

Si je vais dans les préférences> Paramètres - par défaut> et que je passe au paramètre default_line_endings, sa valeur est définie sur "système". Je sais que JE POURRAIS remplacer ce paramètre dans mes paramètres "Paramètres - Utilisateur", mais je n'avais pas à le faire avant que les fins de ligne ne soient complètement gâchées. Y a-t-il un autre moyen?

De plus, si je réinstalle le sublimétexte, est-ce que cela pourrait le réparer, ou les fins de ligne dépendent-elles en quelque sorte des fichiers eux-mêmes? J'imagine que ce serait un texte sublime qui déciderait des fins de ligne à utiliser, peut-être en fonction de quelles fins de ligne se trouvent dans le fichier. Mais je n'en suis pas sûr. De plus, toutes mes fins de ligne étaient le CRLF de Windows, pas le LF d'Unix.

Contrôler les fins de ligne dans un texte sublime est actuellement une sorte de douleur, car il n'a aucun moyen de visualiser ou de définir en masse les fichiers en cours, ni de manière en masse de le définir pour les fichiers futurs.

Toute connaissance serait appréciée.

17
ahnbizcad

Le Line Endings plugin/package est petit, mais fonctionne comme un charme Visitez c'est dépôt GitHub pour obtenir quelques détails, car sur sa page de contrôle de package il n'y a pas de description.

Cela fonctionne non seulement, mais vous offre également une fonctionnalité supplémentaire - vous pouvez modifier non seulement les fins de ligne, mais également la méthode de retrait de tous les fichiers ouverts en une seule étape.

Après l'installation:

  1. Ouvrez tous les fichiers dans lesquels vous souhaitez convertir/modifier les fins de ligne et/ou la méthode de retrait.

  2. Presse Ctrl+Shift+P, pour amener Command Pallete et commencer à taper lin pour localiser Line Ending to all views: Windows (par exemple).

  3. Sélectionnez-le, appuyez sur Enter, et tu as fini!

  4. Répétez l'étape 2, mais tapez spaces pour localiser Indentation: Convert to all views to Spaces ou tabs pour localiser Indentation: Convert to all views to Tabs pour modifier la méthode de retrait de tous les fichiers ouverts.

Notez que ce plugin a un bug ou Sublime Text 3 devient parfois un peu fou. Certaines recherches n'ont pas révélé les commandes mentionnées ci-dessus. Et j'ai dû fermer et rouvrir la palette de commandes et taper à nouveau la séquence. En particulier, si vous avez installé tout type de linter dans ST3, sa commande peut interférer avec les commandes de Line Endings , lorsque vous tapez lin.

21
trejder

Il existe un plugin qui fera ce que vous voulez sublime-line-endings-unify .

Le default_line_endings le paramètre n'affectera que les nouveaux fichiers. Sublime utilisera la fin de ligne déjà présente pour les fichiers existants. Peut-être avez-vous un outil (tel que votre système de contrôle de source) qui change les fins. Sublime lui-même ne les modifiera pas sauf si vous le modifiez explicitement.

6
Eric Huss