玩转Eclipse — 自动代码规范化

2024-05-27 07:18

本文主要是介绍玩转Eclipse — 自动代码规范化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

http://www.firedragonpzy.com.cn/index.php/archives/4885?utm_source=tuicool&utm_medium=referral

大项目往往是有很多人一起完成的,然而每个人都有自己的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变量等。


这篇关于玩转Eclipse — 自动代码规范化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1006804

相关文章

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码

《在MyBatis的XML映射文件中<trim>元素所有场景下的完整使用示例代码》在MyBatis的XML映射文件中,trim元素用于动态添加SQL语句的一部分,处理前缀、后缀及多余的逗号或连接符,示... 在MyBATis的XML映射文件中,<trim>元素用于动态地添加SQL语句的一部分,例如SET或W

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

python多进程实现数据共享的示例代码

《python多进程实现数据共享的示例代码》本文介绍了Python中多进程实现数据共享的方法,包括使用multiprocessing模块和manager模块这两种方法,具有一定的参考价值,感兴趣的可以... 目录背景进程、进程创建进程间通信 进程间共享数据共享list实践背景 安卓ui自动化框架,使用的是

SpringBoot生成和操作PDF的代码详解

《SpringBoot生成和操作PDF的代码详解》本文主要介绍了在SpringBoot项目下,通过代码和操作步骤,详细的介绍了如何操作PDF,希望可以帮助到准备通过JAVA操作PDF的你,项目框架用的... 目录本文简介PDF文件简介代码实现PDF操作基于PDF模板生成,并下载完全基于代码生成,并保存合并P

SpringBoot基于MyBatis-Plus实现Lambda Query查询的示例代码

《SpringBoot基于MyBatis-Plus实现LambdaQuery查询的示例代码》MyBatis-Plus是MyBatis的增强工具,简化了数据库操作,并提高了开发效率,它提供了多种查询方... 目录引言基础环境配置依赖配置(Maven)application.yml 配置表结构设计demo_st

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python