Как затмение фигурирует, если файл имеет окончания строки в стиле Unix или DOS? - PullRequest
8 голосов
/ 05 ноября 2010

Я смотрю код Java в Eclipse для Windows.Символы окончания строки (в стиле DOS) не отображаются должным образом (пустые строки везде ..).

Проблема заключается в том, что код взят из виртуальной машины Windows ClearCase, для которой у меня нет разрешений на регистрацию,поэтому он доступен только для чтения (изменение символов окончания строки в автоформате невозможно).Создание полной копии и изменение разделителей строк не может быть и речи, так как код может измениться, пока я смотрю на него.

Я нашел Настройки-> Рабочая область -> «Новый разделитель строк текстового файла», нокажется, что это не отображает символы завершения строки в существующих файлах должным образом.

Как заставить eclipse отображать текстовый файл так, как он должен был отображаться?

Редактировать: Блокнот отображает файлправильно.Ultra-Edit также определяет его как стиль Unix и предлагает преобразовать его в DOS (но отображается правильно при отклонении).gvim обнаруживает файл как unix и отображает ^ M и конец строки.

Я проверил файл в двоичном формате, и он не содержит символов \ n, которые не следуют за символом \ r.Может ли быть какой-либо другой способ, которым Eclipse отличает unix от окончаний строки в стиле dos?

Я нашел эту последовательность символов: 0d0d 0a0d 0d0a (\ r \ r \ n \ r \ r \ n).Я полагаю, именно поэтому он не работает ..

Ответы [ 4 ]

4 голосов
/ 05 ноября 2010

На какой ОС вы работаете? Eclipse автоматически определяет терминаторы линии. Я никогда не видел, чтобы это терпело неудачу и показывало дополнительные новые строки. Возможно ли, что ваш файл на самом деле не дублирует символы новой строки? возможно, попробуйте просмотреть его в другом редакторе (notepad ++, editplus)

1 голос
/ 16 октября 2015

У меня была та же проблема с концом строк, и я заметил проблему быстрой видимости в Eclipse (по сравнению, например, с Notepad ++), но я заметил, что ее можно быстро найти с помощью встроенной функции:

На панели инструментов есть кнопка «Показать символы пробелов» (символ Pi: ¶), и при нажатии на нее у вас будет один из следующих символов в конце строки:

  • ¤¶ для файла с Windows EOL (CRLF)
  • для файла с Unix EOL (LF)

Таким образом, вы можете просто увидеть, какая у вас EOL-кодировка ипреобразуйте его с помощью меню File.

Если вы используете, например, git, вы также можете настроить опцию автоматического преобразования всех коммитов с определенным EOL.Но иногда по неизвестной причине файлы попадают с Windows EOL, даже если я использую Eclipse под виртуальной машиной Linux.Встроенная функция Eclipse позволяет одним взглядом увидеть, что такое кодировка.

1 голос
/ 31 января 2014

Перейти к Настройки-> Общие-> Рабочая область Вы увидите Кодировка текстового файла , где вы можете изменить его на ту, которую предпочитаете. и есть Новый разделитель строк текстового файла , где вы можете использовать Unix, Windows или Mac OS

0 голосов
/ 05 ноября 2010

Мы находимся в смешанной среде с клиентами ClearCase (Unix VOB) и Windows ClearCase, а также с Eclipse.

Я не наблюдал такой проблемы, но я знаю, что определенным типом можно управлятьпо ClearCase определенным образом: см. Работа с Rational ClearCase Unicode Type Manager .
Описывая (cleartool description) тип файлов, вызывающих проблему, вы можете увидеть специальный тип файла, который может бытьпервое объяснение.

Другая классическая причина может включать триггер ClearCase, который каким-то образом повредит содержимое указанного файла.

...