是否有一个命令行Unix工具可以格式化/缩进/美化不同语言的源代码?我对Java,JavaScript,PHP和XML特别感兴趣,但理想情况下它会处理其他人。
(我不是在寻找能够生成语法高亮标记的东西;我已经知道有一些工具可以做到这一点。)
答案 0 :(得分:5)
答案 1 :(得分: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。 :)
在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
答案 2 :(得分:2)
我总是发现Vim的代码格式化程序是一个很好的选择。它知道许多语言,可以合理定制。
您可以将相关命令传递给vim,如下所示:
vim MyClass.java <<< gg=G:wq
说明:
gg=G
格式化文件:wq
保存文件并返回命令提示符答案 3 :(得分:1)
答案 4 :(得分:0)
Vim通常具有自动语法突出显示功能,并且在安装时可在大多数基于Unix的系统上使用。对于Vim中的格式化和缩进,我在启动时会自动使用:set autoindent
和:set tabstop=4
。当您开始换行时,autoindent
会保留您当前缩进的位置,而tabstop
会设置当您按Tab键时缩进代码的数量(仅用于缩进,一般用于标签shiftwidth
})。要在启动Vim时配置这些选项,请将它们放在~/.vimrc
文件中。
答案 5 :(得分:0)
答案 6 :(得分: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/
此致。