Products based on the IntelliJ Platform can be modified and adjusted for custom purposes by adding plugins. All downloadable plugins are available from the JetBrains Marketplace.
The most common types of plugins include:
Custom language support
User interface add-ons
Custom Language Support
Custom language support provides basic functionality for working with a particular programming language, that includes:
File type recognition
Code insight and code completion
Inspections and quick-fixes
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 Foldable ProjectView plugin may serve as an example.
Themes give designers the ability to customize the appearance of built-in IDE UI elements.