Que signifie Visual Studio en normalisant les terminaisons de ligne incohérentes?

Visual Studio me dit parfois:

Les fins de ligne dans les fichiers suivants ne sont pas cohérentes. Voulez-vous normaliser les fins de ligne?

Il me donne alors un menu déroulant avec différentes normes ou quelque chose, comme Windows, Mac, Unix, et quelques autres Unicode.

Qu’est-ce que cela signifie et que va-t-il se passer si je clique sur Yes ?

    Cela signifie généralement que vous avez des lignes se terminant par quelque chose d’autre que le retour chariot / le saut de ligne. Cela arrive souvent lorsque vous copiez et collez une page Web dans l’éditeur de code.

    La normalisation des fins de ligne consiste simplement à s’assurer que tous les caractères de fin de ligne sont cohérents. Il empêche une ligne de se terminer par \r\n et une autre par \r ou \n ; la première est la paire de fins de ligne Windows, tandis que les autres sont généralement utilisées pour les fichiers Mac ou Linux.

    Puisque vous développez dans Visual Studio, vous voudrez évidemment choisir “Windows” dans le menu déroulant. 🙂

    Certaines lignes se terminent par \n .

    Certaines autres lignes se terminent par \r\n .

    Visual Studio vous propose de mettre fin à toutes les lignes.

    Si vous utilisez Visual Studio 2012, procédez comme suit:

    Allez dans le menu FichierOptions de sauvegarde avancées → sélectionnez Type de fin de ligne sous Windows (CR LF) .

    Pour activer ou désactiver l’option, suivez les étapes ci-dessous depuis la barre de menus :

    OutilsOptionsEnvironnementDocumentsVérifier la fin des lignes sur le chargement

    Le fichier que vous modifiez a été modifié avec un autre éditeur qui n’utilise pas les mêmes fins de ligne, ce qui entraîne un fichier avec des fins de ligne mixtes.

    Les caractères ASCII utilisés pour les fins de ligne sont les suivants:

    CR, retour de voiture
    LF, Line Feed

    Windows = CRLF
    Mac OS 9 ou version antérieure = CR
    Unix = LF

    Cela signifie que, par exemple, certaines de vos lignes de texte avec un (le standard Windows), et certaines finissent par un (le standard Unix).

    Si vous cliquez sur «oui», les fins de ligne dans votre fichier source seront converties pour avoir le même format.

    Cela ne fera aucune différence pour le compilateur (car les fins de ligne comptent comme de simples espaces), mais cela peut faire une différence avec d’autres outils (par exemple, le «diff» sur votre système de contrôle de version).

    L’ article de Wikipedia pourrait vous aider. Voici un extrait:

    Les différentes conventions de nouvelle ligne entraînent souvent l’affichage incorrect de fichiers texte transférés entre des systèmes de types différents. Par exemple, les fichiers provenant de systèmes Unix ou Apple Macintosh peuvent apparaître comme une longue ligne unique sur certains programmes exécutés sous Microsoft Windows. Inversement, lors de la visualisation d’un fichier provenant d’un ordinateur Windows sur un système Unix, le CR supplémentaire peut s’afficher sous la forme ^ M ou à la fin de chaque ligne ou lors d’un saut de ligne.

    Ce n’est pas seulement Visual Studio … Ce sont tous les outils qui lisent les fichiers, les compilateurs, les éditeurs de liens, etc.

    En général (pour le développement de logiciels), nous acceptons le problème de fin de ligne multiplateforme, mais laissez le logiciel de contrôle de version le gérer.

    Il existe un complément pour Visual Studio 2008 qui convertit le format de fin de ligne lorsqu’un fichier est enregistré. Vous pouvez le télécharger ici: http://grebulon.com/software/ssortingpem.php