You can customize some options to meet your needs. To do so, create a .prettierrc.yml
file at the root of your project with:
# Prettier configuration
overrides:
- files:
- "*.java"
options:
printWidth: 140
tabWidth: 4
useTabs: false
trailingComma: false
Please refer to the Prettier configuration documentation for more information.
To share your Git Hooks, we would suggest to follow this procedure:
- Create a
package.json
file. For instance:echo "{}" > package.json
- Install Husky, Lint-staged, Prettier, the Prettier Java plugin locally
npm install --save-dev husky lint-staged prettier prettier-plugin-java
- Add the following to your
package.json
:"husky": { "hooks": { "pre-commit": "lint-staged" } }, "lint-staged": { "*.{,java}": [ "prettier --write", "git add" ] }
Please refer to the Prettier Pre-commit Hook documentation for more information.
There are no IDE extensions to use directly Prettier Java for the moment. There are however some alternatives in VSCode or Intellij.
The easiest way to use Prettier-Java in you IDE is to install it locally (npm install prettier prettier-plugin-java --save-dev
) and install the Prettier extension related to your IDE.
Please refer to the Prettier Editor integration documentation for more information.
You can also use File Watcher to reformat your code on save. We will describe the procedure to to this in the VSCode and IntelliJ based IDEs.
In VSCode, install the File Watcher extension, and add to your settings, if you have installed the prettier and prettier-plugin-java packages locally:
"filewatcher.commands": [
{
"match": "\\.java",
"isAsync": true,
"cmd": "npx prettier --write ${file}",
"event": "onFileChange"
}
]
If you have installed the prettier and prettier-plugin-java packages globally, replace npx prettier --write ${file}
command by prettier --write ${file}
.
Open your Preferences. Then, go to the Tools/File Watchers
section and create a Watcher. To configure it, fill the form with these values:
- Name:
Prettier Java
- File Type:
Java
- Program:
npx prettier
if you have installed the prettier and prettier-plugin-java packages locally. Replace byprettier
otherwise. - Arguments:
--write $FilePathRelativeToProjectRoot$
- Output path to refresh:
$FilePathRelativeToProjectRoot$
- Trigger the watcher on external changes:
checked
Please refer to the Prettier "Using File Watchers" documentation for more information.