Timo Drick
02/03/2025, 9:58 AMTimo Drick
02/17/2025, 9:25 AMval rm = ModuleRootManager.getInstance(module)
val classPath = rm
.orderEntries()
.classesRoots
.map { it.presentableUrl }
How could i get it in Workspace Model. I am already be able to get the path to all dependencies but i am missing the path to the classes generated by this module itself:
module.dependencies
.filterIsInstance<LibraryDependency>()
.mapNotNull { currentSnapshot.resolve(it.library) }
.mapNotNull { library ->
library.roots.find {
it.type == LibraryRootTypeId.COMPILED
}?.url?.presentableUrl
}
My experiments with module.contentRoots and module.sourceRoots show that this do not contain the correct path just some intermediate folders where resources are generated.Draget
02/18/2025, 7:10 PMbod
02/19/2025, 10:46 AMbod
02/27/2025, 8:47 AMlocalPath
for example that's what we do:
tasks {
val runLocalIde by intellijPlatformTesting.runIde.registering {
// Use a custom IJ/AS installation. Set this property in your local ~/.gradle/gradle.properties file.
// (for AS, it should be something like '/Applications/Android Studio.app/Contents')
// See <https://plugins.jetbrains.com/docs/intellij/android-studio.html#configuring-the-plugin-gradle-build-script>
providers.gradleProperty("apolloIntellijPlugin.ideDir").orNull?.let {
localPath.set(file(it))
}
}wwalkingg
03/10/2025, 8:52 AMEmre
03/14/2025, 3:14 AMMichael Friend
03/21/2025, 5:17 PMCoroutineScope. I added a coroutinescope constructor parameter to my service just like the docs say, but once i do that my call to `service()`/ ApplicationManager.getApplication().getService give an error Cannot create class. I get the same error when trying to add Project in the constructor as mentioned in other parts of the docs. what am i doing wrong here?Youssef Shoaib [MOD]
03/22/2025, 6:47 AMFoldingDescriptor depends on Analysis API results? Do I have to try and get the PSI out of the references I grab? I'm guessing reference.psi would be sufficient?Youssef Shoaib [MOD]
03/22/2025, 8:51 AMFoldingDescriptors in a file upon the file changes? Adding a dependency on currentFile does not seem to workMichael Friend
03/24/2025, 3:45 PMMyProjectService which works, but when i add any ktor dependencies it fails to resolve the service at run time with this error even though my service has a Project, CoroutineScope constructor. Here's a repo to reproduce the issue https://github.com/mrf7/ide-plugin
Caused by: com.intellij.platform.instanceContainer.instantiation.InstantiationException: Class 'class com.github.mrf7.ideplugin.services.MyProjectService' does not define any of supported signatures '[(Project)void, (Project,CoroutineScope)void, (CoroutineScope)void, ()void]'Youssef Shoaib [MOD]
03/30/2025, 1:37 AMSubash K
04/12/2025, 7:33 AMcom.intellij.toolwindow.StripeButtonUI is used internally for rendering tool window buttons. I understand it's not part of the public API, but I was wondering:
Is it safe (or acceptable) to indirectly rely on StripeButtonUI for visual consistency, without explicitly referencing it in code?
For example, mimicking its styles or letting the platform render components that use it under the hood. I want to make sure my plugin stays compatible and follows best practices.
Appreciate any insights or recommendations on handling this kind of UI consistency without crossing into unsupported/internal API territory. 🙏Leo Podmolik
04/15/2025, 5:09 PMMichael Friend
04/24/2025, 6:33 PMWARN - #c.i.u.x.Binding - No accessors for intellijplugin.toolWindow.tabs.MySettings$State. This means that state class cannot be serialized properly. Please see https://jb.gg/ij-psoc
natpryce
04/27/2025, 12:45 PMsubprojects {
...
plugins.withType<KotlinPlatformJvmPlugin> {
kotlin {
jvmToolchain(21)
}
}
}
But the KotlinPlatformJvmPlugin class no longer exists in the plugin for Kotlin 21.1.20, and the KotlinJvmPlugin class is internal and cannot be referenced from build scripts.Júlio Santos
06/16/2025, 5:22 PMstepango
06/27/2025, 7:21 PMelihart
07/11/2025, 5:29 PM> Could not resolve all files for configuration ':intellij-plugin-android:intellijPlatformClasspath'.
> Could not resolve org.jetbrains.skiko:skiko:0.9.4.2.
Required by:
project :intellij-plugin-android > project :intellij-plugin-shared:airchat > org.jetbrains.compose.material3:material3:1.8.1 > org.jetbrains.compose.material3:material3-desktop:1.8.1 > org.jetbrains.compose.foundation:foundation:1.8.1 > org.jetbrains.compose.foundation:foundation-desktop:1.8.1
project :intellij-plugin-android > project :intellij-plugin-shared:airchat > org.jetbrains.compose.material3:material3:1.8.1 > org.jetbrains.compose.material3:material3-desktop:1.8.1 > org.jetbrains.compose.ui:ui-graphics:1.8.1 > org.jetbrains.compose.ui:ui-graphics-desktop:1.8.1
project :intellij-plugin-android > project :intellij-plugin-shared:airchat > org.jetbrains.compose.material3:material3:1.8.1 > org.jetbrains.compose.material3:material3-desktop:1.8.1 > org.jetbrains.compose.ui:ui-text:1.8.1 > org.jetbrains.compose.ui:ui-text-desktop:1.8.1
project :intellij-plugin-android > project :intellij-plugin-shared:base > org.jetbrains.compose.material:material-icons-core:1.7.3 > org.jetbrains.compose.material:material-icons-core-desktop:1.7.3 > org.jetbrains.compose.ui:ui:1.8.1 > org.jetbrains.compose.ui:ui-desktop:1.8.1
> The consumer was configured to find attribute 'intellijPlatformCollected' with value 'true', attribute 'intellijPlatformExtracted' with value 'true'. However we cannot choose between the following variants of org.jetbrains.skiko:skiko:0.9.4.2:
- androidApiElements-published
- androidRuntimeElements-published
- androidSourcesElements-published
- awtApiElements-published
- awtRuntimeElements-published
- awtSourcesElements-published
- iosArm64ApiElements-published
- iosArm64MetadataElements-published
- iosArm64SourcesElements-published
- iosSimulatorArm64ApiElements-published
- iosSimulatorArm64MetadataElements-published
- iosSimulatorArm64SourcesElements-published
- iosX64ApiElements-published
- iosX64MetadataElements-published
- iosX64SourcesElements-published
- jsApiElements-published
- jsRuntimeElements-published
- jsSourcesElements-published
- linuxX64ApiElements-published
- linuxX64SourcesElements-published
- macosArm64ApiElements-published
- macosArm64MetadataElements-published
- macosArm64SourcesElements-published
- macosX64ApiElements-published
- macosX64MetadataElements-published
- macosX64SourcesElements-published
- metadataApiElements
- metadataSourcesElements
- tvosArm64ApiElements-published
- tvosArm64MetadataElements-published
- tvosArm64SourcesElements-published
- tvosSimulatorArm64ApiElements-published
- tvosSimulatorArm64MetadataElements-published
- tvosSimulatorArm64SourcesElements-published
- tvosX64ApiElements-published
- tvosX64MetadataElements-published
- tvosX64SourcesElements-published
- wasmJsApiElements-published
- wasmJsRuntimeElements-published
- wasmJsSourcesElements-published
All of them match the consumer attributes:Oliver.O
07/11/2025, 6:11 PMAbe Sol
07/30/2025, 3:32 PMMeet
08/21/2025, 12:13 PMtheapache64
08/23/2025, 4:38 PMFrancisco Noriega
09/25/2025, 9:28 PMSelect Opened File (target looking icon) to work.
I am overriding selectIn , with something that ends up calling select(virtualFile, virtualFile, requestFocus = true), but its not working.
something to note is that the Panel is not showing a 1:1 mapping to the file structure, since it adds grouping nodes, but that shouldn't be too different from what the Android view does with its kotlin+java node or the res/strings node (which don't match exactly with the disk file system)
Is there any gotchas or examples on getting this to work?Paul Dingemans
09/26/2025, 3:19 PMktlint-intellij-plugin. Currently I am trying to upgrade the plugin so that it can be used in Idea 2025.3 EAP version. The Plugin Verifier fails on retrieving ideaIC:253.22441.33 with message below:
> Could not resolve all files for configuration ':ktlint-plugin:detachedConfiguration7'.
> Could not find idea:ideaIC:253.22441.33.
Searched in the following locations:
- <https://repo.maven.apache.org/maven2/idea/ideaIC/253.22441.33/ideaIC-253.22441.33.pom>
- <https://download.jetbrains.com/idea/ideaIC-253.22441.33.tar.gz>
- <https://download.jetbrains.com/idea/253.22441.33/ideaIC-253.22441.33.tar.gz>
- <https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/releases/idea/ideaIC/253.22441.33/ideaIC-253.22441.33.pom>
- <https://cache-redirector.jetbrains.com/www.jetbrains.com/intellij-repository/snapshots/idea/ideaIC/253.22441.33/ideaIC-253.22441.33.pom>
- <https://cache-redirector.jetbrains.com/intellij-dependencies/idea/ideaIC/253.22441.33/ideaIC-253.22441.33.pom>
- <https://cache-redirector.jetbrains.com/plugins.jetbrains.com/maven/idea/ideaIC/253.22441.33/ideaIC-253.22441.33.pom>
Required by:
project :ktlint-plugin
This makes sense, given the move to the unified distribution. Also the latest builds page indicates that the above version is invalid, and that I should use platform type IU instead of IC .
The build of the plugin is based on the intellij plugin template, In the properties, following is configured:
# IntelliJ Platform Properties -> <https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension>
platformType = IC
platformVersion = 2024.1.7
I expect that changing platformType from IC to IU will fix the verification problem for Idea 2025.3. I am concerned though that the new release of the plugin will not be usable anymore for users of the older (2025.2 and before) Community Editions. Is this concern valid? Or should I make changes (if so, please advise) to remediate this?Abhimanyu
10/03/2025, 4:28 PMimport com.intellij.ui.components.PanelAbhimanyu
10/03/2025, 7:23 PMPlugin 'Material Symbols' (version 1.0.1) was explicitly marked as incompatible with the current version of the IDEStijndcl
10/08/2025, 9:49 PMx-color="" attribute should get autocompletions solely for css colours (strings, rgb func, gradients, ...), whereas an x-transition should only show completions for css transitions, etc. Would be great if I could say that attribute X should be completed as if it were css property Y.
I assume I can get that done using intellilang/language injections, but was wondering if this is doable with webtypes or the polysymbols API of the platform SDK? The docs also seem to mention an inject-language property, but I can't find that in the json schema. If this exists, can I pass before- and after- fragments here like we can do with Intellilang to achieve my goal?
(I couldn't find an existing channel for web-types, if there's a better one to ask this in please let me know)Shaun Wild
10/29/2025, 10:43 AMShaun Wild
10/29/2025, 5:52 PM