Jalopy 在 Eclipse 下的使用

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

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

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

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

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

安装成功后编辑器中的右键菜单

Figure 1. 安装成功后编辑器中的右键菜单

2. 使用 3. 配置 Figure 2, “Jalopy的属性配置按钮”所示。

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

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

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

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

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

Jalopy的属性配置按钮

Figure 2. Jalopy的属性配置按钮

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

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

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

"Projects"的内容

Figure 3. "Projects"的内容

Figure 4, “"General"的内容”所示。

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

"General"的内容

Figure 4. "General"的内容

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

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

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

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

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

对于"Misc"的说明, 如

大括号的杂项的配置图解

Figure 5. 大括号的杂项的配置图解

4.2. 空格 Figure 6, “空格的配置图解”所示。

本节的具体配置如 如

空格的配置图解

Figure 6. 空格的配置图解

4.3. 缩进 Figure 7, “缩进的主要配置图解”所示。

分成主要配置和杂项两种。

主要配置 如

缩进的主要配置图解

Figure 7. 缩进的主要配置图解

Figure 8, “缩进的杂项配置图解”所示。

杂项配置 如

缩进的杂项配置图解

Figure 8. 缩进的杂项配置图解

4.4. 每行的折叠 Figure 9, “每行的折叠配置图解”所示。

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

每行的折叠配置图解

Figure 9. 每行的折叠配置图解

4.5. 空白行 Figure 10, “空白行的主要配置图解”所示。

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

空白行的主要配置图解

Figure 10. 空白行的主要配置图解

Figure 11, “空白行的杂项配置图解”所示。

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

空白行的杂项配置图解

Figure 11. 空白行的杂项配置图解

Figure 12, “空白行的注释相关配置图解”所示。

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

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

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(){
......
}
			

如果把

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

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

注释的配置图解

Figure 13. 注释的配置图解

4.7. import Figure 14, “imports的配置图解”所示。

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

imports的配置图解

Figure 14. imports的配置图解

4.8. 环境变量 Figure 15, “定义环境变量”所示。

排序深度指的是,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"的时候将它赋值。,如

定义环境变量

Figure 15. 定义环境变量

Table 1, “Jalopy的内置变量列表”所示。

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

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

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

Table 1. Jalopy的内置变量列表

名称

说明

例子

file

文件的完整文件名

/usr/projects/test/MyFile.java

fileName

文件名

MyFile.java

fileFormat

文件的内容格式,跟操作系统相关

UNIX 或DOS

package

文件的package名

com.foo.package

convention

当前使用的代码风格,在General中定义的。

my_own

tabSize

tab键的长度

4

objectType

类或接口的名称,只能在javadoc中使用。

MyClass

paramType

参数的名称,只能在javadoc中使用。

somePara

exceptionType

异常的名称,只能在javadoc中使用。

NullPointerException

4.9. javadoc Figure 16, “javadoc主要配置图解”所示。只定义了对所有public型的类,方法等生成javadoc, 并且将javadoc和注释中的特殊符号转换成HTML脱离符。

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

概要配置,如

javadoc主要配置图解

Figure 16. javadoc主要配置图解

Figure 17, “javadoc模板配置图解”所示。

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

javadoc模板配置图解

Figure 17. javadoc模板配置图解

4.10. 文件头 Figure 18, “header主要配置图解”所示。

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

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

header主要配置图解

Figure 18. header主要配置图解

4.11. 文件尾 Section 4.10, “文件头”完全一样。

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

用法跟

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

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

按声明排序的配置图解

Figure 19. 按声明排序的配置图解

4.13. 杂项 Figure 20, “杂项的配置图解”所示。

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

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

都是比较杂的选项,,如

杂项的配置图解

Figure 20. 杂项的配置图解

5. 代码检查功能 Figure 21, “不建议使用的功能”所示。

"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条建议。 如

不建议使用的功能

Figure 21. 不建议使用的功能

6. 显示消息的级别 参考书目
[Caution]不建议使用

原因有:

  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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值