Имеется ли в директории, содержащей дерево исходных текстов, простой способ из командной строки заменить каждый исходный файл его красиво переформатированным эквивалентом?
Помните, что обычно исходное дерево проекта также содержит файлы, которые не являются исходными, и сами источники могут быть на разных языках.
Я ищу какой-нибудь инструмент, который поддерживает как можно больше языков, потому что проект обычно содержит источники на разных языках. В частности, я бы искал что-то, поддерживающее xml / html, javascript, ruby и java.
Ответы:
Вы можете использовать vim в режиме ex и command из терминала.
Чтобы сделать отступ для одного файла:
Для рекурсивного отступа файлов создайте следующий скрипт:
indent-with-vim.sh
Теперь введите:
Vim сделает все возможное, чтобы заново создать файлы. Вы можете улучшить некоторые конкретные типы файлов.
Для XML:
Установить
xmllint
Добавить к вашему.vimrc
Чтобы улучшить форматирование PHP:
Загрузите http://www.vim.org/scripts/download_script.php?src_id=15001 (он загрузит файл с именем php.vim)
Создайте следующие каталоги у себя дома:
~/.vim/indent
И скопировать
php.vim
в~/.vim/indent
Если вы не удовлетворены результатом для любого типа файла, вы можете поискать альтернативы в Интернете (например, htb для HTML, https://github.com/vim-ruby/vim-ruby для улучшений для Ruby и т. Д. ).
В любом случае для улучшения отступа вы бы использовали метод .vimrc или файл отступа foo.vim.
Кроме того, вы можете изменить параметры поиска для применения только к некоторым конкретным типам, таким как:
источник
Установите
indent
пакет, а затем запустите программу на файлы.источник
Не свободная, не командная строка, вероятно, слишком сложная, но IntelliJ Idea - это IDE, способная сделать это. Я не тестировал его с java или ruby, но он неплохо работает с проектом django (python + javascript + HTML).
Он также имеет довольно обширный набор опций для настройки того, что нужно переформатировать.
Если это разовая проблема, вы можете скачать пробную версию бесплатно.
Это скриншот вариантов формата HTML. Он взят из PyCharm (версия с ограниченным числом Python, здесь нет поддержки ruby или java), так как это то, что я использую, но IntelliJ должен быть таким же, но поддерживать гораздо больше языков.
источник
Google Java Format
Переформатирует исходный код Java в соответствии с Google Java Style:
https://github.com/google/google-java-format
Подсказки:
--replace
опцию вместе сxargs
sponge
чтобы вы могли напрямую перезаписать входной файлисточник