Java按键美化,独立的Java代码格式化/美化/漂亮的打印机?

I'm interested in learning about the available choices of high-quality, stand-alone source code formatters for Java.

The formatter must be stand-alone, that is, it must support a "batch" mode that is decoupled from any particular development environment. Ideally, it should be independent of any particular operating system as well. So, a built-in formatter for the IDE du jour is of little interest here (unless that IDE supports batch mode formatter invocation, perhaps from the command line). A formatter written in closed-source C/C++ that only runs on, say, Windows is not ideal, but is somewhat interesting.

To be clear, a "formatter" (or "beautifier") is not the same as a "style checker." A formatter accepts source code as input, applies styling rules, and produces styled source code that is semantically equivalent to the original source code. Syntactic modifications are limited to things like modifying code layout as in changing whitespace, or organizing import statements. Very little, if any, other refactoring is performed. A style checker also applies styling rules, but it simply reports rule violations without producing modified source code as output. So the picture looks like this:

Formatter (produces modified source code that conforms to styling rules)

Read Source Code → Apply Styling Rules → Write Styled Source Code

Style Checker (does not produce modified source code)

Read Source Code → Apply Styling Rules → Write Rule Violations

Further Clarifications

Solutions must be highly configurable. I want to be able to specify my own style, not simply select from a preset list.

Also, I'm

I'm also not necessarily interested in a grand-unified formatter for many languages. I suppose it might be nice for a solution to have support for languages other than Java, but that is not a requirement.

I'm also not interested in a web service. I want a tool that I can run locally.

Finally, solutions need not be restricted to open source, public domain, shareware, free software, commercial, or anything else. All forms of licensing are acceptable.

解决方案

JIndent (Commercial) does what you want want:

I've also used Jalopy in the past to do this, it's open source:

EDIT: I will note that Jalopy is fairly old and there doesn't seem to be any recent updates to it. I'm not quite sure how it will work with Java 5/6. You might want to look at Jacobe instead:

There's also a more complete list of formatters here on Roedy Green's site:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值