Que significa “Inconsistent line endings” en Visual Studio
Despues de muchos dias de que este dialogo me saliera en varias clases de C# en un proyecto en el que estoy, decidi averiguar que significaba “Inconsistent Line Endings” y que planeaba hacer Visual Studio al normalizar los line endings.
Como siempre, algun desarrollador brillante ya habria escrito sobre este problema: Jeff Atwood escribió The Great New Line Schism.
Resulta que es algo tan sencillo como que diferentes sistemas operativos utilizan diferentes caracteres para indicar el final de una linea de texto. Y como los caracteres obviamente son invisibles, no nos damos cuenta del problema hasta que abrimos ese archivo en otro sistema operativo. En mi caso, la mezcla se dio al haber pegado una linea de codigo (Un using statement…nadie deberia hacer copy/paste de codigo) en varias de mis clases. Otra posible razon es que si es un archivo compartido, las personas que estan editando el archivo esten usando diferentes sistemas operativos para abrir el archivo.
Esta animacion (tomada prestada del mismo articulo de Atwood) ilustra el problema:
Al momento de detectar que hay caracteres de newline mezclados, Visual Studio ofrece normalizarlos al estilo de Windows (CR + LF).
Asi es que desde ahora, pueden seleccionar Yes en ese dialogo…