Eclipse и Windows newlines

Мне пришлось переместить рабочее пространство Eclipse из Linux в Windows, когда мой рабочий стол разбился. Через неделю я скопирую его обратно в Linux, код счастливо передаст CVS. И, увы, windows newlines загрязнили много файлов, поэтому CVS diff сбрасывает весь файл, даже когда я изменил строку или две!

Я мог бы сварить скрипт, но мне интересно, испортит ли он мои файлы проекта Eclipse.

Как упоминалось здесь и здесь :

Установите кодировку файлов в UTF-8 и окончание строк для новых файлов в Unix, так что текстовые файлы сохраняются в формате, не относящемся к ОС Windows, и наиболее легко доступны для гетерогенных настольных компьютеров разработчика:

  • Перейдите к настройкам рабочей области (Общие: Рабочая область)
  • Измените кодировку текстового файла на UTF-8
  • Измените разделитель строк нового текстового файла на другое и выберите Unix из списка выбора

alt text

  • Примечание. Чтобы преобразовать окончание строки существующего файла, откройте файл в Eclipse и выберите « File : Convert Line Delimiters to : Unix

Совет . Вы можете легко преобразовать существующий файл, выбрав его в проводнике пакетов, а затем перейдите в пункт меню File : Convert Line Delimiters to : Unix

У меня было то же самое, загрязненные файлы затмения даже при одном изменении строки. Решение: Настройки Eclipse git -> Добавить запись: Ключ: core.autocrlf Ценности: true

введите описание изображения здесь

введите описание изображения здесь

Существует удобная утилита bash – dos2unix – это конвертер текстовых файлов формата DOS / MAC в UNIX, который, если он еще не установлен на вашем дистрибутиве, должен быть легко установлен через диспетчер пакетов. справочная страница dos2unix

В дополнение к решениям Eclipse и инструменту, упомянутым в другом ответе , рассмотрите flip . Он может «переворачиваться» в любом случае между обычными и линейными разломами Windows и делает приятные вещи, такие как сохранение метки времени файла и других характеристик.

Вы можете использовать его так, чтобы решить свою проблему:

 find . -type f -not -path './.git/*' -exec flip -u {} \; 

(Я помещаю в пункт, чтобы игнорировать ваш каталог .git, если вы используете git, но поскольку flip игнорирует двоичные файлы по умолчанию, вам может и не понадобиться.)

Вы можете попробовать. Проблема в том, что Windows добавляет возврат каретки, а также линию, когда задается новая строка. Unix-системы просто вставляют строку. Таким образом, дополнительный символ возврата каретки может быть причиной того, почему ваше затмение испортится с новыми линиями.

Возьмите один или два файла из вашего проекта и конвертируйте их. Вы можете использовать Notepad ++ для этого. Просто откройте файл, перейдите в Format-> Convert to Unix (когда вы используете windows).

В Linux просто попробуйте это в командной строке:

 sed 's/$'"/`echo \\\r`/" yourfile.java > output.java 

Чтобы рекурсивно удалить возвращаемые каретки ( \r ) из файлов CVS / * во всех дочерних каталогах, запустите в оболочке unix следующее:

 find ./ -wholename "\*CVS/[RE]\*" -exec dos2unix -q -o {} \; 
  • Как использовать разделитель в сканере Java?
  • Interesting Posts

    Какова продолжительность жизни глобальной переменной в excel vba?

    Почему у меня уже есть 4 первичных раздела, и какой (если есть) я могу перейти на логический?

    Группа по переменному целочисленному диапазону с использованием Linq

    Скопировать текущий путь в буфер обмена или выбрать адресную строку в Total Commander

    Что необходимо учитывать при выполнении командного файла в качестве запланированной задачи?

    динамический тип объекта

    Различия между «java -cp» и «java -jar»?

    Как добавить событие click к элементу?

    Самый простой способ преобразования коллекции в массив?

    Какой носитель следует использовать для долговременного, большого объема, хранения данных (архивирования)?

    Есть ли поддержка в C ++ / STL для сортировки объектов по атрибуту?

    Бокс и распаковка: когда это придумано?

    Почему я не могу открыть avi-видео в openCV?

    Предотвращение Windows от создания новых сетевых имен при подключении с помощью Android

    Не удается установить Kali Linux с USB, не удается найти привод CD-ROM

    Давайте будем гением компьютера.