Преобразование табуляции и пробелов - PullRequest
31 голосов
/ 19 сентября 2008

Я хотел бы автоматически конвертировать между вкладками и пробелами для отступа, когда я фиксирую / обновляю код в / из нашего репозитория. Я нашел плагин AnyEdit для eclipse, который может конвертировать каталоги файлов. Неплохо для начала, но есть ли у кого-нибудь больше опыта, как справиться с этим? Или, может быть, знаете сценарий Ant или что-то еще?

Ответы [ 7 ]

16 голосов
/ 29 января 2014
  1. Убедитесь, что в вашем редакторе установлено , используйте пробелы вместо вкладок .
  2. Выделите весь текст и нажмите CMD + I на Mac или CTRL + I на окнах.
14 голосов
/ 19 сентября 2008

Почему бы просто не использовать средство форматирования кода и / или функцию очистки? У него есть настройки, которые позаботятся об этом за вас. Вы даже можете запустить его автоматически при сохранении.

Редактировать: Как отмечает Петер Перхач в комментариях, это отвечает только на половину вопроса. У меня нет никакого практического опыта, но вы можете попробовать Maven Eclipse Format Plugin для форматирования из сборки Maven.

К сожалению, это только Maven, и я не знаю ни одного легковесного форматера командной строки. Но если вам случится использовать Maven, вы можете привязать цель форматирования к соответствующей фазе, и если вы установите Eclipse для автоматической сборки, она будет форматироваться при обновлении.

В зависимости от инструмента SCM (git, svn и т. Д.), Вы также можете создать хук, который запускает сборку (но для этого он может быть слишком тяжелым).

12 голосов
/ 19 сентября 2008

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

Вкладкам нет места в исходном коде. Если кто-то еще просматривает файл, для которого табуляция имеет другое значение, он все равно теряет большинство выравнивания / форматирования.

(Конечно, если у вас есть Makefile, которые вы редактируете напрямую, вам нужно убедиться, что их вкладки сохранены. Но в моих проектах, если make используется вообще, Makefile получен из другого источника, такого как Makefile.PL в Perl.)

3 голосов
/ 19 сентября 2008

Немного излишним, и только что-то, что можно попробовать с определенными продуктами репозитория, которые могут с этим справиться, но скрипт-ловушка для вызова отступа или astyle может сработать. Он будет форматировать каждый код одинаково для каждого файла, в зависимости от того, как вы пишете скрипт-ловушку, и, конечно, это должно быть предварительно зафиксировано.

1 голос
/ 12 февраля 2010

Вы можете потерять выравнивание / форматирование, используя символы табуляции вместо пробелов, если и только если вкладки находятся не в начале строки. Никогда не используйте вкладки внутри линий, всегда используйте вкладки в начале строк. Это позволяет вам использовать ваш редактор, чтобы приспособиться к желаемому уровню отступа, не влияя на представление файла сотрудниками. Задача: найдите пример, когда вкладки в начале строки теряют выравнивание.

0 голосов
/ 07 октября 2016

Я использую Eclipse для Java EE Developer 4.6.0 Neon. Я использую http://marketplace.eclipse.org/content/anyedit-tools

0 голосов
/ 12 февраля 2010

Я использую Kedit только для этой вещи. Он также изначально конвертирует текстовые файлы из Macintosh, UNIX и MS-Dos. Поскольку это более старый редактор, я использую один из его сценариев для обработки файлов Unicode. Возможно, вы захотите взглянуть на некоторые другие умные редакторы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...