diff --git a/topics/reference_guide/localization/internationalization.md b/topics/reference_guide/localization/internationalization.md index f87298274..67bc8a013 100644 --- a/topics/reference_guide/localization/internationalization.md +++ b/topics/reference_guide/localization/internationalization.md @@ -66,6 +66,11 @@ A standard location of message files in JAR is /messages/\*.properties\$MODULE_ROOT\$/src/main/resources/messages/\*.properties. > A standard convention for naming message bundle properties file is *Bundle.properties. +> +> If a plugin project is multi-module, and it combines resources into a single JAR, make sure that all bundle files have unique names or paths. +> Otherwise, only the last packed bundle file will exist in the distribution package. +> +{style="warning"} A corresponding [bundle class](#message-bundle-class) should be used to access the strings from the code. diff --git a/topics/tutorials/code_inspections.md b/topics/tutorials/code_inspections.md index d5efd0030..7e7ae4073 100644 --- a/topics/tutorials/code_inspections.md +++ b/topics/tutorials/code_inspections.md @@ -121,6 +121,11 @@ Implicit in using [`LocalInspectionTool`](%gh-ic%/platform/analysis-api/src/com/ * The name of the description file is expected to be the inspection \$SHORT_NAME\$.html as provided by the inspection description, or the inspection implementation class. If a short name is not provided, the IntelliJ Platform computes one by removing `Inspection` suffix from the implementation class name. +> If a plugin project is multi-module, and it combines resources into a single JAR, make sure that all inspection description files have unique names or paths. +> Otherwise, only the last packed description file will exist in the distribution package. +> +{style="warning"} + #### Code Snippets diff --git a/topics/tutorials/code_intentions.md b/topics/tutorials/code_intentions.md index 654c4b29d..cfd5e1151 100644 --- a/topics/tutorials/code_intentions.md +++ b/topics/tutorials/code_intentions.md @@ -75,6 +75,11 @@ It can be customized with the `` element in `before.\$LANG_FILE_EXTENSION\$.template and after.\$LANG_FILE_EXTENSION\$.template respectively. +> If a plugin project is multi-module, and it combines resources into a single JAR, make sure that all intention description files have unique names or paths. +> Otherwise, only the last packed description file will exist in the distribution package. +> +{style="warning"} + #### Testing the Plugin > Note that running the test requires setting system property `idea.home.path` in the `test` task configuration of the Gradle build script. diff --git a/topics/tutorials/file_and_code_templates/providing_file_templates.md b/topics/tutorials/file_and_code_templates/providing_file_templates.md index 15ebcfac1..2741566ae 100644 --- a/topics/tutorials/file_and_code_templates/providing_file_templates.md +++ b/topics/tutorials/file_and_code_templates/providing_file_templates.md @@ -86,6 +86,11 @@ It is recommended to follow the convention from the [`default.html`](%gh-ic%/platform/platform-resources-en/src/fileTemplates/default.html) file. +> If a plugin project is multi-module, and it combines resources into a single JAR, make sure that all template description files have unique names or paths. +> Otherwise, only the last packed description file will exist in the distribution package. +> +{style="warning"} + ## Providing Default File Template Properties A file template body can use a set of [predefined properties](https://www.jetbrains.com/help/idea/file-template-variables.html#predefined_template_variables) exposed by the IntelliJ Platform out of the box. diff --git a/topics/tutorials/postfix_completion/postfix_templates.md b/topics/tutorials/postfix_completion/postfix_templates.md index 99156e501..a5c387ad3 100644 --- a/topics/tutorials/postfix_completion/postfix_templates.md +++ b/topics/tutorials/postfix_completion/postfix_templates.md @@ -47,6 +47,11 @@ Providing the description explaining the template purpose and context details is Providing the code snippets showing the template in "before" and "after" expanding states is achieved via the before.\$EXTENSION\$.template and after.\$EXTENSION\$.template files accordingly. The _\$EXTENSION\$_ placeholder should be replaced with the extension of the template language, e.g., before.kt.template for a Kotlin template. +> If a plugin project is multi-module, and it combines resources into a single JAR, make sure that all template description files have unique names or paths. +> Otherwise, only the last packed description file will exist in the distribution package. +> +{style="warning"} + The code snippets included in the example files can use the `` marker, which should surround the most important code parts, e.g., expression to expand and position of the caret after expanding. Marked parts will be highlighted in the Settings | Editor | General | Postfix Completion settings page, making it easier for users to understand how a template is expanded, e.g.: - before.java.template: