14

是否有一个命令行 Unix 工具可以格式化/缩进/美化不同语言的源代码?我对 Java、JavaScript、PHP 和 XML 特别感兴趣,但理想情况下它会处理其他的。

(我不是在寻找生成语法高亮标记的东西;我已经知道一些可以做到这一点的工具。)

4

7 回答 7

4

艺术风格。 http://astyle.sourceforge.net/

于 2010-11-08T19:04:28.320 回答
4

我一直发现 Vim 的代码格式化程序是一个不错的选择。它知道多种语言并且可以合理地定制。

您可以像这样将相关命令通过管道传输到 vim 中:

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

解释:

  • gg=G格式化文件
  • :wq保存文件并返回命令提示符
于 2009-11-13T20:21:01.257 回答
3

如果您已将自动格式化选项设置为 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
于 2012-02-23T11:47:33.067 回答
1

签出indentenscript

于 2009-11-13T20:05:54.850 回答
0

Vim 通常具有自动语法高亮功能,并且在您安装时可在大多数基于 Unix 的系统上使用。对于 Vim 中的格式化和缩进,我在启动时自动使用:set autoindentand :set tabstop=4autoindent当你开始一个新的行时保持你当前的缩进,并tabstop设置你的代码在你按下制表符时缩进多少(仅用于缩进,对于一般使用的制表符shiftwidth)。要在启动 Vim 时配置这些选项,请将它们放在一个~/.vimrc文件中。

于 2010-11-08T19:15:44.413 回答
0

对于 XML 和 HTML,我使用了 htb

如果您是 Eclipse 用户,那么JTidy是另一个选择。

对于 Java,有Jalopy

于 2011-02-01T14:24:04.850 回答
0

因此,我提请您注意 Style Revisor,具有 GUI 和命令行界面的源代码格式化程序。它将支持不同的语言,包括 JavaScript 和 PHP。如果您对命令行使用感兴趣 - 您可以将自己的格式化样式定义为插件。当然,您也可以使用许多预定义的样式。例子:

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

目前,Style Revisor 支持两种语言:C 和 Objective-C。欢迎访问:http ://style-revisor.com/

真挚地。

于 2012-03-12T16:00:57.733 回答