Skip to content

feat: JetBrains IDE classifier (IntelliJ, PyCharm, WebStorm, GoLand, etc.) #46

Description

@alecf

Summary

JetBrains IDEs are JVM-based (not Electron), so ElectronClassifier misses them entirely. A running IntelliJ or PyCharm session spawns multiple processes that are currently invisible as a group: the main JVM, a KotlinCompileDaemon, Gradle or Maven build daemons, fsnotifier, and sometimes annotation processor workers.

A JetBrainsClassifier would unify all JetBrains products under one classifier, grouping each IDE instance with its daemons.

Processes to claim

Process Notes
idea, pycharm, webstorm, goland, rider, clion, datagrip, rubymine Main IDE JVM process
KotlinCompileDaemon Kotlin background compiler
Gradle daemon (GradleMain, GradleDaemon) Build system daemon
Maven daemon (mvnd) Build system daemon
fsnotifier File watcher helper
java (children) Annotation processors, test runners

Value

JetBrains IDEs are known memory consumers. Users currently see a pile of java processes with no way to associate them with a specific IDE or project. A "WebStorm — myproject: 3.1 GB (+ Gradle daemon: 800 MB)" breakdown is immediately actionable.

Implementation notes

  • Primary detection: com.jetbrains.* bundle ID family
  • Secondary: process name matching for the IDE executables listed above
  • Build daemon association: Gradle/Maven daemons are not direct children but can be associated by user (same UID) and project path (visible in daemon args)
  • Per-product grouping: use bundle ID or executable name to distinguish IntelliJ vs PyCharm vs WebStorm in the group name
  • Icon: NSRunningApplication lookup on the main IDE process
  • stableIdentifier: "jetbrains:<product>:<project-path>"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions