Comment réparer incompatible fins de ligne pour toute la VS solution?
Visual Studio détecte incompatible fins de ligne lors de l'ouverture d'un fichier et il y a une option pour réparer ce fichier spécifique. Cependant, si je veux fixer les fins de ligne pour tous les fichiers dans une solution, comment dois-je faire?
Vous devez vous connecter pour publier un commentaire.
Juste pour une réponse plus complète, ce qui a le mieux fonctionné pour moi:
Remplacer
avec
dans l'ensemble de la solution avec "regEx" option.
Ceci permettra de définir la bonne fin de ligne dans tous les fichiers qui n'ont pas de fin de ligne jusqu'à présent. Il utilise le négatif d'anticipation afin de vérifier la non-existence d'un \r en face de l' \n.
Être prudent avec les autres solutions: soit Ils modifier toutes les lignes de tous les fichiers (en ignorant l'origine de fin de ligne) ou supprimer le dernier caractère de chaque ligne.
Vous pouvez utiliser le Remplacer dans les Fichiers de commande et de permettre à des expressions régulières. Par exemple, pour remplacer de fin de lignes qui ont un seul saut de ligne "\n" (comme, à partir de GitHub, par exemple) avec le standard Windows de retour chariot-saut de ligne "\r\n", recherche des:
Cela dit pour créer un groupe (c'est pourquoi les parenthèses sont obligatoires), où le premier caractère n'est pas un retour de chariot ou est le début d'une ligne. Au début de la ligne de test est vraiment seulement pour le début du fichier, si il arrive à démarrer avec un "\n". Suivant le groupe est un retour à la ligne. Ainsi, vous pourrez match "\n" qui a le mal de fin de ligne, mais pas "\r\n", qui est la bonne fin-de-ligne.
Et de le remplacer par:
Ce dit de garder le groupe (1$) et puis de remplacer les "\n" par "\r\n".
\r?\n
avec\r\n
va nettoyer tous les fins de ligne sans impliquer l'utilisation de groupes de capture.Essayer de faire
Puis enregistrez le document, tant que le fichier n'obtient pas modifié par un autre éditeur externe, elle doit rester cohérente. Il fixe pour moi.
Mise à jour: Merci de faire attention. Ne pas le faire, sauf si vous avez complètement engagé à votre référentiel de code déjà et vous pouvez restaurer tout les changements involontaires. Lire les commentaires ci-dessous. Les choses qui ont travaillé pour moi peut ne pas fonctionner pour vous.
Ron réponse était vraiment près à m'aider, mais j'ai dû faire quelques ajustements pour le faire fonctionner dans Visual Studio.
1) ouvrez la solution que vous souhaitez régler.
2) assurez-vous que toutes les modifications en attente sont vérifiées parce que vous êtes potentiellement aller pour modifier un crapton de documents et ne veulent pas annuler vos autres modifications en attente avec ce.
3) dans un document, appuyez sur Ctrl+F pour ouvrir la boîte de recherche, et cliquez sur la flèche déroulante de l'icône sur le côté gauche de l'élargir à la recherche/remplacement de la boîte.
4)
Dans la ligne du haut, coller:
Dans la ligne du bas, coller:
5) Activer le
.*
icône "Utiliser des Expressions Régulières" caractéristique.6) Modifier la liste déroulante à côté de l'icône de sorte qu'il est dit "tout" ou "Tous les Documents Ouverts" ou tout ce qui est approprié pour votre situation.
7) Cliquez sur le bouton "Remplacer Tout" qui montre
ab -> ac
dans l'icône.Et c'est tout!
Que d'un côté, j'avais besoin de ce parce que l'Unité de modèles de script tout fait dans MonoDevelop ils ont donc le Mac fins de ligne par défaut. J'ai dû éditer tous les documents dans le chemin d'accès:
J'ai donc ouvert tous dans Visual Studio, suivi le processus que j'ai indiqués ci-dessus, à l'aide de Tous les Documents Ouverts" à l'étape 6.
Si vous avez Cygwin avec le cygutils paquet installé, vous pouvez utiliser cette chaîne de commandes du shell Cygwin:
unix2dos -udi *.rpc | sed -e 's/0 [1-9][0-9]//' -e 's/[1-9][0-9]* 0 //' | sed '/[1-9][0-9] /!d' | sed-e 's/[1-9][0-9 ] //' | xargs unix2dos
(Remplacer le *.rpc avec ce générique vous avez besoin d')
Pour comprendre comment cela fonctionne, le unix2dos commande est utilisée pour convertir les fichiers, mais uniquement les fichiers qui ont incompatible fins de ligne (c'est à dire, un mélange de UNIX et DOS) doivent être convertis. L'-udi option affiche le nombre de dos et unix fins de ligne dans le fichier. Par exemple:
Ici, seul le Acad2S5kXhat.cpp le fichier doit être converti. Les commandes sed filtre à la sortie de produire une liste de tout les fichiers doivent être convertis, et ceux-ci sont ensuite traitées par xargs.