Code formatting rules for Android Studio
- Based on googles java code style (https://git.io/v5XuB)
- Hungarian Notation (m-Prefix)
- No star imports except for testing libraries
- Increase the line length to 118 (default 100)
android:id
afterxmlns
declaration in XML layouts- Keep lifecycle methods together
- Keep getters and setters together
- Advanced code Arrangement rules for Java (Sort methods alphabetically (a-z) and by visibility (
public
-private
))- Inner classes (classes, interfaces, enums)
- Fields (grouped by visibility, a-z)
- public static methods (a-z)
- Constructors
- Android Lifecycle methods in correct order
- Methods (grouped by visibility, a-z)
- static methods (grouped by visibility (except public), a-z)
- Official Kotlin Code Style
Just run the install
script.
It will automatically copy the latest Code Style to each existing AndroidStudio
and AndroidStudioPreview
version you have installed.
- Copy the
grandcentrix.xml
into (MacOS)~/Library/Preferences/AndroidStudio{VERSION}/codestyles/
or (Linux)~/.AndroidStudio{VERSION}/config/codestyles/
- Restart AndroidStudio
- Select the codestyle scheme via
Preferences --> Editor --> Code Style
.
The codestyle will be enabled/used for all projects that are used with AndroidStudio!
If the codestyle is added to the git repository and IntelliJ is configured accordingly each project can have it's own style.
- Install the
grandcentrix.xml
locally (see above) - Restart AndroidStudio
- In AndroidStudio, go to
Preferences --> Editor --> Code style
- Open the scheme list by clicking on the
Scheme:
drop down - From the
Stored in the IDE
section selectgrandcentrix
- Click the cogwheel just on the right and select
Copy to project
- Confirm overwriting project settings with the new scheme
Finally add the code style to the git repository:
git add -f .idea/codestyles/Project.xml .idea/codestyles/codeStyleConfig.xml
To contribute just change the code style locally to your needs. Then you can create a PR to this repository.
The PR should always contain:
- Some information what have changed.
- A updated
grandcentrix.xml
.