IntelliJ Platform Plugin SDK Help

Internal Actions - UI Inspector

The UI Inspector is a tool to interrogate elements of the IDE's UI to get an internal description of each element.

Enabling the UI Inspector

Before using the UI Inspector, it must be enabled by selecting the menu item Tools | Internal Actions | UI | UI Inspector. The enabled state of the UI Inspector is modal; it remains enabled until it is disabled by selecting the menu item again.

Using the UI Inspector

Centering the cursor on a UI element and pressing Ctrl/Cmd+Alt when clicking the left mouse button reveals the properties of the Swing component.

For example, to get information about the Build Project button's "hammer" icon on the toolbar (highlighted in green), put the mouse cursor on the icon and press Ctrl/Cmd+Alt while clicking the mouse.

The UI Inspector displays the icon details:

Internal Icon Info

added-at Property

Sometimes, inspecting complex component's properties is not enough to understand how the component was created and configured. UI Inspector gives the possibility of finding the code where the selected component was added, which makes it much easier to understand which APIs can be used to build custom components with similar complexity.

To find the place were component was added, select the added-at property to show the stacktrace:

added-at Stacktrace

Specific Component Properties

Various components used in the IntelliJ Platform expose additional properties. These can be useful to locate the underlying implementation, related Action, etc.

Custom Swing components can also provide additional properties via UiInspectorContextProvider or its dedicated subclasses (2020.1 and later).

Editor

Type

Properties

ActiveGutterRenderer


(2023.1+)

Clicked Renderer (Class) - ActiveGutterRenderer instance/class

GutterIconRenderer


(2023.1+)

Clicked Renderer (Class) - GutterIconRenderer instance/class


Accessible Name - GutterIconRenderer.getAccessibleName()


Icon - GutterIconRenderer.getIcon()


Marker Info - Element / Navigation Handler - LineMarkerInfo.getElement() / getNavigationHandler()

GutterMark

gutter renderer - GutterMark implementation

Inlay


(2023.1+)

Inlay Renderer (Class) - Inlay.getRenderer() instance/class


Inlay Gutter Renderer - Inlay.getGutterIconRenderer()


Inlay Properties - Inlay.getProperties()

IntentionAction/QuickFix

intention action/quick fix - IntentionAction/QuickFix implementation

Action

Type

Properties

AnAction

Action - AnAction implementation


Action ID - Action id


Action Plugin ID - contributing plugin

ActionToolbar

Toolbar Group - Action Group ID


All Toolbar Groups - contained Action Group IDs


Target component - ActionToolbar.setTargetComponent()

IDE and UI Components

Type

Properties

DialogWrapper

dialogWrapperClass - DialogWrapper implementation

ToolWindow

Tool Window ID - id


Tool Window Icon - icon


Tool Window Factory - ToolWindowFactory

Tree

treeModelClass - javax.swing.tree.TreeModel implementation

Inspecting Settings

Some additional properties are available when inspecting Settings dialog (2023.1+).

Settings page


Reference

Properties

All settings


Settings Guide

Configurable class - Configurable class


Configurable ID - id attribute


Configurable weight - groupWeight attribute

Editor | Color Scheme


TextAttributesKey

Text Attributes Key - TextAttributesKey external name

Editor | File Types


Registering a File Type

FileTypeID - FileType.getName()


FileType Class - FileType implementation

Editor | Inspections


Code Inspections

Inspection key - Inspection id


Inspection tool class - Inspection implementation

Editor | Inlays


Inlay Hints

Inlay Group Key - InlayGroupSettingProvider.getGroup().key


Inlay Group Key - InlayGroup.key


Inlay Provider Model ID - InlayProviderSettingsModel.id


Inlay ImmediateConfigurable ID - ImmediateConfigurable.Case.id

Editor | Intentions


Intentions

Intention Class - IntentionAction class


Intention description directory - <descriptionDirectoryName>

Plugins


Plugin Configuration File

Plugin ID - Plugin <id>


Plugin Dependencies - IDs of dependent plugins

Last modified: 25 January 2023