JetBrains
Output structure
Section titled “Output structure”After running unextension sync, the output/jetbrains/ directory contains:
output/jetbrains/ build.gradle.kts gradlew gradlew.bat gradle/wrapper/ gradle-wrapper.jar gradle-wrapper.properties src/main/ kotlin/com/unextension/ <Name>ToolWindowFactory.kt resources/ META-INF/plugin.xml webview/ # Your built web appRequirements
Section titled “Requirements”- Java 17 or higher must be installed and available on your
PATH
Gradle wrapper
Section titled “Gradle wrapper”By default, unextension sync downloads the gradle-wrapper.jar automatically. You can disable this in your config:
export default defineConfig({ // ... jetbrains: { downloadGradleWrapper: false, },})Building
Section titled “Building”Run unextension build jetbrains:
npx unextension build jetbrainsThis invokes the Gradle wrapper’s buildPlugin task to compile and package the plugin. The output is a .zip file inside output/jetbrains/build/distributions/.
Installing locally
Section titled “Installing locally”Via the UI
Section titled “Via the UI”- Open Settings → Plugins in your JetBrains IDE
- Click the ⚙️ gear icon → Install Plugin from Disk…
- Select the
.zipfile fromoutput/jetbrains/build/distributions/ - Restart the IDE when prompted
Via the CLI (Gradle)
Section titled “Via the CLI (Gradle)”cd output/jetbrains./gradlew runIdeThis launches a sandboxed IDE instance with your plugin installed for testing.
Publishing to the JetBrains Marketplace
Section titled “Publishing to the JetBrains Marketplace”1. Create a JetBrains account
Section titled “1. Create a JetBrains account”Sign up at plugins.jetbrains.com and create a new plugin listing.
2. Get an upload token
Section titled “2. Get an upload token”Go to your JetBrains Hub token page and generate a Permanent Token with the Plugin Repository scope.
3. Upload via Gradle
Section titled “3. Upload via Gradle”Add the publish task to output/jetbrains/build.gradle.kts:
publishPlugin { token.set(System.getenv("JETBRAINS_TOKEN"))}Then run:
cd output/jetbrainsJETBRAINS_TOKEN=<your-token> ./gradlew publishPlugin4. Upload manually
Section titled “4. Upload manually”Alternatively, go to your plugin page on plugins.jetbrains.com, click Upload Update, and select the .zip from output/jetbrains/build/distributions/.