# Creating a Plugin Project

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

The recommended approach to creating a plugin is the IDE Plugin wizard available in IntelliJ IDEA. The wizard is available when Gradle and Plugin DevKit plugins are [installed and enabled](https://www.jetbrains.com/help/idea/managing-plugins.html).

It is also possible to create plugins via the web [IDE Plugin generator](https://plugins.jetbrains.com/generator).

> **Note:**
> This page describes the wizard available in IntelliJ IDEA 2026.1 and newer.
>
>
>
> The IDE Plugin wizard available in older versions may differ in available options. If the newest IDE cannot be used, consider generating a project via the [web generator](https://plugins.jetbrains.com/generator) and opening the generated project in the IDE.

Procedure: Create an IDE Plugin

Launch the [New Project](https://www.jetbrains.com/help/idea/new-project-wizard.html) wizard via the `File | New | Project...` action and follow these steps:

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

2. Specify the project Name and Location.

3. Choose the Plugin option in the project Type.

4. Provide the Group which is typically an inverted company domain (e.g. `com.example.mycompany`).

It is used for the Gradle property `project.group` value in the project's Gradle build script, the base project package name, and the generated plugin ID.

5. Provide the Artifact, which is the default name of the build project artifact (without the version).

It is used for the Gradle property `rootProject.name` value in the project's `settings.gradle.kts` file, plugin name, and the generated plugin ID.

6. Select a JDK matching the required Java version.

It will be the default JRE used to run Gradle, and the JDK used to compile the plugin sources. Currently, the generated project targets the platform version compatible with JDK 21.

> **Note:**
> If supporting an older platform version is planned, configure the JDK version compatible with the [target platform version](build-number-ranges.html#platformVersions).

7. Enable the Add sample code checkbox to generate a sample tool window code.

8. Click the Next button.

9. Select Features to include in the generated plugin.

> **Note:**
> New plugin projects should be implemented in a way that supports working in [Remote Development mode](split-mode-and-remote-development.html). It is highly recommended to select the Split Mode (Remote Dev) feature.

10. Click the Create button to generate the project.

The created project structure is described in the `README.md` file in the Project structure section.

## Running the Plugin

> **Note:**
> If the Add sample code checkbox was not checked during the project generation, add sample code. For example, follow the [Creating Actions](creating-actions-tutorial.html) tutorial to add a menu action.

Classic Plugin:

The generated project contains the Run IDE with Plugin [run configuration](https://www.jetbrains.com/help/idea/run-debug-configuration.html) that can be executed via the `Run | Run...` action or can be found in the Gradle tool window under the Run Configurations node.

To execute the Gradle `runIde` task directly, open the Gradle tool window and search for the runIde task under the Tasks node. If it's not on the list, click the Sync All Gradle Projects button on the [toolbar](https://www.jetbrains.com/help/idea/jetgradle-tool-window.html#gradle_toolbar) at the top of the Gradle tool window. Then double-click it to execute.

Split Mode (Remote Dev) Plugin:

The generated project contains the Run IDE with Plugin (Split Mode) [run configuration](https://www.jetbrains.com/help/idea/run-debug-configuration.html) that can be executed via the `Run | Run...` action.

Alternatively, run Run IDE with Plugin (Backend) and Run IDE with Plugin (Frontend) separately.

To execute the Gradle tasks directly, open the Gradle tool window and search for the runIdeBackend and runIdeFrontend tasks under the Tasks node. If they are not on the list, click the Sync All Gradle Projects button on the [toolbar](https://www.jetbrains.com/help/idea/jetgradle-tool-window.html#gradle_toolbar) at the top of the Gradle tool window. Then double-click tasks to execute.

To debug a plugin in a standalone IDE instance, please see [How to Debug Your Own IntelliJ IDEA Instance](https://medium.com/agorapulse-stories/how-to-debug-your-own-intellij-idea-instance-7d7df185a48d) blog post.

> **Tip:**
> For more information about how to work with Gradle-based projects see the [Working with Gradle in IntelliJ IDEA](https://www.youtube.com/watch?v=6V6G3RyxEMk) screencast and working with [Gradle tasks](https://www.jetbrains.com/help/idea/work-with-gradle-tasks.html) in the IntelliJ IDEA help.

