Подтвердить что ты не робот

Конвертирование вкладок и пробелов

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

  • Убедитесь, что у вашего редактора установлен пробелы вместо вкладок.
  • Выберите весь текст и нажмите CMD + I на Mac или CTRL + I на окнах.

Ответ 3

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

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

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

Ответ 4

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

Ответ 5

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

Ответ 6

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