IntelliJ Plugin Development Notes
  • Plugin Development Notes for JetBrains IDEs
  • Project Setup
    • Target a Specific IDE
  • OpenAPI
    • Actions
      • DumbAwareAction
    • Options
      • SettingsEditor
  • UI
    • Navigation
    • Tool Window
    • Icons
    • Project Wizard
    • Internationalization
    • Status Bar
    • Layout Managers
    • Text
    • Dialogs
    • Services Tool Window
  • Common Patterns
    • PSI Facade
    • Smart Mode and Dumb Mode
    • Lazy
  • Official Documentation
    • IntelliJ Platform SDK DevGuide
    • IntelliJ SDK Platform Documentation (GitHub)
    • Design Guidelines
    • Getting Started With IntelliJ
    • Creating IntelliJ Platform SDK Code Samples
  • Example Code
    • IntelliJ IDEA - Community Edition (Upsource)
    • IntelliJ IDEA Community Edition (GitHub)
    • Code Samples from SDK Docs
    • Open Source IntelliJ Plugins
    • Gradle Plugin Examples
    • IntelliJ Platform Plugin Template
  • Community
    • JetBrains Platform Slack
    • JetBrains Community Discord
    • Open API Community Support
  • Misc Links
    • FileDocumentManager Examples
  • Tools
    • Indices viewer
    • PsiViewer
    • UI Inspector
    • IntelliJ Platform Explorer
    • Plugin Validator
  • Tutorials
    • Publishing and Distributing a development build
    • Add New Module Type to the New Project Wizard
    • Auto-detect Executable File
  • Questions
    • Where are persistant state and settings files
Powered by GitBook
On this page
  • Existing Implementations
  • Recommendations
  • Package Layout
  • Internationalization
  • Reference
  • Plugins with Examples
  • Extension Points

Was this helpful?

  1. UI

Services Tool Window

PreviousDialogsNextPSI Facade

Last updated 1 year ago

Was this helpful?

Help Documentation

UI Guidelines

Existing Implementations

Type
Class
Notes

I

  • root interface

I

  • builds on top of ServiceViewContributor

  • used as base interface for things that show trees

I

  • ??? empty interface. probably a hint that this uses lazy initialization or something to do with smart mode/dumbaware?

A

  • parent class for most services

  • represents a tree of servers or deployments

  • provides an API to add/remove nodes, and set toolbar/popup actions

C

  • good base class if you are not sure

  • generic base class for remote servers

C

  • can not be extended

  • example ServiceViewGroupingContributor

  • used to show the project's run configurations (grouped by type)

  • New run configuration types are automatically added?

Recommendations

Package Layout

Internationalization

Reference

Plugins with Examples

Extension Points

Lazy
https://www.jetbrains.com/help/idea/services-tool-window.html
https://github.com/JetBrains/intellij-community/tree/13978d1a9fb5315133e0ec65ae70c2e03d532af6/platform/lang-api/src/com/intellij/execution/services
intellij-ngrok
azure-tools-for-intellij
com.intellij.serviceViewContributor
https://www.jetbrains.com/help/idea/using-services-tool-window.html
https://jetbrains.design/intellij/components/tool_window/
ServiceViewContributor
ServiceViewGroupingContributor
ServiceViewLazyContributor
RemoteServersServiceViewContributor
DefaultRemoteServersServiceViewContributor
RunDashboardServiceViewContributor