
svg removed and slashes replaced with dots (e.g., /nodes/class.svg → ). Register resource bundle via extension point to provide tooltips automatically for all SimpleColoredComponent renderers.Ĭreate icon.tooltip key in given resource bundle, where is the icon path with leading slash and. This icon has a larger AnimatedIcon.Big version. If you want to show somewhere that there is a long process, you can use the predefined AnimatedIcon.Default loader icon. Each frame represents an icon, and a delay until the next frame. To create an icon from frames with different delays, use AnimatedIcon.Frame. Then define a class/interface in a top-level package called icons holding icon constants as static fields:ĪnimatedIcon icon = new AnimatedIcon(500, The path to the icon passed in as argument to IconLoader.getIcon() must start with leading /.

The getIcon() method of IconLoader can be used to access the icons. If the project is DevKit-based, the recommended approach is to put icons to a dedicated source root marked as Resources Root, say icons or resources. In the case of a Gradle-based project, icons should be placed in the resources folder. See Action Basics sample plugin as a reference. To generate SVG icons suited for the IntelliJ-based IDEs, also consider third-party web tool IntelliJ Icon Generator. If custom icons are required, please refer to detailed design guide. Icons from plugins are located in corresponding Icons class (e.g., GithubIcons). Plugins should reuse existing platform icons whenever possible. For more information, see the Plugin Logo.

Plugin Logos, which represent a plugin itself, have different requirements than icons and images used within a plugin. Plugins need icons mostly for Actions, custom component renderers, Tool Windows, and so on. Icons and images are used widely by IntelliJ Platform plugins.
