From a91c10c36dc2d114af8a214e0ba32a45550f339c Mon Sep 17 00:00:00 2001 From: Karol Lewandowski Date: Fri, 31 Mar 2023 14:22:25 +0200 Subject: [PATCH] Add missing --- .../internal_ui_laf_defaults.md | 6 ++- .../internal_actions/internal_ui_sub.md | 6 ++- topics/basics/basic_run_configurations.md | 6 ++- topics/basics/faq.md | 6 ++- topics/basics/persisting_sensitive_data.md | 38 ++++++++++--------- topics/basics/plugin_types.md | 6 ++- .../testing_plugins/testing_highlighting.md | 6 ++- .../testing_plugins/tests_and_fixtures.md | 6 ++- .../phpstorm/php_open_api_breaking_changes.md | 8 ++-- .../php_open_api_breaking_changes_202.md | 6 ++- .../php_open_api_breaking_changes_203.md | 6 ++- .../custom_language_support/inlay_hints.md | 4 +- topics/reference_guide/localization_guide.md | 12 +++--- topics/reference_guide/multiple_carets.md | 6 ++- .../editor_components.md | 6 ++- .../lists_and_trees.md | 6 ++- topics/user_interface_components/popups.md | 16 ++++---- .../user_interface_components.md | 4 +- 18 files changed, 95 insertions(+), 59 deletions(-) diff --git a/topics/appendix/tools/ide_tooling/internal_actions/internal_ui_laf_defaults.md b/topics/appendix/tools/ide_tooling/internal_actions/internal_ui_laf_defaults.md index 07b235ec1..57f11c861 100644 --- a/topics/appendix/tools/ide_tooling/internal_actions/internal_ui_laf_defaults.md +++ b/topics/appendix/tools/ide_tooling/internal_actions/internal_ui_laf_defaults.md @@ -1,7 +1,9 @@ -[//]: # (title: Internal Actions - LaF Defaults) - +# Internal Actions - LaF Defaults + +Using LaF Defaults window to view and prototype UI control colors in a running IDE. + The LaF Defaults window provides a key-value pair lookup for UI Controls. It also allows interactive prototyping of UI Control color changes. diff --git a/topics/appendix/tools/ide_tooling/internal_actions/internal_ui_sub.md b/topics/appendix/tools/ide_tooling/internal_actions/internal_ui_sub.md index 3f87ce5a2..aadae5693 100644 --- a/topics/appendix/tools/ide_tooling/internal_actions/internal_ui_sub.md +++ b/topics/appendix/tools/ide_tooling/internal_actions/internal_ui_sub.md @@ -1,6 +1,8 @@ -[//]: # (title: Internal Actions - UI Submenu) + - +# Internal Actions - UI Submenu + +Introduction to "Internal Actions | UI" submenu. The Internal Actions UI submenu provides IntelliJ Platform plugin developers with a suite of tools to help develop, debug, and test their IntelliJ Platform project UI. diff --git a/topics/basics/basic_run_configurations.md b/topics/basics/basic_run_configurations.md index 72c152c60..30260d56d 100644 --- a/topics/basics/basic_run_configurations.md +++ b/topics/basics/basic_run_configurations.md @@ -1,6 +1,8 @@ -[//]: # (title: Run Configurations) + - +# Run Configurations + +Run configurations architecture overview. diff --git a/topics/basics/faq.md b/topics/basics/faq.md index 6503486c8..dc75afdfb 100644 --- a/topics/basics/faq.md +++ b/topics/basics/faq.md @@ -1,6 +1,8 @@ -[//]: # (title: Plugin Development FAQ) + - +# Plugin Development FAQ + +List of plugin development forum topics with frequently asked question. This FAQ is a topical index of questions that have been asked (and answered) on our [IntelliJ IDEA Open API and Plugin Development forum](https://intellij-support.jetbrains.com/hc/en-us/community/topics/200366979-IntelliJ-IDEA-Open-API-and-Plugin-Development). diff --git a/topics/basics/persisting_sensitive_data.md b/topics/basics/persisting_sensitive_data.md index 5690da67f..5142ee501 100644 --- a/topics/basics/persisting_sensitive_data.md +++ b/topics/basics/persisting_sensitive_data.md @@ -1,6 +1,8 @@ + + # Persisting Sensitive Data - +Storing passwords, tokens and other sensitive data securely with Credentials Store API. The Credentials Store API allows you to store sensitive user data securely, like passwords, server URLs, etc. @@ -10,35 +12,35 @@ Use [`PasswordSafe`](%gh-ic%/platform/remote-core/src/ide/passwordSafe/PasswordS _Common Utility Method:_ ```java - private CredentialAttributes createCredentialAttributes(String key) { - return new CredentialAttributes( - CredentialAttributesKt.generateServiceName("MySystem", key) - ); - } +private CredentialAttributes createCredentialAttributes(String key) { + return new CredentialAttributes( + CredentialAttributesKt.generateServiceName("MySystem", key) + ); +} ``` ### Retrieve Stored Credentials ```java - String key = null; // e.g. serverURL, accountID - CredentialAttributes credentialAttributes = createCredentialAttributes(key); +String key = null; // e.g. serverURL, accountID +CredentialAttributes credentialAttributes = createCredentialAttributes(key); - Credentials credentials = PasswordSafe.getInstance().get(credentialAttributes); - if (credentials != null) { - String password = credentials.getPasswordAsString(); - } - - // or get password only - String password = PasswordSafe.getInstance().getPassword(credentialAttributes); +Credentials credentials = PasswordSafe.getInstance().get(credentialAttributes); +if (credentials != null) { + String password = credentials.getPasswordAsString(); +} +// or get password only +String password = PasswordSafe.getInstance().getPassword(credentialAttributes); ``` ### Store Credentials ```java - CredentialAttributes credentialAttributes = createCredentialAttributes(serverId); // see previous sample - Credentials credentials = new Credentials(username, password); - PasswordSafe.getInstance().set(credentialAttributes, credentials); +CredentialAttributes credentialAttributes = + createCredentialAttributes(serverId); // see previous sample +Credentials credentials = new Credentials(username, password); +PasswordSafe.getInstance().set(credentialAttributes, credentials); ``` To remove stored credentials, pass `null` for the `credentials` parameter. diff --git a/topics/basics/plugin_types.md b/topics/basics/plugin_types.md index 26ca72eba..41c0793ea 100644 --- a/topics/basics/plugin_types.md +++ b/topics/basics/plugin_types.md @@ -1,6 +1,8 @@ -[//]: # (title: Plugin Types) + - +# Plugin Types + +Overview and examples of different kinds of plugins. Products based on the IntelliJ Platform can be modified and adjusted for custom purposes by adding plugins. All downloadable plugins are available from the [JetBrains Marketplace](https://plugins.jetbrains.com/). diff --git a/topics/basics/testing_plugins/testing_highlighting.md b/topics/basics/testing_plugins/testing_highlighting.md index 5d6bbe069..5900d124e 100644 --- a/topics/basics/testing_plugins/testing_highlighting.md +++ b/topics/basics/testing_plugins/testing_highlighting.md @@ -1,6 +1,8 @@ -[//]: # (title: Testing Highlighting) + - +# Testing Highlighting + +Testing highlighting the code highlighted with various APIs. When writing plugin tests, a common task is testing various kinds of highlighting (inspections, annotators, parser error highlighting, etc.). The IntelliJ Platform provides a dedicated utility and markup format for this task. diff --git a/topics/basics/testing_plugins/tests_and_fixtures.md b/topics/basics/testing_plugins/tests_and_fixtures.md index 235fde565..2bf632a04 100644 --- a/topics/basics/testing_plugins/tests_and_fixtures.md +++ b/topics/basics/testing_plugins/tests_and_fixtures.md @@ -1,6 +1,8 @@ -[//]: # (title: Tests and Fixtures) + - +# Tests and Fixtures + +Main approaches for implementing tests. The IntelliJ Platform testing infrastructure is not tied to any specific test framework. In fact, the IntelliJ IDEA Team uses [JUnit](https://junit.org), [TestNG](https://testng.org), and [Cucumber](https://cucumber.io/) for testing different parts of the project. diff --git a/topics/products/phpstorm/php_open_api_breaking_changes.md b/topics/products/phpstorm/php_open_api_breaking_changes.md index 13b688873..f50168472 100644 --- a/topics/products/phpstorm/php_open_api_breaking_changes.md +++ b/topics/products/phpstorm/php_open_api_breaking_changes.md @@ -1,8 +1,10 @@ -[//]: # (title: Incompatible PHP OpenAPI Changes in PhpStorm) + - +# Incompatible PHP OpenAPI Changes in PhpStorm + +Breaking PHP Open API changes page list. The following pages list the breaking changes in IDE releases with required/recommended steps to take by plugin authors. * [Changes in 2020.3](php_open_api_breaking_changes_203.md) -* [Changes in 2020.2](php_open_api_breaking_changes_202.md) \ No newline at end of file +* [Changes in 2020.2](php_open_api_breaking_changes_202.md) diff --git a/topics/products/phpstorm/php_open_api_breaking_changes_202.md b/topics/products/phpstorm/php_open_api_breaking_changes_202.md index f58435bf5..d6bd03a19 100644 --- a/topics/products/phpstorm/php_open_api_breaking_changes_202.md +++ b/topics/products/phpstorm/php_open_api_breaking_changes_202.md @@ -1,6 +1,8 @@ -[//]: # (title: Incompatible PHP OpenAPI changes in PhpStorm 2020.2) + - +# Incompatible PHP OpenAPI changes in PhpStorm 2020.2 + +List of known breaking PHP Open API changes in 2020.2. ## Union Types Support PhpStorm 2020.2 introduced support for [PHP union types](https://wiki.php.net/rfc/union_types_v2), which resulted in some PSI-breaking changes. diff --git a/topics/products/phpstorm/php_open_api_breaking_changes_203.md b/topics/products/phpstorm/php_open_api_breaking_changes_203.md index 982c842d0..d2c255162 100644 --- a/topics/products/phpstorm/php_open_api_breaking_changes_203.md +++ b/topics/products/phpstorm/php_open_api_breaking_changes_203.md @@ -1,6 +1,8 @@ -[//]: # (title: Incompatible PHP OpenAPI changes in PhpStorm 2020.3) + - +# Incompatible PHP OpenAPI changes in PhpStorm 2020.3 + +List of known breaking PHP Open API changes in 2020.3. ## PHP 8 Support PhpStorm 2020.3 introduces support for the upcoming PHP 8, which results in several noticeable changes in the PhpStorm internals. diff --git a/topics/reference_guide/custom_language_support/inlay_hints.md b/topics/reference_guide/custom_language_support/inlay_hints.md index 186f70bb7..c243e3863 100644 --- a/topics/reference_guide/custom_language_support/inlay_hints.md +++ b/topics/reference_guide/custom_language_support/inlay_hints.md @@ -1,6 +1,8 @@ + + # Inlay Hints - +Providing additional code information directly in the editor without changing the document content. diff --git a/topics/reference_guide/localization_guide.md b/topics/reference_guide/localization_guide.md index ed31992ac..63d5bf51c 100644 --- a/topics/reference_guide/localization_guide.md +++ b/topics/reference_guide/localization_guide.md @@ -1,12 +1,14 @@ -[//]: # (title: Localization Guide) + - +# Localization Guide + +Providing translations for IDE texts used in UI, inspections, file templates, etc. The purpose of the document is to describe steps necessary to create localized versions of IDEA. ## Application Bundle Layout -In regards to localization purpose all the resources (in English) that need to be translated are located in jar files called +In regard to localization purpose all the resources (in English) that need to be translated are located in jar files called resources_en.jar. There's one such jar file for IDEA core functionality located at INSTALL_HOME\lib\resources_en.jar @@ -14,7 +16,7 @@ and one jar for each of bundled plugins at INSTALL_HOME\plugins\$Plugin$\lib\resources_en.jar. Translated resources should be jarred and placed exactly in the same folder original jar comes from. -So localization pack should have exactly the same number of jar files and they have to be laid out in exactly the same way original jars are laid out. +So localization pack should have exactly the same number of jar files, and they have to be laid out in exactly the same way original jars are laid out. In order to enable multiple localizations per installation without localization packs overriding each other we suggest to include the name of the locale in the jar name (for example, ***resources_ja.jar***). ## Content and Layout of resources_en.jar @@ -22,7 +24,7 @@ In order to enable multiple localizations per installation without localization Property files usually contain messages, menu items, dialog labels texts etc. For every such file localized jar should contain translated version that is placed to exactly the same path relative to the jar root and has exactly the same name as original file plus locale identifier. For example ***messages/ActionsBundle.properties*** file from ***resources_en.jar*** should have its translated version ***messages/ActionsBundle_ja.properties*** file in ***resources_ja.jar***. -All property files should be ASCII encoded with *\uXXXX* sequences used for characters that have no their representation in ASCII range. +All property files should be ASCII encoded with *\uXXXX* sequences used for characters that have no representation in ASCII range. See [native2ascii](https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/native2ascii.html) tool for more details. Property values mostly follow MessageFormat rules. diff --git a/topics/reference_guide/multiple_carets.md b/topics/reference_guide/multiple_carets.md index a25e7f8e3..22f484979 100644 --- a/topics/reference_guide/multiple_carets.md +++ b/topics/reference_guide/multiple_carets.md @@ -1,6 +1,8 @@ -[//]: # (title: Multiple Carets) + - +# Multiple Carets + +Working with multiple carets in a single editor. diff --git a/topics/user_interface_components/editor_components.md b/topics/user_interface_components/editor_components.md index fb59e8089..50ef3d566 100644 --- a/topics/user_interface_components/editor_components.md +++ b/topics/user_interface_components/editor_components.md @@ -1,6 +1,8 @@ -[//]: # (title: Editor Components) + - +# Editor Components + +Creating, customizing and using editor components in different contexts. ## EditorTextField diff --git a/topics/user_interface_components/lists_and_trees.md b/topics/user_interface_components/lists_and_trees.md index 4a672b05f..5855ed1af 100644 --- a/topics/user_interface_components/lists_and_trees.md +++ b/topics/user_interface_components/lists_and_trees.md @@ -1,6 +1,8 @@ -[//]: # (title: List and Tree Controls) + - +# List and Tree Controls + +Creating list and tree components consistent with IntelliJ Platform UI components. ### JBList and Tree diff --git a/topics/user_interface_components/popups.md b/topics/user_interface_components/popups.md index 3637f603a..a03be6080 100644 --- a/topics/user_interface_components/popups.md +++ b/topics/user_interface_components/popups.md @@ -1,6 +1,8 @@ -[//]: # (title: Popups) + - +# Popups + +Creating different kinds of popups. The IntelliJ Platform user interface makes extensive use of popups \- semi-modal windows that have no chrome (explicit closing buttons) and disappear automatically on focus loss. Making use of these controls in your plugin ensures a consistent user experience between your plugin and the rest of the IDE. @@ -10,11 +12,11 @@ Popups can optionally display a title, are optionally movable and resizable (and The [`JBPopupFactory`](%gh-ic%/platform/platform-api/src/com/intellij/openapi/ui/popup/JBPopupFactory.java) interface allows you to create popups that display different kinds of components, depending on your specific needs. The most commonly used methods are: -| Method | Description | -|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `createComponentPopupBuilder()` | Generic, allows showing any [Swing](https://docs.oracle.com/javase/tutorial/uiswing/start/index.html) component.

**Example**: [`IntentionPreviewPopupUpdateProcessor`](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/preview/IntentionPreviewPopupUpdateProcessor.kt) creating a popup rendering the intention preview. | -| `createPopupChooserBuilder()` | For choosing one or more items from a plain `java.util.List`.

**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. | -| `createConfirmation()` | For choosing between two options, and performing different actions depending on which option is selected.

**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. | +| Method | Description | +|---------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `createComponentPopupBuilder()` | Generic, allows showing any [Swing](https://docs.oracle.com/javase/tutorial/uiswing/start/index.html) component.

**Example**: [`IntentionPreviewPopupUpdateProcessor`](%gh-ic%/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/preview/IntentionPreviewPopupUpdateProcessor.kt) creating a popup rendering the intention preview. | +| `createPopupChooserBuilder()` | For choosing one or more items from a plain `java.util.List`.

**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. | +| `createConfirmation()` | For choosing between two options, and performing different actions depending on which option is selected.

**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. | | `createActionGroupPopup()` | Show actions from an [Action Group](grouping_action.md) and executes the action selected by the user.

**Example**: [`ShowRecentFindUsagesGroup`](%gh-ic%/platform/lang-impl/src/com/intellij/find/impl/ShowRecentFindUsagesGroup.java) invoked via Edit / Find Usages / Recent Find Usages and showing recent find usages group popup. | ### Action Groups diff --git a/topics/user_interface_components/user_interface_components.md b/topics/user_interface_components/user_interface_components.md index 4d5dfcf3d..2998377bb 100644 --- a/topics/user_interface_components/user_interface_components.md +++ b/topics/user_interface_components/user_interface_components.md @@ -1,6 +1,8 @@ + + # User Interface Components - +Introduction to UI Components provided by IntelliJ Platform.