We would absolutely love to get the community involved, and we welcome any form of contributions – comments and questions on different communication channels, issues and pull request and anything that you build and share using our components.
- Communication is primarily done using issues.
- If you need support as soon as possible and you can't wait for any pull request, feel free to use our support.
- As a last resort measure or on otherwise important matter you may also contact us directly.
- Report bugs
Create an issue or send a pull request - Send pull requests
If you want to contribute code, check out the development instructions below.- However when contributing new features, please first discuss the change you wish to make via issue with the owners of this repository before making a change. Otherwise your work might be rejected and your effort was pointless.
We also encourage you to read the contribution instructions by GitHub.
You should have the following things installed:
- Git
- Java 21 - should be as unmodified as possible (Recommended: Eclipse Adoptium)
- Gradle (shipped inside the repo as Gradle Wrapper - also available inside IntelliJ)
- Install
IntelliJ
(Community Edition is sufficient)- Install the following plugins:
- Save Actions - Provides save actions, like running the formatter or adding
final
to fields - SonarLint - CodeStyle/CodeAnalysis
- Checkstyle-IDEA - CodeStyle/CodeAnalysis
- Plugin DevKit - IntelliJ Plugin development
- Save Actions - Provides save actions, like running the formatter or adding
- Import the project
- Ensure that everything is encoded in
UTF-8
- Ensure that the JDK/Java-Version is correct
- Install the following plugins:
See also JetBrains Docs for developing IntelliJ Plugins
The plugin is built with gradle, but you don't need to install it if you build with the IntelliJ gradle plugin (check out the prerequisites). If you don't intend to use the IntelliJ gradle plugin, you can use native gradle (replace ./gradlew
by gradle
).
Start idea and import the build.gradle
file with "File > Open". Then in the "Import Project from Gradle" window, make sure you check "Use gradle 'wrapper' task configuration" before clicking "Finish". You now have a gradle wrapper installed (gradlew
) that you can use on the command line to generate idea folders:
# Initialize idea folders
./gradlew cleanIdea idea
IntelliJ should refresh and the project is now configured as a gradle project. You can find IntelliJ gradle tasks in "Gradle > Gradle projects > template-placeholder > Tasks > intellij". To run the plugin, use the runIde
task:
# Run the plugin (starts new idea)
./gradlew runIde
Before releasing:
- Consider doing a test-deployment before actually releasing.
- Check the changelog
If the develop
is ready for release, create a pull request to the master
-Branch and merge the changes
When the release is finished do the following:
- Merge the auto-generated PR (with the incremented version number) back into the
develop