您的位置:首页 > 编程语言 > Java开发

玩转Eclipse — 自动代码规范化

2013-09-05 18:48 465 查看
        大项目往往是有很多人一起完成的,然而每个人都有自己的style,导致整个项目的代码不仅存在不符合语言规范的情况,而且读起来非常困难。因此,这样的项目中都会引入Checkstyle,来规范大家的编码风格,尽量做到统一和合理。我们在代码写完之后,还要花时间去手动解决Checkstyle提示的问题,这是一个非常无聊和耗时的工作。下面介绍如何利用Eclipse配置,在我们写完代码并保存之后,Eclipse就会自动帮我们解决Checkstyle问题。

1. Formatter设置

        Eclipse工具栏上选择Window -> Preferences -> Java -> Code Style -> Formatter,进入如下界面:



        Active profile中显示的是当前正在使用的代码自动格式化配置。点击“Export All...”按钮可以导出Eclipse中的代码自动格式化配置,点击“Import...”按钮可以导入本地已有的配置文件,导入和导出的文件都是xml格式。可以点击“New...”按钮,在Eclipse中的一个已有配置基础上,新建一个自己的配置。

        下面重点介绍如何进行代码自动格式化配置。点击“Edit...”按钮,进入如下Formatter配置界面:



        上面红色框标记的选项卡中,是所有可以配置的选项。下面对每个选项卡大致可以设置的内容进行简单介绍:

Indentation缩进

             Tab policy指定是否可以使用Tab键,有Spaces only(只支持空格键),Tabs only(只支持Tab键)和Mixed(同时支持空格键和Tab键)。为了保证代码在不同IDE和运行环境的兼容性和一致性,强烈建议选择Spaces only。Indentation size指定每次缩进多少个空格,Tab size指定一个Tab键相当于多少个空格。在Spaces only情况下,按Tab键,会自动转化成对应数量的空格。

             Align fields in columns指定属性是否按列对齐。

             Indent框中指定Java Code中常见元素是否缩进。

Braces大括号

             Braces positions指定Java Code中一些元素的大括号的位置,大概有Same line(同行),Next line(下行),Next line indented(下行缩进)等选择。

White Space空格

             控制在Declarations、Control statements、Expressions、Arrays和Parameterized types这几类元素中的相应位置插入空格。

Blank Lines空行

             控制class文件中元素之间空行的数量,基本上采用默认值。

New Lines新行

             控制class文件中元素是否插入新的一行。

Control Statements控制语句

             控制像if和else,do和while,以及try、catch和finally成套的控制关键字的位置。

Line Wrapping换行

             Maximum line width控制每行的最大字符数。

             Default indentation for wrapped lines指定换行时缩进多少个空格。

             还可以详细控制class各元素是否换行。

Comments注释

             对各种注释(包括文件头注释,行注释,块注释,Javadoc注释)进行格式设置。

2. Save Actions设置

             进行Formatter设置后,你就可以使用Ctrl + Shift + F或者Source -> Format格式化选择的代码。其实,还有一种更好的方法,在每次写完代码并保存class文件的时候,自动格式化该文件的代码。选择Window -> Preferences -> Java
-> Editor -> Save Actions进入如下界面:



             选择“Perform the selected actions on save”以及下面的三个复选框,其中“Format source code”就是根据前面设置的Formatter对Save文件中的代码进行自动格式化,可以选择仅针对修改过的代码还是针对所有代码。“Additional actions”是添加一些Save时的额外操作,可以点击“Configure...”按钮对额外操作进行设置,设置界面如下:



Code Organizing代码组织

             可以设置删除末尾的空格,正确的缩进,以及对成员进行排序。

Code Style代码风格

             可以设置控制语句和表达式,最重要的是还可以设置所有的parameter为final。

Member Access成员访问

             设置是否需要this来访问非static的属性和方法,同时也可以设置static的属性和方法。

Missing Code遗漏代码

             设置是否是否补齐遗漏的“@Override”和“@Deprecated”。

Unnecessary Code不必要代码

             删除不必要的代码,例如:没用的import,没用的private成员,没用的local变量等。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息