Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.
A Prettier plugin must first parse the source code of the target language into a traversable data structure (Usually an Abstract Syntax Tree) and then print out that data structure in a "pretty" style.
Prettier-Java uses a Java-Parser implemented in JavaScript using the
Chevrotain Parser Building Toolkit for JavaScript.
What this means is that unlike many other Prettier plugins,
prettier-java
has no additional runtime pre-requisites (e.g: Python executable).
It could even be used inside a browser.
This project contains 2 packages:
-
prettier-plugin-java A plugin for Prettier to format Java code
-
java-parser A Java Parser using Chevrotain which output a Concrete Syntax Tree
- Node version 10+
- Prettier
# Local installation
npm install prettier-plugin-java --save-dev
# Or globally
npm install -g prettier prettier-plugin-java
or with yarn:
# Local installation
yarn add prettier-plugin-java --dev
# Or globally
yarn global add prettier prettier-plugin-java
Note: If you want to install the prettier-plugin-java globally, you should also install the prettier package globally.
To reformat all your Java files, run:
# If you have installed the package locally
npx prettier --write "**/*.java"
# Or globally
prettier --write "**/*.java"
To see an advanced usage: please go to the Advanced Usage section
A neat maven plugin for prettier-java was made by developers from HubSpot.
It is currently available at:
<plugin>
<groupId>com.hubspot.maven.plugins</groupId>
<artifactId>prettier-maven-plugin</artifactId>
<!-- Find the latest version -->
<version>0.8</version>
</plugin>
If you would like to use this plugin, we recommend you to check their project as is it well documented.
Contributions are very welcome. See the contribution guide to get started. And the Help Wanted issues.
Special thanks to @thorbenvh8 for creating the original prettier-java
plugin and the associated Java Parser implemented in JavaScript.
We would also like to thank the Chevrotain and Prettier contributors which made this possible.