Main Types of Plugins
Products based on the Consulo can be modified and adjusted for custom purposes by adding plugins. All downloadable plugins are available at the JetBrains Plugins Repository.
The most common types of plugins include:
- UI Themes
- Custom language support
- Framework integration
- Tool integration
- User interface add-ons
UI Themes give designers the ability to customize the appearance of built-in IDE UI elements. Custom UI Themes can:
- substitute icons,
- change the colors of icons and UI controls,
- alter the borders and insets of UI controls,
- provide custom editor schemes,
- add background images.
The UI Themes available for download illustrate the creative possibilities.
Custom Language Support
Custom language support provides basic functionality for working with a particular programming language, that includes:
- File type recognition
- Lexical analysis
- Syntax highlighting
- Code insight and code completion
- Inspections and quick-fixes
- Intention actions
Plugins can also augment existing (bundled) custom languages, e.g., by providing additional inspections, intentions, or any other features.
Refer to the Custom Language Support Tutorial to learn more about the topic.
Framework integration consists of improved code insight features, which are typical for a given framework, as well as the option to use framework-specific functionality directly from the IDE. Sometimes it also includes language support elements for a custom syntax or DSL.
- Specific code insight
- Direct access to framework-specific functionality
Tool integration makes it possible to manipulate third-party tools and components directly from the IDE without switching contexts, that implies:
- Implementation of additional actions
- Related UI components
- Access to external resources
Refer to the Gerrit integration plugin as an example.
User Interface Add-Ons
Plugins in this category apply various changes to the standard user interface of the IDE. Some newly added components are interactive and provide new functionality, while others are limited to visual modifications only. The Random Background plugin may serve as an example.