Вопрос

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

Это было полезно?

Решение

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

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

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

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

Другие советы

  1. Убедитесь, что ваш редактор настроен на используйте пробелы вместо табуляции.
  2. Выделите весь текст и нажмите КМД + я на Mac или CTRL + я на окнах.

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top