Visual Studio ocasionalmente me dice:
Los finales de línea en los siguientes archivos no son consistentes. ¿Quieres normalizar los finales de línea?
Luego me da un menú desplegable con diferentes estándares o algo, como Windows, Mac, Unix y un par de Unicode.
¿Qué significa esto y qué sucederá si hago clic Yes
?
visual-studio
line-endings
MetaGuru
fuente
fuente
git
. Ver también: stackoverflow.com/questions/170961/…Respuestas:
Lo que generalmente significa es que tiene líneas que terminan con algo diferente a un par de retorno de carro / salto de línea. A menudo sucede cuando copia y pega desde una página web en el editor de código.
Normalizar los finales de línea es solo asegurarse de que todos los caracteres de finalización de línea sean consistentes. Impide que una línea termine en
\r\n
y otra que termine con\r
o\n
; el primero es el par final de línea de Windows, mientras que los otros se usan típicamente para archivos Mac o Linux.Como está desarrollando en Visual Studio, obviamente querrá elegir "Windows" en el menú desplegable. :-)
fuente
Algunas líneas terminan con
\n
.Algunas otras líneas terminan con
\r\n
.Visual Studio sugiere que todas las líneas terminen de la misma manera.
fuente
Si está utilizando Visual Studio 2012:
Vaya al menú Archivo → Opciones avanzadas de guardado → seleccione Tipo de terminación de línea como Windows (CR LF) .
fuente
Para activar / desactivar la opción, siga los pasos a continuación desde la barra de menú :
Herramientas → Opciones → Entorno → Documentos → Verificar terminaciones de línea consistentes en carga
fuente
El archivo que está editando se ha editado con otro editor que no utiliza las mismas terminaciones de línea, lo que da como resultado un archivo con terminaciones de línea mixtas.
Los caracteres ASCII en uso para las terminaciones de línea son:
CR, retorno de carro
LF, avance de línea
Windows = CRLF
Mac OS 9 o anterior = CR
Unix = LF
fuente
El artículo de la nueva línea de Wikipedia podría ayudarte. Aquí hay un extracto:
fuente
Significa que, por ejemplo, algunas de sus líneas de texto con un
<Carriage Return><Linefeed>
(el estándar de Windows), y algunas terminan con solo un<Linefeed>
(el estándar de Unix).Si hace clic en "sí", el final de las líneas en su archivo fuente se convertirá para tener el mismo formato.
Esto no hará ninguna diferencia en el compilador (porque el final de las líneas cuenta como un simple espacio en blanco), pero puede hacer alguna diferencia en otras herramientas (por ejemplo, el 'diff' en su sistema de control de versiones).
fuente
No es solo Visual Studio ... Sería cualquier herramienta que lea los archivos, compiladores, enlazadores, etc., lo que debería ser capaz de manejarlo.
En general (para el desarrollo de software) aceptamos el problema de finalización de línea multiplataforma, pero dejamos que el software de control de versiones se ocupe de él.
fuente
Cuando copie y pegue algo de la web, puede obtener los finales de línea inconsistentes.
Para solucionar esto, puede usar la extensión de Visual Studio "Line Endings Unifier" que puede hacer que el final de línea sea consistente automáticamente mientras se guarda el archivo.
fuente
Hay un complemento para Visual Studio 2008 que convierte el formato de fin de línea cuando se guarda un archivo. Puede descargarlo aquí: http://grebulon.com/software/stripem.php
fuente