--- layout: editable title: Plugin Structure --- Plugins are the only supported way to extend IDEA functionality. A plugin uses API exposed by IDEA or other plugins to implement its functionality. This document is focused on the plugin system structure and plugin lifecycle. It doesn't specify any other APIs that may be used by plugins. The following subjects are covered: * [Plugin Content](general_topics/plugin_structure/plugin_content.html) * [Plugin Class Loaders](general_topics/plugin_structure/plugin_class_loaders.html) * [Plugin Components](general_topics/plugin_structure/plugin_components.html) * [Plugin Extensions and Extension Points](general_topics/plugin_structure/plugin_extensions_and_extension_points.html) * [Plugin Actions](general_topics/plugin_structure/plugin_actions.html) * [Plugin Services](general_topics/plugin_structure/plugin_services.html) * [Plugin Configuration File](general_topics/plugin_structure/plugin_configuration_file.html) * [Plugin Dependencies](general_topics/plugin_structure/plugin_dependencies.html)