This is an example IJ plugin written in Scala and managed by SBT.
Apart from basic IJ plugin structure this project also provides some example code to play with and demonstrate some IntelliJ platform API features.
Extended documentation on the build features such as packaging the artifact, uploading to plugin marketplace, etc. is covered by the sbt-idea-plugin readme
build.sbt
file in IntelliJ IDEA as a projectmyAwesomeFramework
run configurationintellijBuild
key in build.sbt contains version of the dependency on IDEA, you can change it.
intellijPlugins
key in build.sbt contains a dependency on the "Properties" IJ plugin
there's an external library dependency that will be packaged into your plugin distribution
Don't forget to replace the plugin name in build.sbt. You also need to change name in resources/META-INF/plugin.xml.
PopupDialogAction
creates an action under the "Tools" menuSimpleCompletionContributor
adds the "HELLO" completion item to the values of the properties filesFileOpenedListener
shows a popup when a file is opened in the editorApplicationHelloService
and ProjectHelloService
show examples of IJ platform service componentsMyToolWindowFactory
creates a new ToolWindow at the bottom of the window