Unidad: el diálogo "terminaciones de línea inconsistentes" aparece cada vez que abro VS con unidad

10

Cada vez que abro un archivo de script desde Unity con Visual Studio, aparece este cuadro de diálogo sobre la normalización de los finales de línea ¿Qué significa esto? Siempre hago clic en Sí, pero aún así no puedo deshacerme de él. Solo sucede cuando abro un archivo desde la unidad.

ingrese la descripción de la imagen aquí

Marcas
fuente
55
Los archivos de plantilla de script y sombreador predeterminados de Unity tienen terminaciones de línea de estilo Unix / Mac (LF), pero a Visual Studio en Windows le gusta trabajar con estilo de Windows (CR LF). Por lo general, desaparece una vez que haya normalizado cada archivo una vez y guarde el resultado. Sigo diciéndome a mí mismo que voy a entrar y editar todas las plantillas para que nunca tenga que volver a tratar con esto, y luego no lo sigo haciendo ... (Realmente deseo que Unity coincida con la convención del sistema operativo o [exponga una opción para] siempre una conversión automática silenciosa. Las indicaciones constantes son realmente molestas)
DMGregory
... o cambie al código VS. Incluso hay un complemento de Unity Asset Store para ella: assetstore.unity.com/packages/tools/vscode-45320
Jasper Citi

Respuestas:

5

En Visual Studio, puede deshabilitar esta verificación (y, por lo tanto, la advertencia) mirando hacia adentro Tools -> Options, navegando a la Environment -> Documentssección del árbol y desmarcando "Verificar las terminaciones de línea consistentes en la carga".

Esto suprime la advertencia pero en realidad no resuelve el problema; los archivos fuente seguirán teniendo finales de línea inconsistentes. Lo ideal sería resolver este problema configurando todos los editores que use para insertar el mismo tipo de final de línea o para detectar automáticamente el estilo existente y preservarlo. Lamentablemente, no todos los editores de texto admiten este comportamiento; VS, por ejemplo, no tiene un valor predeterminado controlable (aunque le permitirá configurar el estilo utilizado por archivo File -> Advanced Save Options, pero esto es realmente tedioso).


fuente
gracias por la ayuda ... creo que los desarrolladores de estas herramientas no reciben muchas quejas sobre esto, por lo que nunca solucionaron un comportamiento tan molesto
Mark S
7

Fin de archivo (EOF) | Fin de línea, fin de línea (EOL)

Como menciona Josh Petrie, puede resolver el problema cambiando las terminaciones de línea de cada script que abra. Primero, debe cerrar el script en Visual Studio. Luego vaya a Unity y haga doble clic en el line ending warningmensaje de la consola de Unity . Visual Studio abrirá el script con los que faltan y aparecerá una ventana de diálogo de final de línea. Vaya a la sección Terminaciones de línea y elija Windowsla plataforma del sistema operativo que está utilizando. Ahora guarde el script y la próxima vez que abra VS, el mensaje no aparecerá para este script.

Visual Studio 2019

Si no funciona como solución alternativa, puede forzar la normalización utilizando

  • Edición> Avanzado> Establecer nueva línea> CRLF (para Windows).

Esto reemplazará todos los LF a CRLF.

PLANTILLA PREDETERMINADA

Cuando crea un nuevo script, la plantilla puede tener un final de línea incorrecto. Por lo tanto, si cambia la plantilla de Unity, cada vez que crea un nuevo script no encontrará este problema común. Para cambiar la plantilla predeterminada, vaya a donde se instaló Unity y busque la carpeta ScriptTemplates:

C: \ Archivos de programa \ Unity ... Hub \ Editor \ 20xx.x ... Editor \ Data \ Resources \ ScriptTemplates

En Windows, la secuencia de comandos de plantilla predeterminada se puede modificar como administrador o mediante la contraseña de administrador. Ahora abra esta plantilla de script con VS (archivo: 81-C # Script -...). En VS con el script seleccionado, vaya a File -> Advanced Opciones de guardado, aparecerá la ventana emergente y elija Windowso el sistema operativo de la plataforma que está utilizando. Ahora guarde el script y la próxima vez que cree un nuevo script de C # en Unity, el mensaje no aparecerá para todos estos nuevos scripts.

INSTALANDO Strip'em para VS 2010-2017

Ahora también puede probar si desea estas otras herramientas para VS. Este viejo video (a 10m32s) puede ayudarlo en el proceso, pero el resto del video ya está desactualizado. Advertencia, no sigas este tutorial, ya no funciona. Te ayuda en el proceso de usar Strip'em (después de 10m32s)

https://youtu.be/2PVPz8Pnnrw?t=10m32s

Para activar Strip'em en VS 2015, después de la instalación, presione Tools > Strip'emy seleccione su sistema operativo. Strip'em en VS Community 2017, solo hace doble clic en el instalador y eso es todo.

http://www.grebulon.com/software/stripem.php

Alan Mattano
fuente
1

A menos que esté extremadamente comprometido con Visual Studio, he descubierto que, literalmente, solo abrir el archivo en otro editor de texto (como Sublime o VS Code) y luego guardarlo solucionó el problema de inmediato. He tenido malas experiencias con Visual Studio en el pasado, y siempre es extremadamente difícil depurar errores de editor extraños.

Joyce Lee
fuente