Eclipse y Windows newlines
delimiter (6)
Tuve que mover mi espacio de trabajo de Eclipse de Linux a Windows cuando se colgó mi escritorio. Una semana después lo copio de nuevo a Linux, codifico felizmente, me comprometo con CVS. Y, por desgracia, las ventanas nuevas han contaminado muchos archivos, por lo que CVS diff descarga el archivo completo, ¡incluso cuando cambié una línea o dos!
Podría cocinar un guión, pero me pregunto si arruinará mis archivos de proyecto de Eclipse.
Además de las soluciones Eclipse y la herramienta mencionada en otra respuesta , considere flip . Puede ''dar la vuelta'' de cualquier manera entre los saltos de línea normales y de Windows, y hace cosas agradables como conservar la marca de tiempo del archivo y otras estadísticas.
Puedes usarlo así para resolver tu problema:
find . -type f -not -path ''./.git/*'' -exec flip -u {} /;
(Puse una cláusula para ignorar su directorio .git, en caso de que use git, pero dado que flip ignora los archivos binarios de manera predeterminada, es posible que no lo necesite).
Como se menciona here y here :
Establezca la codificación de archivos en
UTF-8
y las terminaciones de línea para los archivos nuevos en Unix, de modo que los archivos de texto se guarden en un formato que no sea específico del sistema operativo Windows y se pueda compartir fácilmente en escritorios de desarrollador heterogéneos:
- Navegue a las preferencias del área de trabajo (General: área de trabajo)
- Cambie la codificación del archivo de texto a
UTF-8
- Cambie el delimitador de línea de archivo de texto nuevo a Otro y elija Unix de la lista de selección
- Nota: para convertir los finales de línea de un archivo existente, abra el archivo en Eclipse y elija
File : Convert Line Delimiters to : Unix
Sugerencia : puede convertir fácilmente un archivo existente seleccionando luego en el Explorador de paquetes y luego yendo a la entrada del menú File : Convert Line Delimiters to : Unix
Hay una útil utilidad bash - dos2unix
- que es un convertidor de formato de archivo de texto DOS / MAC a UNIX, que si no está ya instalado en su distribución, debería poder instalarse fácilmente a través de un administrador de paquetes. Página de manual de dos2unix
Para eliminar recursivamente los retornos de carro ( /r
) de los archivos CVS / * en todos los directorios secundarios, ejecute lo siguiente en un shell de Unix:
find ./ -wholename "/*CVS/[RE]/*" -exec dos2unix -q -o {} /;
Podrías probarlo. El problema es que Windows inserta un retorno de carro así como un avance de línea cuando se le da una nueva línea. Los sistemas Unix solo insertan un avance de línea. Entonces, el carácter de retorno de carro adicional podría ser la razón por la cual su eclipse se equivoca con las líneas nuevas.
Toma uno o dos archivos de tu proyecto y conviértelos. Puede usar Notepad ++ para hacerlo. Simplemente abra el archivo, vaya a Formato-> Convertir a Unix (cuando esté usando Windows).
En Linux solo prueba esto en una línea de comando:
sed ''s/$''"/`echo ///r`/" yourfile.java > output.java