Avoid using <br/> in tables

This commit is contained in:
Karol Lewandowski 2023-04-28 13:00:04 +02:00
parent 21839bc0f9
commit cad756c2a0
21 changed files with 172 additions and 172 deletions

View File

@ -92,13 +92,13 @@ _Early Access Program_ (EAP) releases of upcoming versions are available [here](
See [](verifying_plugin_compatibility.md) for overview of API status. See [](verifying_plugin_compatibility.md) for overview of API status.
| Icon | Description | Details | | Icon | Description | Details |
|-----------------------------------|-------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-----------------------------------|-------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ![Deprecated][deprecated] | Deprecated API | Please see code documentation for replacement | | ![Deprecated][deprecated] | Deprecated API | Please see code documentation for replacement |
| ![Removal][removal] | Scheduled for Removal API | Please see code documentation for replacement | | ![Removal][removal] | Scheduled for Removal API | Please see code documentation for replacement |
| ![Obsolete][obsolete] | Obsolete API | Do not use in new code, please see code documentation for replacement ([](verifying_plugin_compatibility.md#obsolete-api)) | | ![Obsolete][obsolete] | Obsolete API | Do not use in new code, please see code documentation for replacement ([](verifying_plugin_compatibility.md#obsolete-api)) |
| ![Experimental API][experimental] | Experimental API | Annotated with [`@ApiStatus.Experimental`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java), API might be altered or removed without prior notice | | ![Experimental API][experimental] | Experimental API | Annotated with [`@ApiStatus.Experimental`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java), API might be altered or removed without prior notice |
| ![Internal API][internal] | Internal API | Annotated with [`@ApiStatus.Internal`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java), must not be used by 3rd party, see [](api_internal.md) | | ![Internal API][internal] | Internal API | Annotated with [`@ApiStatus.Internal`](https://github.com/JetBrains/java-annotations/blob/master/common/src/main/java/org/jetbrains/annotations/ApiStatus.java), must not be used by 3rd party, see [](api_internal.md) |
| ![Project-Level][project-level] | Project-Level Extension Point/Topic | Can have [`Project`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/Project.java) as constructor parameter<br/>Extension Point: Declared with `area="IDEA_PROJECT"`<br/>Listener: registered in [`<projectListeners>`](plugin_configuration_file.md#idea-plugin__projectListeners) | | ![Project-Level][project-level] | Project-Level Extension Point/Topic | <p>Can have [`Project`](%gh-ic%/platform/core-api/src/com/intellij/openapi/project/Project.java) as constructor parameter</p><p>Extension Point: Declared with `area="IDEA_PROJECT"`</p><p>Listener: registered in [`<projectListeners>`](plugin_configuration_file.md#idea-plugin__projectListeners)</p> |
| ![Non-Dynamic][non-dynamic] | Non-Dynamic Extension Point | Installation/update of plugin requires IDE restart ([Dynamic Plugins](dynamic_plugins.md)) | | ![Non-Dynamic][non-dynamic] | Non-Dynamic Extension Point | Installation/update of plugin requires IDE restart ([Dynamic Plugins](dynamic_plugins.md)) |
[deprecated]: https://img.shields.io/badge/-Deprecated-lightgrey?style=flat-square [deprecated]: https://img.shields.io/badge/-Deprecated-lightgrey?style=flat-square

View File

@ -30,16 +30,16 @@ A tutorial blog post series for JavaScript developers.
## Webinars ## Webinars
| Webinar | Info | | Webinar | Info |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Busy Plugin Developers #5** <br/>Matthias Koch, 09/2022 <video src="https://www.youtube.com/watch?v=y8adERbgt_M" title="Busy plugin developers series. Episode 5" width="300"/> | Building Extensions for Rider and ReSharper | | **Busy Plugin Developers #5** <p>Matthias Koch, 09/2022</p> <video src="https://www.youtube.com/watch?v=y8adERbgt_M" title="Busy plugin developers series. Episode 5" width="300"/> | <p>&nbsp;</p><p>Building Extensions for Rider and ReSharper</p> |
| **Busy Plugin Developers #4** <br/>Dmitry Kandalov/Yann Cebron, 04/2022 <video src="https://www.youtube.com/watch?v=pgGg-IwUQYM" title="Busy plugin developers series. Episode 4" width="300"/> | Adding IDE Features at runtime using LivePlugin | | **Busy Plugin Developers #4** <p>Dmitry Kandalov/Yann Cebron, 04/2022</p> <video src="https://www.youtube.com/watch?v=pgGg-IwUQYM" title="Busy plugin developers series. Episode 4" width="300"/> | <p>&nbsp;</p><p>Adding IDE Features at runtime using LivePlugin</p> |
| **Busy Plugin Developers #3** <br/>Jakub Chrzanowski/Anna Maltceva/Yann Cebron, 11/2021 <video src="https://www.youtube.com/watch?v=9J0j-90dC60" title="Busy plugin developers series. Episode 3" width="300"/> | Building Themes for IntelliJ-based IDEs<br/>Latest updates to JetBrains Marketplace | | **Busy Plugin Developers #3** <p>Jakub Chrzanowski/Anna Maltceva/Yann Cebron, 11/2021</p> <video src="https://www.youtube.com/watch?v=9J0j-90dC60" title="Busy plugin developers series. Episode 3" width="300"/> | <p>&nbsp;</p><p>Building Themes for IntelliJ-based IDEs</p><p>Latest updates to JetBrains Marketplace</p> |
| **Busy Plugin Developers #2** <br/>Anna Maltceva/Łukasz Wawrzyk/Jakub Chrzanowski, 09/2021 <video src="https://www.youtube.com/watch?v=oB1GA9JeeiY" title="Busy plugin developers series. Episode 2" width="300"/> | How to improve your Marketplace plugin page to attract more users<br/>ide-probe, a testing and benchmarking framework for IntelliJ-based IDEs | | **Busy Plugin Developers #2** <p>Anna Maltceva/Łukasz Wawrzyk/Jakub Chrzanowski, 09/2021</p> <video src="https://www.youtube.com/watch?v=oB1GA9JeeiY" title="Busy plugin developers series. Episode 2" width="300"/> | <p>&nbsp;</p><p>How to improve your Marketplace plugin page to attract more users</p><p>ide-probe, a testing and benchmarking framework for IntelliJ-based IDEs</p> |
| **Busy Plugin Developers #1** <br/>Jakub Chrzanowski/Semyon Atamas/Paweł Lipski, 07/2021 <video src="https://www.youtube.com/watch?v=vAlor5-hC0Q" title="Busy plugin developers series. Episode 1" width="300"/> | What is Gradle IntelliJ Plugin<br/>New features of Gradle IntelliJ Plugin<br/>How to start with Gradle IntelliJ Plugin<br/>Types of signing and how they work<br/>How JetBrains Marketplace signature works<br/>How to sign your plugin<br/>Tools and tips for testing UI of IntelliJ Plugins | | **Busy Plugin Developers #1** <p>Jakub Chrzanowski/Semyon Atamas/Paweł Lipski, 07/2021</p> <video src="https://www.youtube.com/watch?v=vAlor5-hC0Q" title="Busy plugin developers series. Episode 1" width="300"/> | <p>&nbsp;</p><p>What is Gradle IntelliJ Plugin</p><p>New features of Gradle IntelliJ Plugin</p><p>How to start with Gradle IntelliJ Plugin</p><p>Types of signing and how they work</p><p>How JetBrains Marketplace signature works</p><p>How to sign your plugin</p><p>Tools and tips for testing UI of IntelliJ Plugins</p> |
| **Make IntelliJ IDEA Your Own** <br/>Sirisha Pratha, 05/2021 <video src="https://www.youtube.com/watch?v=cAwH_DbFrfw?t=1120" title="Make IntelliJ IDEA Your Own" width="300"/> | In this session, we'll explore the benefits provided by IntelliJ IDEA's customization options, and you will learn how to make the IDE your own. We will also look at the plugins available on the JetBrains Marketplace, discuss the process of developing them, and demo a few custom ones. | | **Make IntelliJ IDEA Your Own** <p>Sirisha Pratha, 05/2021</p> <video src="https://www.youtube.com/watch?v=cAwH_DbFrfw?t=1120" title="Make IntelliJ IDEA Your Own" width="300"/> | <p>&nbsp;</p><p>In this session, we'll explore the benefits provided by IntelliJ IDEA's customization options, and you will learn how to make the IDE your own. We will also look at the plugins available on the JetBrains Marketplace, discuss the process of developing them, and demo a few custom ones.</p> |
| **IntelliJ IDEA Conf 2021** <br/>Various Speakers, 02/2021 <video src="https://www.youtube.com/watch?v=akrPpWAZzQk&amp;list=PLPZy-hmwOdEUdLO-AKiJJ7LuZ3p16zJ4x" title="IntelliJ IDEA Conf 2021" width="300"/> | Playlist includes a number of presentations related to plugin development | | **IntelliJ IDEA Conf 2021** <p>Various Speakers, 02/2021</p> <video src="https://www.youtube.com/watch?v=akrPpWAZzQk&amp;list=PLPZy-hmwOdEUdLO-AKiJJ7LuZ3p16zJ4x" title="IntelliJ IDEA Conf 2021" width="300"/> | <p>&nbsp;</p><p>Playlist includes a number of presentations related to plugin development</p> |
| **Busy Plugin Developers #0** <br/>Mikhail Vink/Jakub Chrzanowski/Yann Cebron, 12/2020 <video src="https://www.youtube.com/watch?v=-6D5-xEaYig" title="Busy plugin developers series. Episode 0" width="300" /> | IntelliJ Platform Plugin Template<br/>Plugin DevKit Features<br/>IntelliJ Platform Explorer<br/>What's coming in 2021?<br/>Introduction to the Marketplace<br/>How to make your plugin successful?<br/>Sell on the Marketplace | | **Busy Plugin Developers #0** <p>Mikhail Vink/Jakub Chrzanowski/Yann Cebron, 12/2020</p> <video src="https://www.youtube.com/watch?v=-6D5-xEaYig" title="Busy plugin developers series. Episode 0" width="300" /> | <p>&nbsp;</p><p>IntelliJ Platform Plugin Template</p><p>Plugin DevKit Features</p><p>IntelliJ Platform Explorer</p><p>What's coming in 2021?</p><p>Introduction to the Marketplace</p><p>How to make your plugin successful?</p><p>Sell on the Marketplace</p> |
| **How We Built Comma, the Raku IDE, on the IntelliJ Platform** <br/>Jonathan Worthington, 01/2020 <video src="https://www.youtube.com/watch?v=zDP9uUMYrvs" title="How We Built Comma, the Raku IDE, on the IntelliJ Platform" width="300"/> | How to build custom language support<br/>How to go from a language support plugin to an IDE<br/>Lessons Learned<br/>[Blog post](https://blog.jetbrains.com/platform/2020/01/webinar-recording-how-we-built-comma-the-raku-ide-on-the-intellij-platform/) | | **How We Built Comma, the Raku IDE, on the IntelliJ Platform** <p>Jonathan Worthington, 01/2020</p> <video src="https://www.youtube.com/watch?v=zDP9uUMYrvs" title="How We Built Comma, the Raku IDE, on the IntelliJ Platform" width="300"/> | <p>&nbsp;</p><p>How to build custom language support</p><p>How to go from a language support plugin to an IDE</p><p>Lessons Learned</p><p>[Blog post](https://blog.jetbrains.com/platform/2020/01/webinar-recording-how-we-built-comma-the-raku-ide-on-the-intellij-platform/)</p> |
| **Building IntelliJ IDEA plugins in Scala** <br/>Igal Tabachnik, 2020 <video src="https://www.youtube.com/watch?v=IPO-cY_giNA" title="Building IntelliJ IDEA plugins in Scala" width="300"/> | In this talk, I will show how to create plugins for IDEA from scratch in Scala, and show why Scala's unique features make it a great fit for such tasks as inspecting and manipulating Abstract Syntax Trees (ASTs) to create your own custom suggestions and quick-fixes. | | **Building IntelliJ IDEA plugins in Scala** <p>Igal Tabachnik, 2020</p> <video src="https://www.youtube.com/watch?v=IPO-cY_giNA" title="Building IntelliJ IDEA plugins in Scala" width="300"/> | <p>&nbsp;</p><p>In this talk, I will show how to create plugins for IDEA from scratch in Scala, and show why Scala's unique features make it a great fit for such tasks as inspecting and manipulating Abstract Syntax Trees (ASTs) to create your own custom suggestions and quick-fixes.</p> |
| **Live Development of a PyCharm Plugin** <br/>Joachim Ansorg, 2019 <video src="https://www.youtube.com/watch?v=cR-28eaXGQI" title="Live Development of a PyCharm Plugin" width="300"/> | Background and architecture of IntelliJ plugins<br/>Development using tests<br/>Implementing interesting extension points<br/>Viewing the plugin in the IDE (PyCharm)<br/>[Blog post](https://blog.jetbrains.com/pycharm/2019/01/webinar-recording-live-development-of-a-pycharm-plugin-with-joachim-ansorg/) | | **Live Development of a PyCharm Plugin** <p>Joachim Ansorg, 2019</p> <video src="https://www.youtube.com/watch?v=cR-28eaXGQI" title="Live Development of a PyCharm Plugin" width="300"/> | <p>&nbsp;</p><p>Background and architecture of IntelliJ plugins</p><p>Development using tests</p><p>Implementing interesting extension points</p><p>Viewing the plugin in the IDE (PyCharm)</p><p>[Blog post](https://blog.jetbrains.com/pycharm/2019/01/webinar-recording-live-development-of-a-pycharm-plugin-with-joachim-ansorg/)</p> |
| **Build Developer Tools On Top of IntelliJ Platform** <br/>Dmitry Jemerov, 2013 <video src="https://www.youtube.com/watch?v=vQDzjGzkPFc" title="Build Developer Tools On Top of IntelliJ Platform" width="300"/> | This webinar makes an overview on IntelliJ Platform and explains how you can use it for building your own products. | | **Build Developer Tools On Top of IntelliJ Platform** <p>Dmitry Jemerov, 2013</p> <video src="https://www.youtube.com/watch?v=vQDzjGzkPFc" title="Build Developer Tools On Top of IntelliJ Platform" width="300"/> | <p>&nbsp;</p><p>This webinar makes an overview on IntelliJ Platform and explains how you can use it for building your own products.</p> |

View File

@ -44,26 +44,26 @@ Custom Swing components can also provide additional properties via [`UiInspector
### Editor ### Editor
| Type | Properties | | Type | Properties |
|-----------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`ActiveGutterRenderer`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/editor/markup/ActiveGutterRenderer.java)<br/>(2023.1+) | <control>Clicked Renderer (Class)</control> - `ActiveGutterRenderer` instance/class | | <p>[`ActiveGutterRenderer`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/editor/markup/ActiveGutterRenderer.java)<br/>(2023.1+)</p> | <p><control>Clicked Renderer (Class)</control> - `ActiveGutterRenderer` instance/class</p> |
| [`GutterIconRenderer`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/editor/markup/GutterIconRenderer.java)<br/>(2023.1+) | <control>Clicked Renderer (Class)</control> - `GutterIconRenderer` instance/class<br/><control>Accessible Name</control> - `GutterIconRenderer.getAccessibleName()`<br/><control>Icon</control> - `GutterIconRenderer.getIcon()`<br/><control>Marker Info - Element / Navigation Handler</control> - [`LineMarkerInfo.getElement() / getNavigationHandler()`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/daemon/LineMarkerInfo.java) | | <p>[`GutterIconRenderer`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/editor/markup/GutterIconRenderer.java)<br/>(2023.1+)</p> | <p><control>Clicked Renderer (Class)</control> - `GutterIconRenderer` instance/class</p><p><control>Accessible Name</control> - `GutterIconRenderer.getAccessibleName()`</p><p><control>Icon</control> - `GutterIconRenderer.getIcon()`</p><p><control>Marker Info - Element / Navigation Handler</control> - [`LineMarkerInfo.getElement() / getNavigationHandler()`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/daemon/LineMarkerInfo.java)</p> |
| [`GutterMark`](%gh-ic%/platform/editor-ui-api/src/com/intellij/codeInsight/daemon/GutterMark.java) | <control>gutter renderer</control> - [`GutterMark`](%gh-ic%/platform/editor-ui-api/src/com/intellij/codeInsight/daemon/GutterMark.java) implementation | | [`GutterMark`](%gh-ic%/platform/editor-ui-api/src/com/intellij/codeInsight/daemon/GutterMark.java) | <p><control>gutter renderer</control> - [`GutterMark`](%gh-ic%/platform/editor-ui-api/src/com/intellij/codeInsight/daemon/GutterMark.java) implementation</p> |
| [`Inlay`](inlay_hints.md)<br/>(2023.1+) | <control>Inlay Renderer (Class)</control> - `Inlay.getRenderer()` instance/class<br/><control>Inlay Gutter Renderer</control> - `Inlay.getGutterIconRenderer()`<br/><control>Inlay Properties</control> - `Inlay.getProperties()` | | <p>[`Inlay`](inlay_hints.md)<br/>(2023.1+)</p> | <p><control>Inlay Renderer (Class)</control> - `Inlay.getRenderer()` instance/class</p><p><control>Inlay Gutter Renderer</control> - `Inlay.getGutterIconRenderer()`</p><p><control>Inlay Properties</control> - `Inlay.getProperties()`</p> |
| [`IntentionAction`/`QuickFix`](code_inspections_and_intentions.md) | <control>intention action</control>/<control>quick fix</control> - [`IntentionAction`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInsight/intention/IntentionAction.java) / [`QuickFix`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInspection/QuickFix.java) implementation | | [`IntentionAction`/`QuickFix`](code_inspections_and_intentions.md) | <p><control>intention action</control>/<control>quick fix</control> - [`IntentionAction`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInsight/intention/IntentionAction.java) / [`QuickFix`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInspection/QuickFix.java) implementation</p> |
### Action ### Action
| Type | Properties | | Type | Properties |
|-------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`AnAction`](basic_action_system.md) | <control>Action</control> - [`AnAction`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnAction.java) implementation<br/><control>Action ID</control> - Action `id`<br/><control>Action Plugin ID</control> - contributing plugin | | [`AnAction`](basic_action_system.md) | <p><control>Action</control> - [`AnAction`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnAction.java) implementation</p><p><control>Action ID</control> - Action `id`</p><p><control>Action Plugin ID</control> - contributing plugin</p> |
| [`ActionToolbar`](basic_action_system.md) | <control>Toolbar Group</control> - Action Group ID<br/><control>All Toolbar Groups</control> - contained Action Group IDs<br/><control>Target component</control> - `ActionToolbar.setTargetComponent()` | | [`ActionToolbar`](basic_action_system.md) | <p><control>Toolbar Group</control> - Action Group ID</p><p><control>All Toolbar Groups</control> - contained Action Group IDs</p><p><control>Target component</control> - `ActionToolbar.setTargetComponent()`</p> |
### IDE and UI Components ### IDE and UI Components
| Type | Properties | | Type | Properties |
|--------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |--------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`DialogWrapper`](dialog_wrapper.md) | <control>dialogWrapperClass</control> - [`DialogWrapper`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java) implementation | | [`DialogWrapper`](dialog_wrapper.md) | <control>dialogWrapperClass</control> - [`DialogWrapper`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/ui/DialogWrapper.java) implementation |
| [`ToolWindow`](tool_windows.md) | <control>Tool Window ID</control> - `id`<br/><control>Tool Window Icon</control> - `icon`<br/><control>Tool Window Factory</control> - [`ToolWindowFactory`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/wm/ToolWindowFactory.java) | | [`ToolWindow`](tool_windows.md) | <p><control>Tool Window ID</control> - `id`</p><p><control>Tool Window Icon</control> - `icon`</p><p><control>Tool Window Factory</control> - [`ToolWindowFactory`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/wm/ToolWindowFactory.java)</p> |
| [`Tree`](lists_and_trees.md) | <control>treeModelClass</control> - `javax.swing.tree.TreeModel` implementation | | [`Tree`](lists_and_trees.md) | <control>treeModelClass</control> - `javax.swing.tree.TreeModel` implementation |
## Inspecting Settings ## Inspecting Settings
@ -74,12 +74,12 @@ Some additional properties are available when inspecting <control>Settings</cont
> _UI Inspector_ must be invoked only after opening the <control>Settings</control> dialog. > _UI Inspector_ must be invoked only after opening the <control>Settings</control> dialog.
| Settings page<br/>Reference | Properties | | <p>Settings page</p><p>Reference</p> | Properties |
|-----------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |--------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| _All settings_<br/>[](settings_guide.md) | <control>Configurable class</control> - [`Configurable`](%gh-ic%/platform/ide-core/src/com/intellij/openapi/options/Configurable.java) class<br/><control>Configurable ID</control> - `id` attribute<br/><control>Configurable weight</control> - `groupWeight` attribute | | <p>_All settings_</p><p>[](settings_guide.md)</p> | <p><control>Configurable class</control> - [`Configurable`](%gh-ic%/platform/ide-core/src/com/intellij/openapi/options/Configurable.java) class</p><p><control>Configurable ID</control> - `id` attribute</p><p><control>Configurable weight</control> - `groupWeight` attribute</p> |
| <ui-path>Editor &#124; Color Scheme</ui-path><br/>[](syntax_highlighting_and_error_highlighting.md#textattributeskey) | <control>Text Attributes Key</control> - [`TextAttributesKey`](%gh-ic%/platform/core-api/src/com/intellij/openapi/editor/colors/TextAttributesKey.java) external name | | <p><ui-path>Editor &#124; Color Scheme</ui-path></p><p>[](syntax_highlighting_and_error_highlighting.md#textattributeskey)</p> | <p><control>Text Attributes Key</control> - [`TextAttributesKey`](%gh-ic%/platform/core-api/src/com/intellij/openapi/editor/colors/TextAttributesKey.java) external name</p> |
| <ui-path>Editor &#124; File Types</ui-path><br/>[](registering_file_type.md) | <control>FileTypeID</control> - `FileType.getName()`<br/><control>FileType Class</control> - [`FileType`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileTypes/FileType.java) implementation | | <p><ui-path>Editor &#124; File Types</ui-path></p><p>[](registering_file_type.md)</p> | <p><control>FileTypeID</control> - `FileType.getName()`</p><p><control>FileType Class</control> - [`FileType`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileTypes/FileType.java) implementation</p> |
| <ui-path>Editor &#124; Inspections</ui-path><br/>[](code_inspections.md) | <control>Inspection key</control> - Inspection `id`<br/><control>Inspection tool class</control> - Inspection implementation | | <p><ui-path>Editor &#124; Inspections</ui-path></p><p>[](code_inspections.md)</p> | <p><control>Inspection key</control> - Inspection `id`</p><p><control>Inspection tool class</control> - Inspection implementation</p> |
| <ui-path>Editor &#124; Inlays</ui-path><br/>[](inlay_hints.md) | <control>Inlay Group Key</control> - [`InlayGroupSettingProvider.getGroup().key`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/hints/settings/InlayGroupSettingProvider.kt)<br/><control>Inlay Group Key</control> - [`InlayGroup.key`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/hints/InlayHintsProvider.kt)<br/><control>Inlay Provider Model ID</control> - [`InlayProviderSettingsModel.id`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/hints/settings/InlayProviderSettingsModel.kt)<br/><control>Inlay ImmediateConfigurable ID</control> - [`ImmediateConfigurable.Case.id`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/hints/InlayHintsProvider.kt) | | <p><ui-path>Editor &#124; Inlays</ui-path></p><p>[](inlay_hints.md)</p> | <p><control>Inlay Group Key</control> - [`InlayGroupSettingProvider.getGroup().key`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/hints/settings/InlayGroupSettingProvider.kt)</p><p><control>Inlay Group Key</control> - [`InlayGroup.key`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/hints/InlayHintsProvider.kt)</p><p><control>Inlay Provider Model ID</control> - [`InlayProviderSettingsModel.id`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/hints/settings/InlayProviderSettingsModel.kt)</p><p><control>Inlay ImmediateConfigurable ID</control> - [`ImmediateConfigurable.Case.id`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/hints/InlayHintsProvider.kt)</p> |
| <ui-path>Editor &#124; Intentions</ui-path><br/>[](code_intentions.md) | <control>Intention Class</control> - [`IntentionAction`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInsight/intention/IntentionAction.java) class<br/><control>Intention description directory</control> - `<descriptionDirectoryName>` | | <p><ui-path>Editor &#124; Intentions</ui-path></p><p>[](code_intentions.md)</p> | <p><control>Intention Class</control> - [`IntentionAction`](%gh-ic%/platform/analysis-api/src/com/intellij/codeInsight/intention/IntentionAction.java) class</p><p><control>Intention description directory</control> - `<descriptionDirectoryName>`</p> |
| <ui-path>Plugins</ui-path><br/>[](plugin_configuration_file.md) | <control>Plugin ID</control> - Plugin `<id>`<br/><control>Plugin Dependencies</control> - IDs of dependent plugins | | <p><ui-path>Plugins</ui-path></p><p>[](plugin_configuration_file.md)</p> | <p><control>Plugin ID</control> - Plugin `<id>`</p><p><control>Plugin Dependencies</control> - IDs of dependent plugins</p> |

View File

@ -12,10 +12,10 @@ The IntelliJ Platform handles encoding and line break conversions when loading a
## How do I get a Document? ## How do I get a Document?
| Context | API | | Context | API |
|----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Action](basic_action_system.md) | [`AnActionEvent.getData(CommonDataKeys.EDITOR).getDocument()`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java) | | [Action](basic_action_system.md) | [`AnActionEvent.getData(CommonDataKeys.EDITOR).getDocument()`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java) |
| [PSI File](psi_files.md) | [`PsiDocumentManager.getDocument()`/`getCachedDocument()`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiDocumentManager.java) | | [PSI File](psi_files.md) | [`PsiDocumentManager.getDocument()`/`getCachedDocument()`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiDocumentManager.java) |
| [Virtual File](virtual_file.md) | [`FileDocumentManager.getDocument()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java) (forces the document content to be loaded from a disk if it wasn't loaded previously)<br/>[`FileDocumentManager.getCachedDocument()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java) (use if only open or possibly modified documents are relevant) | | [Virtual File](virtual_file.md) | <p>[`FileDocumentManager.getDocument()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java) (forces the document content to be loaded from a disk if it wasn't loaded previously)</p><p>[`FileDocumentManager.getCachedDocument()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java) (use if only open or possibly modified documents are relevant)</p> |
## What can I do with a Document? ## What can I do with a Document?

View File

@ -16,9 +16,9 @@ The [`PsiElement`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiElement.jav
## How do I get a PSI element? ## How do I get a PSI element?
| Context | API | | Context | API |
|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Action](basic_action_system.md) | [`AnActionEvent.getData(CommonDataKeys.PSI_ELEMENT)`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java)<br/>Note: If an editor is currently open and the element under caret is a [reference](psi_references.md), this will return the result of resolving the reference. | | [Action](basic_action_system.md) | <p>[`AnActionEvent.getData(CommonDataKeys.PSI_ELEMENT)`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java)</p><p>Note: If an editor is currently open and the element under caret is a [reference](psi_references.md), this will return the result of resolving the reference.</p> |
| [PSI File](psi_files.md) | [`PsiFile.findElementAt(offset)`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiFile.java) - This returns a leaf element at the specified offset, normally a lexer token. Use `PsiTreeUtil.getParentOfType()` to find the element of the exact type.<br/>[`PsiRecursiveElementWalkingVisitor`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiRecursiveElementWalkingVisitor.java) | | [PSI File](psi_files.md) | <p>[`PsiFile.findElementAt(offset)`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiFile.java) - This returns a leaf element at the specified offset, normally a lexer token. Use `PsiTreeUtil.getParentOfType()` to find the element of the exact type.</p><p>[`PsiRecursiveElementWalkingVisitor`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiRecursiveElementWalkingVisitor.java)</p> |
| [Reference](psi_references.md) | [`PsiReference.resolve()`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiReference.java) | | [Reference](psi_references.md) | [`PsiReference.resolve()`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiReference.java) |
## What can I do with PSI elements? ## What can I do with PSI elements?

View File

@ -15,12 +15,12 @@ Contents of a `VirtualFile` are treated as a stream of bytes, but concepts like
## How do I get a virtual file? ## How do I get a virtual file?
| Context | API | | Context | API |
|----------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Action](basic_action_system.md) | [`AnActionEvent.getData(PlatformDataKeys.VIRTUAL_FILE)`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java)<br/>[`AnActionEvent.getData(PlatformDataKeys.VIRTUAL_FILE_ARRAY)`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java) for multiple selection | | [Action](basic_action_system.md) | <p>[`AnActionEvent.getData(PlatformDataKeys.VIRTUAL_FILE)`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java)</p><p>[`AnActionEvent.getData(PlatformDataKeys.VIRTUAL_FILE_ARRAY)`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java) for multiple selection</p> |
| [Document](documents.md) | [`FileDocumentManager.getFile()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java) | | [Document](documents.md) | [`FileDocumentManager.getFile()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/fileEditor/FileDocumentManager.java) |
| [PSI File](psi_files.md) | [`PsiFile.getVirtualFile()`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiFile.java) (may return `null` if the PSI file exists only in memory) | | [PSI File](psi_files.md) | [`PsiFile.getVirtualFile()`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiFile.java) (may return `null` if the PSI file exists only in memory) |
| File Name | [`FilenameIndex.getVirtualFilesByName()`](%gh-ic%/platform/indexing-api/src/com/intellij/psi/search/FilenameIndex.java) | | File Name | [`FilenameIndex.getVirtualFilesByName()`](%gh-ic%/platform/indexing-api/src/com/intellij/psi/search/FilenameIndex.java) |
| Local File System Path | [`LocalFileSystem.findFileByIoFile()`](%gh-ic%/platform/analysis-api/src/com/intellij/openapi/vfs/LocalFileSystem.java)<br/>[`VirtualFileManager.findFileByNioPath()`/`refreshAndFindFileByNioPath()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/VirtualFileManager.java) (2020.2+) | | Local File System Path | <p>[`LocalFileSystem.findFileByIoFile()`](%gh-ic%/platform/analysis-api/src/com/intellij/openapi/vfs/LocalFileSystem.java)</p><p>[`VirtualFileManager.findFileByNioPath()`/`refreshAndFindFileByNioPath()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/vfs/VirtualFileManager.java) (2020.2+)</p> |
## What can I do with it? ## What can I do with it?

View File

@ -161,8 +161,8 @@ If the `compact` attribute is `true` for a menu group, an action in the menu onl
In contrast, if the `compact` attribute is `false`, an action in the menu appears if its state is disabled but visible. In contrast, if the `compact` attribute is `false`, an action in the menu appears if its state is disabled but visible.
Some menus like <ui-path>Tools</ui-path> have the `compact` attribute set, so there isn't a way to show an action on the <ui-path>Tools</ui-path> menu if it is not enabled. Some menus like <ui-path>Tools</ui-path> have the `compact` attribute set, so there isn't a way to show an action on the <ui-path>Tools</ui-path> menu if it is not enabled.
| Host Menu<br/>`compact` Setting | Action Enabled | Visibility Enabled | Menu Item Visible? | Menu Item Appears Gray? | | Host Menu `compact`&nbsp;Setting | Action Enabled | Visibility Enabled | Menu Item Visible? | Menu Item Appears Gray? |
|:-------------------------------:|:--------------:|:------------------:|:------------------:|:-----------------------:| |:--------------------------------:|:--------------:|:------------------:|:------------------:|:-----------------------:|
| T | **F** | T | **F** | N/A | | T | **F** | T | **F** | N/A |
| T | T | T | T | F | | T | T | T | T | F |
| F | **F** | T | **T** | **T** | | F | **F** | T | **T** | **T** |

View File

@ -78,12 +78,12 @@ This table is not exhaustive, to see a list of all modules, invoke code completi
| Module or Plugin for [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) Element | Functionality | Product Compatibility | | Module or Plugin for [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) Element | Functionality | Product Compatibility |
|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `com.intellij.modules.java` or `com.intellij.java`<br/>See [](#java) below. | **Java** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | IntelliJ IDEA, Android Studio | | `com.intellij.modules.java` or `com.intellij.java`<p>See [](#java) below.</p> | **Java** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | IntelliJ IDEA, Android Studio |
| `com.intellij.modules.androidstudio` | Android SDK Platform, Build Tools, Platform Tools, SDK Tools | Android Studio | | `com.intellij.modules.androidstudio` | Android SDK Platform, Build Tools, Platform Tools, SDK Tools | Android Studio |
| `com.intellij.modules.cidr.lang` | **C, C++, Objective-C/C++** language PSI Model, Swift/Objective-C Interaction, Inspections, Intentions, Completion, Refactoring, Test Framework | AppCode, CLion | | `com.intellij.modules.cidr.lang` | **C, C++, Objective-C/C++** language PSI Model, Swift/Objective-C Interaction, Inspections, Intentions, Completion, Refactoring, Test Framework | AppCode, CLion |
| `com.intellij.modules.cidr.debugger` | Debugger Watches, Evaluations, Breakpoints, Inline Debugging | AppCode, CLion, RubyMine | | `com.intellij.modules.cidr.debugger` | Debugger Watches, Evaluations, Breakpoints, Inline Debugging | AppCode, CLion, RubyMine |
| `com.intellij.modules.appcode` or `com.intellij.appcode`<br/>See [](#appcodeclion) below. | Xcode Project Model, CocoaPods, Core Data Objects, Device & Simulator Support | AppCode | | `com.intellij.modules.appcode` or `com.intellij.appcode`<p>See [](#appcodeclion) below.</p> | Xcode Project Model, CocoaPods, Core Data Objects, Device & Simulator Support | AppCode |
| `com.intellij.modules.clion` or `com.intellij.clion`<br/>See [](#appcodeclion) below. | CMake, Profiler, Embedded Development, Remote Development, Remote Debug, Disassembly | CLion | | `com.intellij.modules.clion` or `com.intellij.clion`<p>See [](#appcodeclion) below.</p> | CMake, Profiler, Embedded Development, Remote Development, Remote Debug, Disassembly | CLion |
| `com.intellij.cidr.base` | Native Debugger Integration, Utility Classes, C/C++ Project Model/Workspace Support (OCWorkspace, CidrWorkspace, etc.), C/C++ Build and Run Support | AppCode, CLion | | `com.intellij.cidr.base` | Native Debugger Integration, Utility Classes, C/C++ Project Model/Workspace Support (OCWorkspace, CidrWorkspace, etc.), C/C++ Build and Run Support | AppCode, CLion |
| `com.intellij.database` | **Database Tools and SQL** language PSI Model, Inspections, Completion, Refactoring, Queries | DataGrip, IntelliJ IDEA Ultimate, AppCode, PhpStorm, PyCharm Professional, RubyMine, CLion, GoLand, Rider, and WebStorm if the Database Tools and SQL plugin is installed. | | `com.intellij.database` | **Database Tools and SQL** language PSI Model, Inspections, Completion, Refactoring, Queries | DataGrip, IntelliJ IDEA Ultimate, AppCode, PhpStorm, PyCharm Professional, RubyMine, CLion, GoLand, Rider, and WebStorm if the Database Tools and SQL plugin is installed. |
| `org.jetbrains.plugins.go` | **Go** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | GoLand | | `org.jetbrains.plugins.go` | **Go** language PSI Model, Inspections, Intentions, Completion, Refactoring, Test Framework | GoLand |

View File

@ -38,9 +38,9 @@ The table below summarizes the [](tools_gradle_intellij_plugin.md) attributes to
Click on an entry in the table's *Attribute* column to go to the documentation about that attribute. Click on an entry in the table's *Attribute* column to go to the documentation about that attribute.
| `gradle-intellij-plugin` Attribute | Attribute Value | | `gradle-intellij-plugin` Attribute | Attribute Value |
|--------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |--------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`intellij.localPath`](tools_gradle_intellij_plugin.md#intellij-extension-localpath) | Path to locally installed target version of AppCode. For example, for macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/AppCode/ch-0/193.5662.55/AppCode.app/Contents</path>. | | [`intellij.localPath`](tools_gradle_intellij_plugin.md#intellij-extension-localpath) | <p>Path to locally installed target version of AppCode. For example, for macOS:</p><p><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/AppCode/ch-0/193.5662.55/AppCode.app/Contents</path>.</p> |
| [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | Path to locally installed target version of AppCode. For example, for macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/AppCode/ch-0/193.5662.55/AppCode.app/Contents</path>. | | [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | <p>Path to locally installed target version of AppCode. For example, for macOS:</p><p><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/AppCode/ch-0/193.5662.55/AppCode.app/Contents</path>.</p> |
The dependency on the AppCode APIs must be declared in the <path>[plugin.xml](plugin_configuration_file.md)</path> file. The dependency on the AppCode APIs must be declared in the <path>[plugin.xml](plugin_configuration_file.md)</path> file.
As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) tags must declare `com.intellij.modules.appcode` module dependency, or `com.intellij.appcode` plugin dependency for plugins targeting only versions 2020.3+. As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) tags must declare `com.intellij.modules.appcode` module dependency, or `com.intellij.appcode` plugin dependency for plugins targeting only versions 2020.3+.

View File

@ -21,11 +21,11 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
To see how these attributes appear in a similar Gradle build script for PhpStorm, see [](dev_alternate_products.md#configuring-gradle-build-script-using-the-intellij-idea-product-attribute). To see how these attributes appear in a similar Gradle build script for PhpStorm, see [](dev_alternate_products.md#configuring-gradle-build-script-using-the-intellij-idea-product-attribute).
| `gradle-intellij-plugin` Attribute | Attribute Value | | `gradle-intellij-plugin` Attribute | Attribute Value |
|----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for IntelliJ IDEA Ultimate.<br/>(`IC` is incompatible with the required `DatabaseTools` plugin.) | | [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | <p>`IU` for IntelliJ IDEA Ultimate.</p><p>_`IC` is incompatible with the required `DatabaseTools` plugin._</p> |
| [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | `2019.3` Set to the same version as the DataGrip target version, as set by `runIde.ideDir`. | | [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | `2019.3` Set to the same version as the DataGrip target version, as set by `runIde.ideDir`. |
| [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | `DatabaseTools` Dependency on the bundled `DatabaseTools` plugin. | | [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | `DatabaseTools` Dependency on the bundled `DatabaseTools` plugin. |
| [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | Path to locally installed target version of DataGrip. For example, for macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/datagrip/ch-0/193.5233.139/DataGrip.app/Contents</path>. | | [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | <p>Path to locally installed target version of DataGrip. For example, for macOS:</p><p><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/datagrip/ch-0/193.5233.139/DataGrip.app/Contents</path>.</p> |
The dependency on the DataGrip APIs must be declared in the <path>[plugin.xml](plugin_configuration_file.md)</path> file. The dependency on the DataGrip APIs must be declared in the <path>[plugin.xml](plugin_configuration_file.md)</path> file.
As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) tags must declare `com.intellij.database`. As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) tags must declare `com.intellij.database`.

View File

@ -67,11 +67,11 @@ The Go plugin version is explicitly declared because it isn't bundled with Intel
Select a [version](https://plugins.jetbrains.com/plugin/9568-go/versions) of the Go plugin compatible with the IntelliJ Idea Ultimate version. Select a [version](https://plugins.jetbrains.com/plugin/9568-go/versions) of the Go plugin compatible with the IntelliJ Idea Ultimate version.
| Gradle IntelliJ Plugin Attribute | Attribute Value | | Gradle IntelliJ Plugin Attribute | Attribute Value |
|----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for IntelliJ IDEA Ultimate. The Go plugin isn't compatible with IntelliJ IDEA Community Edition. | | [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for IntelliJ IDEA Ultimate. The Go plugin isn't compatible with IntelliJ IDEA Community Edition. |
| [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | Set to the same `IU` BRANCH.BUILD as the GoLand target version, e.g. `193.5233.102`. | | [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | Set to the same `IU` BRANCH.BUILD as the GoLand target version, e.g. `193.5233.102`. |
| [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | `org.jetbrains.plugins.go:193.5233.102.83` for the Go plugin.<br/>See below for Go plugin version information. | | [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | <p>`org.jetbrains.plugins.go:193.5233.102.83` for the Go plugin.</p><p>See below for Go plugin version information.</p> |
| [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | Path to locally installed target version of GoLand. For example, on macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/Goland/ch-0/193.5233.112/GoLand.app/Contents</path>. | | [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | <p>Path to locally installed target version of GoLand. For example, on macOS:</p><p><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/Goland/ch-0/193.5233.112/GoLand.app/Contents</path>.</p> |
</tab> </tab>

View File

@ -18,8 +18,8 @@ See [Choose your edition](https://www.jetbrains.com/idea/features/#choose-your-e
The configuration of IntelliJ IDEA plugin projects follows the methods described in [Configuring Plugin Projects using the IntelliJ IDEA Product Attribute](dev_alternate_products.md#configuring-plugin-projects-using-the-intellij-idea-product-attribute). The configuration of IntelliJ IDEA plugin projects follows the methods described in [Configuring Plugin Projects using the IntelliJ IDEA Product Attribute](dev_alternate_products.md#configuring-plugin-projects-using-the-intellij-idea-product-attribute).
| `gradle-intellij-plugin` Attribute | Attribute Value | | `gradle-intellij-plugin` Attribute | Attribute Value |
|----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------| |----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
| [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IC` for IntelliJ IDEA Community Edition (default)<br/> `IU` for IntelliJ IDEA Ultimate | | [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | <p>`IC` for IntelliJ IDEA Community Edition (default)</p><p>`IU` for IntelliJ IDEA Ultimate</p> |
| [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | IDE version, e.g. `2022.2` | | [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | IDE version, e.g. `2022.2` |
## Available API ## Available API

View File

@ -58,11 +58,11 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
To see how these attributes appear in the Gradle build script for PhpStorm, see [](dev_alternate_products.md#configuring-gradle-build-script-using-the-intellij-idea-product-attribute). To see how these attributes appear in the Gradle build script for PhpStorm, see [](dev_alternate_products.md#configuring-gradle-build-script-using-the-intellij-idea-product-attribute).
| `gradle-intellij-plugin` Attribute | Attribute Value | | `gradle-intellij-plugin` Attribute | Attribute Value |
|----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for IntelliJ IDEA Ultimate. The required PHP plugin isn't compatible with IntelliJ IDEA Community Edition. | | [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for IntelliJ IDEA Ultimate. The required PHP plugin isn't compatible with IntelliJ IDEA Community Edition. |
| [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | Set to the same `IU` BRANCH.BUILD as the PhpStorm target version, e.g. `193.5233.102`. | | [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | Set to the same `IU` BRANCH.BUILD as the PhpStorm target version, e.g. `193.5233.102`. |
| [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | `com.jetbrains.php:193.5233.102` for the PHP plugin.<br/>See below for PHP plugin version information. | | [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | <p>`com.jetbrains.php:193.5233.102` for the PHP plugin.</p><p>See below for PHP plugin version information.</p> |
| [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | Path to locally installed target version of PhpStorm. For example, on macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/PhpStorm/ch-0/193.5233.101/PhpStorm.app/Contents</path>. | | [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | <p>Path to locally installed target version of PhpStorm. For example, on macOS:</p><p><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/PhpStorm/ch-0/193.5233.101/PhpStorm.app/Contents</path>.</p> |
The PHP plugin version is explicitly declared because it isn't bundled with IntelliJ IDEA Ultimate Edition. The PHP plugin version is explicitly declared because it isn't bundled with IntelliJ IDEA Ultimate Edition.
Select a [version](https://plugins.jetbrains.com/plugin/6610-php/versions) of the PHP plugin compatible with the [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version). Select a [version](https://plugins.jetbrains.com/plugin/6610-php/versions) of the PHP plugin compatible with the [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version).

View File

@ -22,11 +22,11 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
To see how these attributes appear in a similar Gradle build script for PhpStorm, see [](dev_alternate_products.md#configuring-gradle-build-script-using-the-intellij-idea-product-attribute). To see how these attributes appear in a similar Gradle build script for PhpStorm, see [](dev_alternate_products.md#configuring-gradle-build-script-using-the-intellij-idea-product-attribute).
| `gradle-intellij-plugin` Attribute | Attribute Value | | `gradle-intellij-plugin` Attribute | Attribute Value |
|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for IntelliJ IDEA Ultimate. | | [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for IntelliJ IDEA Ultimate. |
| [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | Set to the same `IU` BRANCH.BUILD as the RubyMine target version, e.g. `192.7142.36`. | | [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | Set to the same `IU` BRANCH.BUILD as the RubyMine target version, e.g. `192.7142.36`. |
| [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | `org.jetbrains.plugins.ruby:2019.2.20191029` for the Ruby plugin.<br/>See below for Ruby plugin version information. | | [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | <p>`org.jetbrains.plugins.ruby:2019.2.20191029` for the Ruby plugin.</p><p>See below for Ruby plugin version information.</p> |
| [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | Path to locally installed target version of RubyMine. For example, on macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/RubyMine/ch-0/192.7142.37/RubyMine.app/Contents</path>. | | [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | <p>Path to locally installed target version of RubyMine. For example, on macOS:</p><p><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/RubyMine/ch-0/192.7142.37/RubyMine.app/Contents</path>.</p> |
The required `org.jetbrains.plugins.ruby` plugin isn't compatible with IntelliJ IDEA Community edition but is compatible with IntelliJ IDEA Ultimate (`IU`) edition. The required `org.jetbrains.plugins.ruby` plugin isn't compatible with IntelliJ IDEA Community edition but is compatible with IntelliJ IDEA Ultimate (`IU`) edition.
Product compatibility is determined from the Ruby plugin [version page](https://plugins.jetbrains.com/plugin/1293-ruby/versions). Product compatibility is determined from the Ruby plugin [version page](https://plugins.jetbrains.com/plugin/1293-ruby/versions).

View File

@ -25,11 +25,11 @@ Click on an entry in the table's *Attribute* column to go to the documentation a
To see how these attributes appear in a similar Gradle build script for PhpStorm, see [](dev_alternate_products.md#configuring-gradle-build-script-using-the-intellij-idea-product-attribute). To see how these attributes appear in a similar Gradle build script for PhpStorm, see [](dev_alternate_products.md#configuring-gradle-build-script-using-the-intellij-idea-product-attribute).
| `gradle-intellij-plugin` Attribute | Attribute Value | | `gradle-intellij-plugin` Attribute | Attribute Value |
|----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for [](idea_ultimate.md). | | [`intellij.type`](tools_gradle_intellij_plugin.md#intellij-extension-type) | `IU` for [](idea_ultimate.md). |
| [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | `192.7142.36` Set to the same BRANCH.BUILD as the WebStorm target version. | | [`intellij.version`](tools_gradle_intellij_plugin.md#intellij-extension-version) | `192.7142.36` Set to the same BRANCH.BUILD as the WebStorm target version. |
| [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | Dependency on the `JavaScript` plugin. | | [`intellij.plugins`](tools_gradle_intellij_plugin.md#intellij-extension-plugins) | Dependency on the `JavaScript` plugin. |
| [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | Path to locally installed target version of WebStorm. For example, for macOS:<br/><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/WebStorm/ch-0/192.7142.35/WebStorm.app/Contents</path>. | | [`runIde.ideDir`](tools_gradle_intellij_plugin.md#tasks-runide-idedir) | <p>Path to locally installed target version of WebStorm. For example, for macOS:</p><p><path>/Users/$USERNAME$/Library/Application Support/JetBrains/Toolbox/apps/WebStorm/ch-0/192.7142.35/WebStorm.app/Contents</path>.</p> |
The dependency on the WebStorm APIs must be declared in the <path>[plugin.xml](plugin_configuration_file.md)</path> file. The dependency on the WebStorm APIs must be declared in the <path>[plugin.xml](plugin_configuration_file.md)</path> file.
As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) tags must declare `JavaScript`. As described in [Modules Specific to Functionality](plugin_compatibility.md#modules-specific-to-functionality) table, the [`<depends>`](plugin_configuration_file.md#idea-plugin__depends) tags must declare `JavaScript`.

View File

@ -27,9 +27,9 @@ Also, `name` and `language` must be declared matching `FileType.getName()` and I
To associate the file type in the IDE, specify one or more associations as listed in the following table. To associate the file type in the IDE, specify one or more associations as listed in the following table.
| Association type | Attribute | Attribute value | | Association type | Attribute | Attribute value |
|-------------------------|---------------------------------------------|-----------------------------------------------------------------| |-------------------------|----------------------------------------------------|-----------------------------------------------------------------|
| Filename extension(s) | `extensions` | Semicolon-separated list of extensions, without `.` prefix | | Filename extension(s) | `extensions` | Semicolon-separated list of extensions, without `.` prefix |
| Hard coded file name(s) | `fileNames`/<br/>`fileNamesCaseInsensitive` | Semicolon-separated list of exact (case-insensitive) file names | | Hard coded file name(s) | <p>`fileNames`/<br/>`fileNamesCaseInsensitive`</p> | Semicolon-separated list of exact (case-insensitive) file names |
| Filename pattern(s) | `patterns` | Semicolon-separated list of patterns (`*` and `?`) | | Filename pattern(s) | `patterns` | Semicolon-separated list of patterns (`*` and `?`) |
| Hashbang _(2020.2+)_ | `hashBangs` | Semicolon-separated list of hash bang patterns | | Hashbang _(2020.2+)_ | `hashBangs` | Semicolon-separated list of hash bang patterns |

View File

@ -40,8 +40,8 @@ Basic API classes and interfaces for the concepts of [`Project`](%gh-ic%/platfor
A Project instance is available in multiple contexts: A Project instance is available in multiple contexts:
| Context | API | | Context | API |
|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |----------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Action](basic_action_system.md) | [`AnActionEvent.getProject()`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java)<br/>[`DataContext.getData(CommonDataKeys.PROJECT)`](%gh-ic%/platform/core-ui/src/openapi/actionSystem/DataContext.java) | | [Action](basic_action_system.md) | <p>[`AnActionEvent.getProject()`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/actionSystem/AnActionEvent.java)</p><p>[`DataContext.getData(CommonDataKeys.PROJECT)`](%gh-ic%/platform/core-ui/src/openapi/actionSystem/DataContext.java)</p> |
| [Editor](editor_basics.md) | [`Editor.getProject()`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/editor/Editor.java) | | [Editor](editor_basics.md) | [`Editor.getProject()`](%gh-ic%/platform/editor-ui-api/src/com/intellij/openapi/editor/Editor.java) |
| [Module](module.md) | [`Module.getProject()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/module/Module.java) | | [Module](module.md) | [`Module.getProject()`](%gh-ic%/platform/core-api/src/com/intellij/openapi/module/Module.java) |
| [PSI](psi.md) | [`PsiElement.getProject()`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiElement.java) | | [PSI](psi.md) | [`PsiElement.getProject()`](%gh-ic%/platform/core-api/src/com/intellij/psi/PsiElement.java) |

View File

@ -95,8 +95,8 @@ The other attributes are the same as discussed in [](settings_guide.md#settings-
For the child of a parent, the `id` attribute becomes compound: For the child of a parent, the `id` attribute becomes compound:
| Attribute | Required | Value | | Attribute | Required | Value |
|:----------|:--------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |:----------|:--------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `id` | Y | Compound FQN of implementation based on `com.intellij.openapi.options.Configurable` in the form: `XX.YY` where:<br/>`XX` is the parent Settings component FQN-based id.<br/>`YY` is unique to the child among other siblings. | | `id` | Y | <p>Compound FQN of implementation based on `com.intellij.openapi.options.Configurable` in the form: `XX.YY` where:</p><ul><li>`XX` - the parent Settings component FQN-based ID</li><li>`YY` - unique to the child among other siblings</li></ul> |
> All children share the parent's `id` as the basis of their own `id`. > All children share the parent's `id` as the basis of their own `id`.
> All children have an `id` suffix that is unique among their siblings. > All children have an `id` suffix that is unique among their siblings.

View File

@ -80,17 +80,17 @@ This section provides some additional clarification of those comments.
The attributes supported by `com.intellij.applicationConfigurable` EP and `com.intellij.projectConfigurable` EP are in the table below: The attributes supported by `com.intellij.applicationConfigurable` EP and `com.intellij.projectConfigurable` EP are in the table below:
| Attribute | Implementation<br/>Basis | Required&ensp;&ensp; | Attribute<br/>Value | | Attribute | <p>Implementation</p><p>Basis</p> | Required&ensp;&ensp; | <p>Attribute</p><p>Value</p> |
|:-----------------------|:------------------------------------------|:--------------------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |:--------------------|:---------------------------------------------------|:--------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `instance` | `Configurable` | (1) | FQN of implementation. See [](#the-configurable-interface) for more information. | | `instance` | `Configurable` | (1) | FQN of implementation. See [](#the-configurable-interface) for more information. |
| `provider` | `ConfigurableProvider` | (1) | FQN of implementation. See [](#the-configurableprovider-class) for more information. | | `provider` | `ConfigurableProvider` | (1) | FQN of implementation. See [](#the-configurableprovider-class) for more information. |
| `nonDefaultProject` | `Configurable` | Y | Applicable _only_ to the `com.intellij.projectConfigurable` (project Settings) EP.<br/>`true` = show Settings for all projects _except_ the [default project](https://www.jetbrains.com/help/idea/configure-project-settings.html#new-default-settings).<br/>`false` = show Settings for all projects. | | `nonDefaultProject` | `Configurable` | Y | <p>Applicable _only_ to the `com.intellij.projectConfigurable` (project Settings) EP.</p><p>`true` = show Settings for all projects _except_ the [default project](https://www.jetbrains.com/help/idea/configure-project-settings.html#new-default-settings).</p><p>`false` = show Settings for all projects.</p> |
| `displayName` | `Configurable`<br/>`ConfigurableProvider` | (2) | The non-localized Settings name visible to users, which is needed for the Settings dialog left-side menu.<br/>For a _localized_ visible name omit `displayName` and use the `key` and `bundle` attributes. | | `displayName` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | (2) | <p>The non-localized Settings name visible to users, which is needed for the Settings dialog left-side menu.</p><p>For a _localized_ visible name omit `displayName` and use the `key` and `bundle` attributes.</p> |
| `key` and<br/>`bundle` | `Configurable`<br/>`ConfigurableProvider` | (2) | The [localization](localization_guide.md) key and bundle for the Settings name visible to users.<br/>For non-localized visible names omit `key` and `bundle` and use `displayName`. | | `key` and `bundle` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | (2) | <p>The [localization](localization_guide.md) key and bundle for the Settings name visible to users.</p><p>For non-localized visible names omit `key` and `bundle` and use `displayName`.</p> |
| `id` | `Configurable`<br/>`ConfigurableProvider` | Y | The unique, FQN identifier for this implementation.<br/>The FQN should be based on the plugin `id` to ensure uniqueness. | | `id` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | Y | <p>The unique, FQN identifier for this implementation.</p><p>The FQN should be based on the plugin `id` to ensure uniqueness.</p> |
| `parentId` | `Configurable`<br/>`ConfigurableProvider` | Y | This attribute is used to create a hierarchy of Settings. This component is declared one of the specified `parentId` component's children. Typically used for placing a Settings panel within the Settings Dialog menu. Acceptable values for `parentId` are given in [](#values-for-parent-id-attribute).<br/>`groupId` is deprecated.(3) | | `parentId` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | Y | <p>This attribute is used to create a hierarchy of Settings. This component is declared one of the specified `parentId` component's children. Typically used for placing a Settings panel within the Settings Dialog menu. Acceptable values for `parentId` are given in [](#values-for-parent-id-attribute).</p><p>`groupId` is deprecated.(3)</p> |
| `groupWeight` | `Configurable`<br/>`ConfigurableProvider` | N | Specifies the weight (stacking order) of this component within the group of a parent configurable component. The default weight is 0, meaning lowest in the order.<br/>If one child in a group or a parent component has non-zero weight, all children will be sorted descending by their weight. If the weights are equal, the components will be sorted ascending by their display name. | | `groupWeight` | <p>`Configurable`</p><p>`ConfigurableProvider`</p> | N | <p>Specifies the weight (stacking order) of this component within the group of a parent configurable component. The default weight is 0, meaning lowest in the order.</p><p>If one child in a group or a parent component has non-zero weight, all children will be sorted descending by their weight. If the weights are equal, the components will be sorted ascending by their display name.</p> |
| `dynamic` | `Configurable.Composite` | N | This component's children are dynamically calculated by calling the `getConfigurables()` method.<br/>Not recommended because it requires loading additional classes while building a Settings tree. If possible, use XML attributes instead. | | `dynamic` | `Configurable.Composite` | N | <p>This component's children are dynamically calculated by calling the `getConfigurables()` method.</p><p>Not recommended because it requires loading additional classes while building a Settings tree. If possible, use XML attributes instead.</p> |
| `childrenEPName` | `Configurable` | N | Specifies the FQN name of the Extension Point that will be used to calculate the children of this component. | | `childrenEPName` | `Configurable` | N | Specifies the FQN name of the Extension Point that will be used to calculate the children of this component. |
**Attribute Notes:** **Attribute Notes:**

View File

@ -78,21 +78,21 @@ All keys must follow this Naming Pattern:
#### Property #### Property
| Word | Use for | Example | | Word | Use for | Example |
|-------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------| |-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------|
| **`foreground`** | Text color. | `Label.foreground` | | **`foreground`** | Text color. | `Label.foreground` |
| **`background`** | Background color for objects with text. | `Label.background` | | **`background`** | Background color for objects with text. | `Label.background` |
| **`<part>Color`** | Objects with a single color (do not have foreground/background). Do not use the word "Color" separately, always use with the "part" word. <br/><br/>_The word "Color" shows that this is a color property. Otherwise, it can be confused with a property of another type._ | `Popup.borderColor` <br/> `Group.separatorColor` | | **`<part>Color`** | <p>Objects with a single color (do not have foreground/background). Do not use the word "Color" separately, always use with the "part" word. </p><p>_The word "Color" shows that this is a color property. Otherwise, it can be confused with a property of another type._</p> | <p>`Popup.borderColor`</p><p>`Group.separatorColor`</p> |
#### State #### State
| Word | Use for | Example | | Word | Use for | Example |
|-----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------| |------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------|
| ~~**`Active`**~~ | Enabled components, default state. Omit this word. The default state does not need explicit naming. | `Notification.background` | | ~~**`Active`**~~ | Enabled components, default state. Omit this word. The default state does not need explicit naming. | `Notification.background` |
| **`Inactive`** | Enabled components that might be perceived as interactive but are actually not. Example: a tree with visible selection but not in focus. Goes after other state words. | `Tree.inactiveBackground` <br/> `ToolWindow.HeaderTab.hoverInactiveBackground` | | **`Inactive`** | Enabled components that might be perceived as interactive but are actually not. Example: a tree with visible selection but not in focus. Goes after other state words. | <p>`Tree.inactiveBackground`</p><p>`ToolWindow.HeaderTab.hoverInactiveBackground`</p> |
| **`Focused`** | The current focused component. | `Button.focusedBorderColor` | | **`Focused`** | The current focused component. | `Button.focusedBorderColor` |
| **`Selected`** | A selected tab or any other control that has equally meaningful selected and inactive states. | `ToolWindow.HeaderTab.selectedBackground` | | **`Selected`** | A selected tab or any other control that has equally meaningful selected and inactive states. | `ToolWindow.HeaderTab.selectedBackground` |
| **`Hover`** <br/> **`Pressed`** | An action as indicated in states. | `Link.hoverForeground` <br/> `Link.pressedForeground` | | <p>**`Hover`**</p><p>**`Pressed`**</p> | An action as indicated in states. | <p>`Link.hoverForeground`</p><p>`Link.pressedForeground`</p> |
| **`Error`** <br/> **`Warning`** <br/> **`Success`** | Validation states. [See example](https://jetbrains.design/intellij/principles/validation_errors/) in the guide article. | `ValidationTooltip.errorBackground` <br/> `ValidationTooltip.warningBorderColor` | | <p>**`Error`**</p><p>**`Warning`**</p><p>**`Success`**</p> | Validation states. [See example](https://jetbrains.design/intellij/principles/validation_errors/) in the guide article. | <p>`ValidationTooltip.errorBackground`</p><p>`ValidationTooltip.warningBorderColor`</p> |
| **`Disabled`** | Unavailable components. | `Label.disabledForeground` | | **`Disabled`** | Unavailable components. | `Label.disabledForeground` |
#### Part #### Part
@ -104,15 +104,15 @@ If a part is common among several components, use the same name for it.
Notable examples of common parts: Notable examples of common parts:
| Common parts | Use for | Example | | Common parts | Use for | Example |
|----------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------| |-----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|
| **`Accelerator`** <br/> **`Shortcut`** | Shortcut foreground. | `Menu.acceleratorForeground` <br/> `Editor.shortcutForeground` | | <p>**`Accelerator`**</p><p>**`Shortcut`**</p> | Shortcut foreground. | <p>`Menu.acceleratorForeground`</p><p>`Editor.shortcutForeground`</p> |
| **`Border`** | A line around a component. | `NavBar.borderColor` | | **`Border`** | A line around a component. | `NavBar.borderColor` |
| **`Caret`** | The vertical line that denotes typing place. | `TextField.caretForeground` | | **`Caret`** | The vertical line that denotes typing place. | `TextField.caretForeground` |
| **`ModifiedItem`** | An object that has been modified but not yet saved. <br/><br/>_Example: change anything in the Settings dialog, the setting group name in the tree becomes blue._ | `Tree.modifiedItemForeground` | | **`ModifiedItem`** | <p>An object that has been modified but not yet saved.</p><p>_Example: change anything in the Settings dialog, the setting group name in the tree becomes blue._</p> | `Tree.modifiedItemForeground` |
| **`Focus`** | Wide focus border around a component. | `Component.focusColor` <br/><br/>_"Component" is a special key that sets common properties for several basic input components._ | | **`Focus`** | Wide focus border around a component. | <p>`Component.focusColor`</p><p>_"Component" is a special key that sets common properties for several basic input components._</p> |
| **`Info`** | Secondary labels with additional useful information. Usually appear in gray color to the right or below a regular label. | `CompletionPopup.infoForeground` | | **`Info`** | Secondary labels with additional useful information. Usually appear in gray color to the right or below a regular label. | `CompletionPopup.infoForeground` |
| **`Icon`** | An icon that is created with a source code (not an image file). | `Table.sortIconColor` | | **`Icon`** | An icon that is created with a source code (not an image file). | `Table.sortIconColor` |
| **`Selection`** | The focus place in a component with selectable text. Can be in a typed text or in a list or tree. <br/> Goes before other state words (for historical reasons). | `TextField.selectionForeground` <br/> `Tree.selectionInactiveBackground` | | **`Selection`** | <p>The focus place in a component with selectable text. Can be in a typed text or in a list or tree.</p><p>Goes before other state words (for historical reasons).</p> | <p>`TextField.selectionForeground`</p><p>`Tree.selectionInactiveBackground`</p> |
| **`Separator`** | A horizontal or vertical line inside a component. Can be with a label. | `Menu.separatorColor` | | **`Separator`** | A horizontal or vertical line inside a component. Can be with a label. | `Menu.separatorColor` |
| **`Shadow`** | A shadow below a component. | `Button.shadowColor` | | **`Shadow`** | A shadow below a component. | `Button.shadowColor` |

View File

@ -13,11 +13,11 @@ The [`JBPopupFactory`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/ui
The most commonly used methods are: The most commonly used methods are:
| Method | Description | | Method | Description |
|---------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |---------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `createComponentPopupBuilder()` | Generic, allows showing any [Swing](https://docs.oracle.com/javase/tutorial/uiswing/start/index.html) component.<br/>**Example**: [`IntentionPreviewPopupUpdateProcessor`](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/preview/IntentionPreviewPopupUpdateProcessor.kt) creating a popup rendering the intention preview. | | `createComponentPopupBuilder()` | <p>Generic, allows showing any [Swing](https://docs.oracle.com/javase/tutorial/uiswing/start/index.html) component.</p><p>**Example**: [`IntentionPreviewPopupUpdateProcessor`](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/preview/IntentionPreviewPopupUpdateProcessor.kt) creating a popup rendering the intention preview.</p> |
| `createPopupChooserBuilder()` | For choosing one or more items from a plain `java.util.List`.<br/>**Example**: [`ShowMessageHistoryAction`](%gh-ic%/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/ShowMessageHistoryAction.kt) creating a popup with recent commit messages history in the commit message text area. | | `createPopupChooserBuilder()` | <p>For choosing one or more items from a plain `java.util.List`.</p><p>**Example**: [`ShowMessageHistoryAction`](%gh-ic%/platform/vcs-impl/src/com/intellij/openapi/vcs/actions/ShowMessageHistoryAction.kt) creating a popup with recent commit messages history in the commit message text area.</p> |
| `createConfirmation()` | For choosing between two options, and performing different actions depending on which option is selected.<br/>**Example**: [`VariableInplaceRenamer`](%gh-ic%/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java) creating confirmation popup after invalid variable name is provided in the inplace rename action. | | `createConfirmation()` | <p>For choosing between two options, and performing different actions depending on which option is selected.</p><p>**Example**: [`VariableInplaceRenamer`](%gh-ic%/platform/lang-impl/src/com/intellij/refactoring/rename/inplace/VariableInplaceRenamer.java) creating confirmation popup after invalid variable name is provided in the inplace rename action.</p> |
| `createActionGroupPopup()` | Show actions from an [Action Group](grouping_action.md) and executes the action selected by the user.<br/>**Example**: [`ShowRecentFindUsagesGroup`](%gh-ic%/platform/lang-impl/src/com/intellij/find/impl/ShowRecentFindUsagesGroup.java) invoked via <ui-path>Edit / Find Usages / Recent Find Usages</ui-path> and showing recent find usages group popup. | | `createActionGroupPopup()` | <p>Show actions from an [Action Group](grouping_action.md) and executes the action selected by the user.</p><p>**Example**: [`ShowRecentFindUsagesGroup`](%gh-ic%/platform/lang-impl/src/com/intellij/find/impl/ShowRecentFindUsagesGroup.java) invoked via <ui-path>Edit / Find Usages / Recent Find Usages</ui-path> and showing recent find usages group popup.</p> |
### Action Groups ### Action Groups