diff --git a/README.md b/README.md
index cb66c48..16529da 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,24 @@ This plugin aims to closely emulate the VSCode theme within the IDE, simplifying
**For Best Viewing Experience:**
- Plugins: VSCode Theme + Rainbow Brackets
+#### Islands UI
+
+The VSCode Dark, VSCode Dark Modern, and VSCode Light Modern themes use the JetBrains Islands UI on IDE version 2025.2.3 and later. After installing the plugin, select the desired theme under Settings/Preferences > Appearance & Behavior > Appearance > Theme. You can optionally enable Different tool window background for stronger editor focus.
+
+### Build with Docker
+
+Docker and Docker Compose are enough; the Compose service provides JDK 21 and Gradle 8.13:
+
+```bash
+docker compose run --rm build
+```
+
+The plugin ZIP is written to `build/distributions/`. To run other Gradle tasks, override the service command, for example:
+
+```bash
+docker compose run --rm build ./gradlew test --no-daemon
+```
+
### Supported Languages
- Advance Syntax highlighting Support:
- JavaScript, TypeScript, Java, Dart/Flutter, Rust, Python, Kotlin, C#/F#, Php, Go
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..9708b83
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,13 @@
+services:
+ build:
+ image: gradle:8.13-jdk21
+ working_dir: /workspace
+ volumes:
+ - .:/workspace
+ - gradle-cache:/home/gradle/.gradle
+ environment:
+ GRADLE_USER_HOME: /home/gradle/.gradle
+ command: ["./gradlew", "buildPlugin", "--no-daemon"]
+
+volumes:
+ gradle-cache:
diff --git a/gradle.properties b/gradle.properties
index 20249aa..2092bc6 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -7,12 +7,12 @@ pluginName = VSCode Theme
pluginVersion = 1.12.0
# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html
-pluginSinceBuild=251
+pluginSinceBuild=252
pluginUntilBuild =
# IntelliJ Platform Properties -> https://github.com/JetBrains/gradle-intellij-plugin#intellij-platform-properties
platformType = IU
-platformVersion = 2025.1
+platformVersion = 2025.2.3
# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html
#platformPlugins = JavaScript, com.intellij.java, io.flutter:75.1.4, Dart:232.9559.10, PsiViewer:232.2, \
diff --git a/src/main/kotlin/com/github/dinbtechit/vscodetheme/annotators/settings/DartColorSettingsPage.kt b/src/main/kotlin/com/github/dinbtechit/vscodetheme/annotators/settings/DartColorSettingsPage.kt
index 725aad7..70eb4a0 100644
--- a/src/main/kotlin/com/github/dinbtechit/vscodetheme/annotators/settings/DartColorSettingsPage.kt
+++ b/src/main/kotlin/com/github/dinbtechit/vscodetheme/annotators/settings/DartColorSettingsPage.kt
@@ -38,7 +38,7 @@ class DartColorSettingsPage : BaseColorSettings() {
}
override fun getIcon(): Icon {
- return DartFileType.INSTANCE.icon
+ return DartFileType.INSTANCE.icon ?: AllIcons.FileTypes.Any_type
}
diff --git a/src/main/kotlin/com/github/dinbtechit/vscodetheme/annotators/settings/KtColorSettingsPage.kt b/src/main/kotlin/com/github/dinbtechit/vscodetheme/annotators/settings/KtColorSettingsPage.kt
index eb55371..fef5f53 100644
--- a/src/main/kotlin/com/github/dinbtechit/vscodetheme/annotators/settings/KtColorSettingsPage.kt
+++ b/src/main/kotlin/com/github/dinbtechit/vscodetheme/annotators/settings/KtColorSettingsPage.kt
@@ -2,6 +2,7 @@ package com.github.dinbtechit.vscodetheme.annotators.settings
import com.github.dinbtechit.vscodetheme.annotators.JavaAnnotator
+import com.intellij.icons.AllIcons
import com.intellij.lang.Language
import com.intellij.openapi.editor.colors.TextAttributesKey
import com.intellij.openapi.fileTypes.SyntaxHighlighter
@@ -38,7 +39,7 @@ class KtColorSettingsPage : BaseColorSettings() {
}
override fun getIcon(): Icon {
- return KotlinFileType.INSTANCE.icon
+ return KotlinFileType.INSTANCE.icon ?: AllIcons.FileTypes.Any_type
}
diff --git a/src/main/resources/themes/vscode_dark.theme.json b/src/main/resources/themes/vscode_dark.theme.json
index 6b55a37..c9eafcd 100644
--- a/src/main/resources/themes/vscode_dark.theme.json
+++ b/src/main/resources/themes/vscode_dark.theme.json
@@ -3,7 +3,18 @@
"dark": true,
"author": "Dinesh Srinivasan",
"editorScheme": "/themes/vscode_dark_brighter.xml",
+ "parentTheme": "Islands Dark",
"ui": {
+ "Islands": 1,
+ "Island.arc": 20,
+ "Island.borderWidth": 5,
+ "Island.borderColor": "#1e1e1e",
+ "Island.inactiveAlpha": 0.44,
+ "MainWindow.background": "#323333",
+ "MainToolbar.borderColor": "#1e1e1e00",
+ "ToolWindow.Stripe.borderColor": "#1e1e1e00",
+ "StatusBar.borderColor": "#1e1e1e00",
+
"*": {
"background": "#323333",
"foreground": "#DFDFE0",
@@ -121,7 +132,11 @@
},
"EditorTabs": {
"tabInsets": true,
+ "background": "#1e1e1e",
+ "underlinedBorderColor": "#1D7BED",
+ "inactiveUnderlinedTabBorderColor": "#24648D",
"underlinedTabBackground": "#1e1e1e",
+ "inactiveUnderlinedTabBackground": "#2A2B2B",
"inactiveColoredFileBackground": "#2d281d"
},
@@ -158,7 +173,9 @@
}
},
"ToolWindow": {
- "background": "#1e1e1e"
+ "background": "#1e1e1e",
+ "Header.background": "#1e1e1e",
+ "Header.inactiveBackground": "#1e1e1e"
},
"Tree.background": "#252526",
"WelcomeScreen": {
diff --git a/src/main/resources/themes/vscode_dark_modern.theme.json b/src/main/resources/themes/vscode_dark_modern.theme.json
index 62ff3b6..ca83bbd 100644
--- a/src/main/resources/themes/vscode_dark_modern.theme.json
+++ b/src/main/resources/themes/vscode_dark_modern.theme.json
@@ -3,7 +3,18 @@
"dark": true,
"author": "Dinesh Srinivasan",
"editorScheme": "/themes/vscode_dark_brighter.xml",
+ "parentTheme": "Islands Dark",
"ui": {
+ "Islands": 1,
+ "Island.arc": 20,
+ "Island.borderWidth": 5,
+ "Island.borderColor": "#1e1e1e",
+ "Island.inactiveAlpha": 0.44,
+ "MainWindow.background": "#323333",
+ "MainToolbar.borderColor": "#1e1e1e00",
+ "ToolWindow.Stripe.borderColor": "#1e1e1e00",
+ "StatusBar.borderColor": "#1e1e1e00",
+
"*": {
"background": "#1e1e1e",
"foreground": "#DFDFE0",
@@ -125,7 +136,11 @@
},
"EditorTabs": {
"tabInsets": true,
+ "background": "#1f1f1f",
+ "underlinedBorderColor": "#1D7BED",
+ "inactiveUnderlinedTabBorderColor": "#24648D",
"underlinedTabBackground": "#1f1f1f",
+ "inactiveUnderlinedTabBackground": "#2A2B2B",
"inactiveColoredFileBackground": "#2d281d"
},
@@ -178,6 +193,8 @@
},
"ToolWindow": {
"background": "#1e1e1e",
+ "Header.background": "#1e1e1e",
+ "Header.inactiveBackground": "#1e1e1e",
"Header.borderColor": "#ffffff12"
},
"Tree": {
diff --git a/src/main/resources/themes/vscode_light.theme.json b/src/main/resources/themes/vscode_light.theme.json
index c41b4bf..d8008b9 100644
--- a/src/main/resources/themes/vscode_light.theme.json
+++ b/src/main/resources/themes/vscode_light.theme.json
@@ -3,6 +3,7 @@
"dark": false,
"author": "Dinesh Srinivasan",
"editorScheme": "/themes/vscode_light_modern.xml",
+ "parentTheme": "Islands Light",
"colors": {
"Grey1": "#000000",
@@ -104,6 +105,16 @@
},
"ui": {
+ "Islands": 1,
+ "Island.arc": 20,
+ "Island.borderWidth": 5,
+ "Island.borderColor": "#F7F8FA",
+ "Island.inactiveAlpha": 0.44,
+ "MainWindow.background": "#EBECF0",
+ "MainToolbar.borderColor": "#F7F8FA00",
+ "ToolWindow.Stripe.borderColor": "#F7F8FA00",
+ "StatusBar.borderColor": "#F7F8FA00",
+
"*": {
"selectionBackground": "Blue11",
"lightSelectionBackground": "Blue11",
@@ -115,6 +126,7 @@
},
"Editor": {
+ "background": "Grey14",
"SearchField" : {
"background": "Grey14"
},
@@ -135,6 +147,14 @@
}
},
+ "EditorTabs": {
+ "background": "Grey14",
+ "underlinedBorderColor": "Blue4",
+ "inactiveUnderlinedTabBorderColor": "Blue7",
+ "underlinedTabBackground": "Grey14",
+ "inactiveUnderlinedTabBackground": "Grey13"
+ },
+
"SearchMatch": {
"startBackground": "#f5bc2d",
"endBackground": "#e9b32b"
@@ -155,6 +175,12 @@
"Projects.actions.background": "#225DA1"
},
+ "ToolWindow": {
+ "background": "Grey13",
+ "Header.background": "Grey13",
+ "Header.inactiveBackground": "Grey13"
+ },
+
"RecentProject": {
"Color1": {
"MainToolbarGradientStart": "#F5D4C1",