IntelliJ Platform Plugin SDK Help

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

Before creating a theme project, make sure that development environment is set up.

Create Theme Plugin

Launch the New Project wizard via the File | New | Project... action and provide the following information:

  1. Select the IDE Plugin generator type from the list on the left.

  2. Specify the project Name and Location.

  3. Choose the Theme option in the project Type.

  4. As the JDK select the configured SDK.

  5. 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:

    my_theme ├── resources │ ├── META-INF │ │ └── plugin.xml │ │ └── pluginIcon.svg │ └── theme │ └── my_theme.theme.json └── my_theme.iml

    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 bundled in IntelliJ IDEA. The wizard can be used for both DevKit-based and Gradle-based plugins.

    Add Theme

    1. In the Project tool window, select the resources directory and invoke the context menu with the right click.

    2. Select the New | Plugin DevKit | Theme action.

      It is a good practice to include the name of the plugin in the created theme name.

    3. 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.

    4. 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.

      Last modified: 24 November 2022