Многоязычный форматированный код исходного кода командной строки

Есть ли в командной строке Unix-инструмент, который будет форматировать/отступать/удалять исходный код на разных языках? Меня особенно интересуют Java, JavaScript, PHP и XML, но в идеале он будет обрабатывать другие.

(Я не ищу что-то для создания разметки синтаксиса-подсветки, я уже знаю несколько инструментов, которые это делают.)

Ответ 2

Если вы установили параметры автоматического форматирования в качестве конкретных для проекта параметров в Eclipse, вы можете сделать что-то вроде:

/opt/local/eclipse/eclipse -nosplash
-application org.eclipse.jdt.core.JavaCodeFormatter
-verbose
-config .settings/org.eclipse.jdt.core.prefs
src/ tests/ doc/examples/

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

Источник: http://blogs.operationaldynamics.com/andrew/software/java-gnome/eclipse-code-format-from-command-line

Дополнительные примечания

В Mac OS X:

/Applications/eclipse/java-oxygen/Eclipse.app/Contents/MacOS/eclipse  -nosplash -application org.eclipse.jdt.core.JavaCodeFormatter -verbose -config ~/my-eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs MyClass.java

Ответ 4

Я всегда нашел форматировщик кода Vim отличным вариантом. Он знает много языков и может быть настроен под заказ.

Вы можете передать соответствующие команды в vim следующим образом:

vim MyClass.java <<< gg=G:wq

Пояснение:

  • gg=G форматирует файл
  • :wq сохраняет файл и возвращается в командную строку

Ответ 5

Vim обычно имеет автоматическую подсветку синтаксиса и доступен в большинстве систем на основе Unix при установке. Для форматирования и отступов в Vim я автоматически использую :set autoindent и :set tabstop=4 при запуске. autoindent сохраняет текущий отступ, когда вы начинаете новую строку, а tabstop устанавливает, насколько ваш код имеет отступ, когда вы нажимаете вкладку (только для отступов, для общей вкладки shiftwidth). Чтобы эти параметры были настроены всякий раз, когда вы запускаете Vim, поместите их в файл ~/.vimrc.

Ответ 6

Для XML и HTML я использовал htb.

Если вы пользователь Eclipse, тогда JTidy - это еще один вариант.

Для Java существует Jalopy.

Ответ 7

Итак, я предлагаю вашему вниманию Style Revisor, форматировщик исходного кода с графическим интерфейсом и интерфейсом командной строки. Он будет поддерживать разные языки, включая JavaScript и PHP. Если вас интересует использование командной строки, вы можете определить свой собственный стиль форматирования как аддон. Конечно, вы также можете использовать множество предопределенных стилей. Пример:

./Style\ Revisor --lang=PHP --style=GNU --path=~/to-your-project-root-dir

В настоящее время Style Revisor поддерживает два языка: C и Objective-C. Добро пожаловать: http://style-revisor.com/

С уважением.