Creating a Theme Project
This documentation page describes a DevKit-based theme project generated with the New Project Wizard.
Creating a Theme with New Project Wizard
Create Theme Plugin
Launch the New Project wizard via the action and provide the following information:
Select the IDE Plugin generator type from the list on the left.
Specify the project Name and Location.
Choose the Theme option in the project Type.
As the JDK select the configured SDK.
Click the Create button to generate the project.
Components of a Wizard-Generated Gradle IntelliJ Platform Theme
For the example my_theme
created with the steps describes above, the IDE Plugin generator creates the following directory content:
META-INF directory with:
plugin.xml configuration file containing preconfigured theme provider
pluginIcon.svg file that is a plugin logo
Replace it with a custom logo representing the Theme.
my_theme.theme.json - a minimal theme description file
my_theme.iml - IntelliJ IDEA Module configuration file
See Theme Structure for more details.
Additional Plugin Themes
Theme plugin project created with the new project wizard contains a single theme description file by default. In case a plugin needs to provide multiple themes (e.g., dark and light variants), it is possible to add them with the dedicated action.
Additional plugin themes can be added using the DevKit Theme Wizard, which is a part of the Plugin DevKit plugin. The wizard can be used for both DevKit-based and Gradle-based plugins.
Add Theme
In the Project tool window, select the resources directory and invoke the context menu with the right click.
Select the
action.It is a good practice to include the name of the plugin in the created theme name.
Check the Dark theme checkbox if the created theme should be based on IntelliJ IDEA Darcula theme. Otherwise, the Light theme will be used as the base.
Click OK button to generate the theme description file with $THEME_NAME$.theme.json name. The generated theme will be automatically configured in the plugin.xml file.
Bundling Color Schemes
Use com.intellij.bundledColorScheme
extension point specifying the path
to the color scheme XML file (without .xml
suffix). Specify attribute id
for this extension in plugin.xml matching its name
attribute value from the color scheme XML.