Jalopy 在 Eclipse 下的使用

Jalopy是一款代码美化工具。它可以把胡乱无章的代码重新排版,变的好看整洁。使用简单。虽然目前停止了更新,推出了商业化的版本, 但Jalopy仍然是免费的。

Jalopy包含多种插件, Ant 的,Eclipse的,JBuilder的等等。本文介绍的只是Eclipse下的插件。您可以在 Jalopy主页找到所有相关的资源。

截止到2008-03-06,可以在这里下载:

安装很简单,可以参考这篇文章: Eclipse基础--使用links方式安装Eclipse插件

运行Eclipse之后,打开任意一个java文件,右键菜单中如果出现"Format with Jalopy"选项,说明安装成功。 如Figure 1, “安装成功后编辑器中的右键菜单”所示。

可以格式化一个文件,一个文件夹,或者整个项目。

  • 格式化一个文件:在任何打开的java文件中点右键,在弹出的菜单中,选择"Format with Jalopy"。

  • 格式化一个文件夹:在任何java文件夹(package)点右键,在弹出的菜单中,选择"Format Folder"或"Format Package"。

  • 格式化一个项目:在任何java项目点右键,在弹出的菜单中,选择"Format Project"。

在Eclipse中进行Jalopy配置也很容易,先用左键点"package Explorer"或"Navigator",然后点最上面那一行的"Window"->"Jalopy Preferences..." 如

Figure 2. Jalopy的属性配置按钮

Figure 3, “"Projects"的内容”所示。图中,自定义了一个新的项目:"my_own",并将它激活。
注意

一定要先点一下"Navigator"或者"Package Explorer",否则在java编辑器中,"Window"菜单中不会出现"Jalopy Preferences..."

在Jalopy中,每个配置文件都是以一个"project"来命名的。打开Jalopy控制面板后,在左边选项列表中选择"Projects",就可以看到当前 拥有的Project列表。可以使用"Add..." , "Remove" 来增加或删除项目。 想使用哪个项目(也就是使用哪个配置),就选中它,然后点"Activate"按钮。如

然后进入到"General"窗口,修改您要为该项目起的名字和描述。这里的名字跟Project中的名字不同,它是可以变的。如

Figure 4. "General"的内容

Figure 4, “"General"的内容”中,有"import"和"export"两个按钮,前者是将已经存在的配置导入进来,后者是将现在的这个配置导出成配置文件。 对于配置文件的切换与保存,都很方便。

完成上面两步,就可以进行自己的配置了。 :)

在导出成功后没有提示。也许是个小瑕疵。

这些配置都在Jalopy配置窗口中左侧的"Printer"下面。

也就是"{"和"}"。在"Braces"的General中,选择"Sun Java style"就可以了。

对于"Misc"的说明, 如

这里使用默认的就可以了。由于内容过于罗嗦,有需要的朋友去看英文文档吧。 如

主要配置使用默认的就可以了。由于内容过于罗嗦,有需要的朋友去看英文文档吧。基本每个不同的元素都空一行。 如

杂项配置这里使用默认的就可以了。 如

对于注释相关的配置这里使用默认的就可以了。 如

Figure 12. 空白行的注释相关配置图解

Figure 12, “空白行的注释相关配置图解”的窗口高度拉大一些,还能看到窗口下面的 "Fill Character",可以按照你的喜好来选择,是使用"-","=", "*", "/" 等不同的填充符号。

如果开启了"Add separator comments",那么你的代码会被格式化成这样:

//~ Static fields ------------------------------------------------------------
public static final String HELLO ="hello";
//~ Instance fields ----------------------------------------------------------
private int someVariable;
//~ Methods ------------------------------------------------------------------
public String getMethod(){
......
}
			

如果把

如同我们在很多开源项目中看到的这样。但是在国内用起来是否合适还不得而知。默认是不格式化。

可以删掉(增加注释在。。。)或格式化特定的注释。建议不要使用。如

可以对import进行排序,组合成*号的风格,或者拆分成独立的多个import风格。 其中排序时的深度可以指定。如

排序深度指的是,package从左到右第几个"."前的名字。如深度是1的排序:

import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;		
		

深度是2的排序:

import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionListener;

import java.util.ArrayList;
import java.util.List;				
			

深度是3的排序:

import java.awt.Color;
import java.awt.Component;

import java.awt.event.ActionListener;

import java.util.ArrayList;
import java.util.List;		
			

可以增加Jalopy能识别的环境变量,然后在"format"的时候将它赋值。,如

该作用用处不太大。建议使用Eclipse,我一般在它的代码模板定义变量。

"System"标签中的变量是系统变量,改不了。

另外,Jalopy也有内置变量,它们是在程序运行时自动获得, 如

包括概要配置,模板配置和自定义标签配置。

概要配置,如

模板配置可以对class, interface, method等内容进行设置。其中$paramType$ 和 $exceptionType$ 是Jalopy内置变量,不要改动。改"DOCUMENT ME!"那里就可以。,如

自定义标签配置基本没必要用。

可以对文件头(header)进行格式化,并且根据需要决定是否增加文件头。,如

在"Text"页签中,可以加入Header的具体内容,也可以使用各种变量。

用法跟

没见过使用文件尾的项目。-_-! 貌似没意义。。。

可以对类的成员进行排序,根据声明或关键字。两者都很相似,下面以按声明来排序为例子,,如

在"Modifier"页签中,与"Declarations"的使用方法一样。

是否需要排序见人见智,请根据需要来使用。

都是比较杂的选项,,如

"Insert expression parenthesises" : 为稍微复杂的表达式增加圆括号。看情况用吧。因为有的公司约定不要使用必要的大括号,会被checkstyle检查出来。 建议程序员自己控制。

"Insert serial verstion UID" : 继承了java.io.Serializable的类,都需要声明个uid, 可以这样自动生成。我一般使用Eclipse来生成。

"Insert logging conditional" : 为log的输出增加条件。这一点很有用。专业的log前面都需要加个条件, 如:if(logger.isDebugEnabled()){ ... } 这样可以提高效率,尤其是当log中输出的对象.toString()方法比较耗资源的时候。

在控制面板的"Code Inspector"中可以进行配置。其中在Tip 一栏中有19个提示,分别对应官方文档中引用《Effective Java》的19条建议。 如

不建议使用

原因有:

  1. 它只能检查代码,而不能修改。

    没有实现重构的功能,也没有checkstyle的检查那么好。 它的检查结果只是在"Problems"窗口中以"Warning"的形式显示出来。容易被忽视。

  2. 貌似不起作用。当我启用代码检查功能时(在Code Inspector窗口中的"Enable Code Inspector"前面打勾), 却无法检查出对应的错误。包括:命名不合规则。另外19个Tips给出的错误与官方文档的不符。(如16跟17好象弄混了? 而且官方的资料中这里应该有20个提示的选项……)

  3. 有了eclipse的自动重构功能和checkstyle的检查功能,没必要用它。

    重构时修改函数名,变量名,需要一步一步的来,用代码格式化工具来实现重构,不太合适。虽然想法很好。:)

 

在配置面板的"Messages"中可以进行配置。

使用默认的就好了。不要修改它。建议都是WARN。

[1] Jalopy User Manual. http://jalopy.sourceforge.net. Marco Hunsicker.

你可能感兴趣的:(eclipse,unix,ant,dos,JBuilder)