# Getting Started

> For the complete documentation index, see [llms.txt](https://plugins.jetbrains.com/docs/intellij/llms.txt).

Custom themes allow designers to control the appearance of built-in UI elements. The customization options include:

* substitute icons,

* change the colors of icons and UI controls,

* alter the borders and insets of UI controls,

* provide custom editor schemes,

* add background images.

The [themes available for download](https://plugins.jetbrains.com/search?headline=164-theme&tags=Theme) illustrate the creative possibilities.

> **Tip:**
> See the [Themes in IntelliJ-based IDEs](https://blog.jetbrains.com/platform/2021/10/themes-in-intellij-based-ides/) blog post for an overview (available in multiple languages).

## Theme Plugin Development

Themes can be developed by using [IntelliJ IDEA](https://www.jetbrains.com/idea/download/) as the IDE (it is highly recommended to use the latest available version). Both include the complete set of development tools required to develop theme plugins. To become more familiar with IntelliJ IDEA, please refer to the [IntelliJ IDEA Web Help](https://www.jetbrains.com/idea/help/).

A theme is one of the [plugin types](plugin-types.html#themes). Its structure doesn't significantly differ from plugins extending IDE behavior and can be implemented by using one of the supported approaches: DevKit or Gradle. The choice of the development approach depends on the project requirements and developer's experience.

### DevKit-Based Theme Project

Developing theme plugins with DevKit is the simplest solution and does not require experience with Gradle or similar build tools. The DevKit project structure is generated by default when an IDE Plugin theme project is created by using the New Project Wizard.

See the [Developing a Theme](developing-themes.html) section for the development instructions.

### Gradle-Based Theme Project

Developing theme plugins with Gradle requires experience with the Gradle or a similar build tool. It offers the possibility of automating some parts of the development process, like patching `[plugin.xml](plugin-configuration-file.html)` file with the theme plugin version and other data, as well as building the plugin distribution on CI servers and publishing it to [JetBrains Marketplace](https://plugins.jetbrains.com).

If the project requires any of the mentioned capabilities, see [Developing a Plugin using Gradle](developing-plugins.html) for more details.

> **Note:**
> The recording of Busy Plugin Developer. Episode 3 shows how to [create a new theme](https://youtu.be/9J0j-90dC60?t=582) using the Gradle approach.

