novas linhas Eclipse e Windows
Pergunta
Eu tive que mudar meu espaço de trabalho Eclipse do Linux para o Windows quando meu desktop caiu. Uma semana depois, copiá-lo de volta para Linux, de código felizmente, nos comprometemos a CVS. E, infelizmente, janelas novas linhas poluíram muitos arquivos, de modo CVS diff despeja o arquivo inteiro, mesmo quando eu mudei uma linha ou duas!
Eu poderia preparar um roteiro, mas eu estou querendo saber se isso vai atrapalhar meus arquivos do projeto Eclipse.
Solução
Como mencionado href="http://twigstechtips.blogspot.com/2008/12/eclipse-windowsunix-new-line-formatting.html" aqui e aqui :
Definir a codificação de arquivo para
UTF-8
e as quebras de linha para novos arquivos para Unix, de modo que os arquivos de texto são salvos em um formato que não é específico para o sistema operacional Windows e mais facilmente compartilhados entre desenvolvedor heterogêneo desktops:
- Vá até as preferências da área de trabalho (Geral: Espaço de trabalho)
- Alterar o arquivo de texto Codificação para
UTF-8
- Altere o novo arquivo de texto Linha delimitador para Other e escolha Unix da lista de opções
- Nota: para converter os finais de linha de um arquivo existente, abra o arquivo no Eclipse e escolha
File : Convert Line Delimiters to : Unix
Dica : você pode facilmente converter arquivo existente, selecionando em seguida, no Package Explorer, e depois indo para a entrada de menu File : Convert Line Delimiters to : Unix
Outras dicas
Existe um utilitário festa útil - dos2unix
- que é um conversor de formato de arquivo de texto DOS / MAC para UNIX, que se já não estiver instalado no seu distro, deve ser capaz de ser facilmente instalado através de um gerenciador de pacotes. dos2unix página homem
Além das soluções Eclipse ea ferramenta mencionada em outra resposta , considere aleta . Ele pode 'virar' de qualquer forma entre quebras de linha do Windows normal e, e não coisas agradáveis ??como preservar timestamp do arquivo e outras estatísticas.
Você pode usá-lo como este para resolver o seu problema:
find . -type f -not -path './.git/*' -exec flip -u {} \;
(eu coloquei em uma cláusula de ignorar seu diretório .git, no caso de você usar git, mas desde que ignora aleta arquivos binários por padrão, você pode não precisar isto.)
Você poderia dar-lhe uma tentativa. O problema é que o Windows insere um retorno de carro, bem como uma alimentação de linha quando é dada uma nova linha. Unix-sistemas apenas inserir uma linha de alimentação. Assim, o carácter adicional retorno de carro poderia ser a razão pela qual seu Eclipse mexe-se com as novas linhas.
Grab um ou dois arquivos de seu projeto e convertê-los. Você poderia usar o Notepad ++ para fazê-lo. Basta abrir o arquivo, vá para Formatar-> Converter para Unix (quando você estiver usando o Windows).
No Linux apenas tentar isso em uma linha de comando:
sed 's/$'"/`echo \\\r`/" yourfile.java > output.java
Para remover recursivamente os retornos de carro (\r
) dos CVS / * arquivos em todos os diretórios filho, execute o seguinte em um shell UNIX:
find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \;