Assist in Spring application development - Adds support for start initializr, autocomplete Spring Boot/Cloud configuration key/value, Spring reference configuration, Spring metadata documentation.(Support: Java, Kotlin, application.yml and bootstrap.properties)
- Allows you to bootstrap new project & new module using
File-> New-> Project-> Spring Initializr
&File-> New-> Module-> Spring Initializr
wizards.
- Autocompletion of the configuration properties in your
yaml
/properties
files based on the spring boot's autoconfiguration jars are present in the classpath - Auto-completion of the configuration properties in your
yaml
/properties
files if you have classes annotated with@ConfigurationProperties
, if your build is properly configured - Short form search & search for element deep within is also supported. i.e,
sp.d
will show youspring.data
,spring.datasource
, also,port
would showserver.port
as a suggestion - Quick documentation for groups & properties (not all groups & properties will have documentation, depends on whether the original author specified documentation or not for any given element)
- Ctrl+click to go to property or code
- Goto placeholder
Assuming that you have Spring boot's autoconfiguration jars are present in the classpath, this plugin will automatically allows you to autocomplete
properties as suggestions in all your yml
files
Suggestions would appear as soon as you type/press Ctrl+Space
.
Short form suggestions are also supported such as, sp.d
will show you spring.data
, spring.datasource
, e.t.c as suggestions that make your typing
faster
In addition to libraries in the classpath, the plugin also allows you to have your own @ConfigurationProperties
available as suggestions in all
your yml
files.
For this to work, you need to ensure the following steps are followed for your project/module
- Make sure
Enable annotation processing
is checked underSettings > Build, Execution & Deployment > Compiler > Annotation Processors
- Make sure you add the following changes to your project
Add the following build configuration. You can use the propdeps-plugin for optional
scope (as we dont need spring-boot-configuration-processor
as a dependency in the generated jar/war)
dependencies {
annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
}
compileJava.dependsOn(processResources)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
- (OPTIONAL) If intellij is generating build artfacts to
output
directory instead of gradle's defaultbuild
directory, then you may need toFile | Settings | Build, Execution, Deployment | Build Tools | Gradle | Runner => Delegate IDE build/run actions to gradle
& restart the IDE. This will ensure that gradle plugin generates metadata & Intellij is pointing to it
directory where the above setup is done. These samples allow properties from
@ConfigurationProperties
to be shown as suggestions
After changing your custom
@ConfigurationProperties
files, suggestions would be refreshed only after you trigger the build explicitly using keyboard (Ctrl+F9
)/UI
- If two groups from different auto configurations conflict with each other, the documentation for the group picked is random & undefined
- If a group & property represent the depth, the behaviour of the plugin is undefined.
To install the plugin open your editor (IntelliJ) and hit:
File > Settings > Plugins
and click on theBrowse repositories
button.- Look for
Spring Boot Helper
the right click and selectDownload plugin
. - Finally hit the
Apply
button, agree to restart your IDE and you're all done!
Feel free to let me know what else you want added via the issues