mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-27 16:57:49 +08:00
528 lines
19 KiB
Markdown
528 lines
19 KiB
Markdown
<!-- Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. -->
|
|
|
|
# Content Updates
|
|
|
|
<link-summary>Notable updates and additions to this documentation.</link-summary>
|
|
|
|
This page lists notable additions and updates to the SDK documentation and [](code_samples.md).
|
|
|
|
See [GitHub Changelog](https://github.com/JetBrains/intellij-sdk-docs/commits/main) ([RSS](https://github.com/JetBrains/intellij-sdk-docs/commits/main.atom)) for a detailed changelog.
|
|
|
|
<include from="snippets.topic" element-id="subscribeNews"/>
|
|
|
|
## 2025
|
|
|
|
### May
|
|
{#may-25}
|
|
|
|
New Project Wizard
|
|
: Add a new section about implementing project wizards: [](new_project_wizard.md).
|
|
|
|
### March
|
|
{march-25}
|
|
|
|
Integration Testing
|
|
: Add new section [](integration_tests.md).
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Document [](action_system.md#action-id-code-insight) added in 2025.1.
|
|
|
|
### February
|
|
{february-25}
|
|
|
|
Support Channel Update
|
|
:
|
|
Updated support channels to the new [JetBrains Platform](https://platform.jetbrains.com) community forum.
|
|
See the [The JetBrains Platform Gets a New Community Space](https://blog.jetbrains.com/platform/2025/02/the-jetbrains-platform-gets-a-new-community-space/) blog post for more context.
|
|
|
|
Revamped Threading and Execution Context topics
|
|
:
|
|
Reorganized [threading](threading_model.md) and [coroutines](kotlin_coroutines.md) topics structure.
|
|
Updated [](execution_contexts.topic) with the information about contexts available since 2024.2.
|
|
|
|
### January
|
|
{january-25}
|
|
|
|
Coroutines on EDT and Locks
|
|
: Added a [page](coroutine_edt_and_locks.md) describing the current implicit locking behavior on EDT launched from coroutines and planned changes with migration hints.
|
|
|
|
## 2024
|
|
|
|
### December
|
|
{december-24}
|
|
|
|
Live Templates Configuration File
|
|
: Added a page describing the structure and elements of [live templates configuration files](live_templates_configuration_file.md).
|
|
|
|
### August
|
|
{august-24}
|
|
|
|
Workspace Model
|
|
: [](workspace_model.md) represents the project's structure and all its elements and replaces the existing [](project_model.md).
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Updated list of [supported features](language_server_protocol.md#supported-features) for Language Server Protocol (LSP).
|
|
|
|
### July
|
|
{july-24}
|
|
|
|
Threading Model
|
|
:
|
|
Revamp the [Threading Model](threading_model.md) page (formerly _General Threading Rules_) and add a new page describing [background processes](background_processes.md), including cancellation and progress tracking.
|
|
|
|
Coroutines Read Actions
|
|
:
|
|
Added FAQ section and explanation of [why suspending inside the block is not allowed](coroutine_read_actions.topic#why-can-t-i-suspend-inside-the-block).
|
|
|
|
### June
|
|
{june-24}
|
|
|
|
Code Formatter
|
|
: Rework [](code_formatting.md) page, extending explanations and updating content.
|
|
|
|
|
|
### May
|
|
{may-24}
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- How to support [grammar checks](spell_checking.md#grammar-checks) provided by Grazie plugin in custom languages.
|
|
- How to provide [code vision provider](inlay_hints.md#code-vision-provider) name and description in the settings.
|
|
- How to manage [Web Symbols context](websymbols_context.md) detection.
|
|
|
|
### April
|
|
{april-24}
|
|
|
|
Plugin Internationalization
|
|
: Add [](internationalization.md) and [](providing_translations.md) pages describing IDE and plugin translation possibilities and best practices.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- How to mark functionality available during indexing via [](indexing_and_psi_stubs.md#DumbAwareAPI).
|
|
- Move Extension Point and Listener Lists to the _Resources_ section and split the main _Extension Point and Listener List_ into: _IntelliJ Platform_, _IntelliJ Community Plugins_, and _Android Plugin_.
|
|
|
|
### March
|
|
{#march-24}
|
|
|
|
Kotlin Coroutines
|
|
: Add [](kotlin_coroutines.md) describing how to write asynchronous code in an imperative style.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add [documentation](plugin_extension_points.md#error-handling) on how to handle errors and deprecations in extensions.
|
|
- Note changes in how highlighting is now [performed more efficiently](syntax_highlighting_and_error_highlighting.md#order-of-running-highlighting) in 2024.1.
|
|
|
|
### February
|
|
{#february-24}
|
|
|
|
IntelliJ Platform Gradle Plugin 2.x (Early Access Preview)
|
|
: Add [documentation](tools_intellij_platform_gradle_plugin.md) for the next generation of Gradle tooling for plugin development.
|
|
|
|
## 2023
|
|
|
|
### December
|
|
{#december-23}
|
|
|
|
JCEF
|
|
: Revamp [JCEF (Java Chromium Embedded Framework)](embedded_browser_jcef.md) page.
|
|
|
|
User Interface FAQ
|
|
: Added [](ui_faq.md).
|
|
|
|
Language Server Protocol (LSP)
|
|
: Added [](language_server_protocol.md).
|
|
|
|
### November
|
|
{#november-23}
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add information about [executing actions programmatically](action_system.md#executing-actions-programmatically).
|
|
- Please see [](tools_gradle_intellij_plugin.md#attaching-sources) on how to set up 2023.2/3 IDEs for Gradle plugin projects.
|
|
|
|
### October
|
|
{#october-23}
|
|
|
|
Kotlin Persisting State Component
|
|
: Add an [example](persisting_state_of_components.md#implementing-the-persistentstatecomponent-interface) of a persistent state component implemented in Kotlin.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add section [](module.md#storing-a-reference-to-a-module).
|
|
|
|
### September
|
|
{#september-23}
|
|
|
|
Run Configuration Macros
|
|
: Add [](run_configurations.md#macros) section describing how to support dynamic expandable values in run configuration settings.
|
|
|
|
Inlay Hints
|
|
: Update [](inlay_hints.md) page with the information about new APIs.
|
|
|
|
Threading Model
|
|
: Update [](threading_model.md) to reflect changes in 2023.3 platform.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add information about ordering [quick fixes](code_inspections.md#quick-fix-implementation) and [intentions actions](code_intentions.md#techniques-used).
|
|
- Clarify the information about [declarative inlay hints](inlay_hints.md#declarative-inlay-hints-provider) customization possibilities.
|
|
|
|
### July
|
|
{#july-23}
|
|
|
|
Run Configurations
|
|
: Describe techniques for [simplifying run configuration settings editors](run_configurations.md#simplifying-settings-editors).
|
|
|
|
### June
|
|
{#june-23}
|
|
|
|
Execution
|
|
: Rework [](execution.md), [](run_configurations.md), and [](run_configurations_tutorial.md) pages.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Clarify [the syntax highlighting](testing_highlighting.md#syntax-highlighting) test file format and test implementation initial approach.
|
|
- Clarify referencing icons by paths and icon holder class constants in [](icons.md).
|
|
- Add information about requirements for persistent state components to be included in [the _Settings Sync_ plugin synchronization mechanism](persisting_state_of_components.md#backup-and-sync-plugin).
|
|
|
|
### April
|
|
{#april-23}
|
|
|
|
Documentation
|
|
: Rework [](documentation.md) page and adapt it to the new `DocumentationTargetProvider` framework.
|
|
|
|
### March
|
|
{#march-23}
|
|
|
|
Web Symbols
|
|
: Add [](websymbols.md) documentation, which is a framework that simplifies web technology development
|
|
by utilizing the [](symbols.md) API and supporting custom syntaxes.
|
|
|
|
Open Source Plugins Extension Points
|
|
: Added [](oss_plugins_extension_point_list.md) for plugins bundled with [](idea_ultimate.md) and other IDEs.
|
|
|
|
|
|
|
|
### February
|
|
{#february-23}
|
|
|
|
Inspection Options
|
|
: Add a section on [](inspection_options.md), which allows extending inspection behavior based on the input provided by user at runtime.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add section on [](icons.md#new-ui-icons).
|
|
- Document [](spell_checking.md#runtimedictionaryprovider) EP for spellchecking.
|
|
|
|
### January
|
|
{#january-23}
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Update _IDE Support_ section in [](verifying_plugin_compatibility.md).
|
|
- UI Inspector: update [](internal_ui_inspector.md#specific-component-properties) and add section [](internal_ui_inspector.md#inspecting-settings).
|
|
|
|
## 2022
|
|
|
|
### December
|
|
{#december-22}
|
|
|
|
Intention Preview
|
|
: Add information about how to prepare intentions to show [](code_intentions_preview.md).
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add information for new [](kotlin_ui_dsl_version_2.md#cell-align) methods in Kotlin UI DSL Version 2.
|
|
|
|
### November
|
|
{#november-22}
|
|
|
|
Plugin User Experience
|
|
: Add a new section about how to improve [plugin UX](plugin_user_experience.md) and overall plugin quality.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add information about threading in Actions in [](action_system.md#principal-implementation-overrides).
|
|
|
|
### October
|
|
{#october-22}
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add information about [sharing settings](persisting_state_of_components.md#sharing-settings-between-ide-installations) between different IDEs installations.
|
|
|
|
### September
|
|
{#september-22}
|
|
|
|
Extract "Themes" part
|
|
:
|
|
All the content related to [themes customization](theme_structure.md) and creating a project using the [DevKit approach](developing_themes.md) has been moved to a new [_Themes_](themes_getting_started.md) part.
|
|
Content has been refreshed to match the current state of the project and SDK wizards.
|
|
|
|
Spell Checking
|
|
: Add [](spell_checking.md) section with an [accompanying tutorial](spell_checking_strategy.md) showing how to implement a spell checking for a custom language.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add descriptions for the following EPs to [](additional_minor_features.md): [](additional_minor_features.md#prevent-error-highlighting-of-files), [](additional_minor_features.md#provide-fully-qualified-names-fqn-for-elements), [](additional_minor_features.md#label-files-as-test-files), [](additional_minor_features.md#move-statements-up-and-down-in-the-editor).
|
|
- Add section about [](ide_infrastructure.md#power-save-mode).
|
|
- Highlight references automatically via [](references_and_resolve.md#additional-highlighting)
|
|
- Language injections: controlling [](language_injection.md#formatting)
|
|
|
|
### August
|
|
{#august-22}
|
|
|
|
Plugin Configuration Page
|
|
: Update the [](plugin_configuration_file.md) page to describe all the elements in detail.
|
|
|
|
Source links migrated from Upsource to GitHub
|
|
: All source links now point to GitHub instead of Upsource (which is going to be [sunset](https://blog.jetbrains.com/upsource/2022/01/31/upsource-end-of-sales-announcement/)).
|
|
|
|
### July
|
|
{#july-22}
|
|
|
|
Status Bar Widgets
|
|
: Add section [](status_bar_widgets.md) describing how to implement your own status bar widgets.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add overview of [](action_system.md#useful-action-base-classes).
|
|
|
|
### June
|
|
{#june-22}
|
|
|
|
PHP Type Providers
|
|
: Add section [](php_open_api_php_type_providers.md) about type providers describing type inference in PhpStorm and how to implement your own type provider.
|
|
|
|
Postfix Completion
|
|
: Add [](postfix_completion.md) section explaining how to implement generating or wrapping the existing code into additional constructs without navigating the caret back.
|
|
|
|
Gradle IntelliJ Plugin
|
|
: Add [](tools_gradle_intellij_plugin.md) documentation to _Tooling_.
|
|
|
|
Bundling Plugin API Sources
|
|
: Add the [](bundling_plugin_openapi_sources.md) section explaining how to expose plugin API sources to dependent plugin developers.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add a small section to [](php_open_api.md#utility-classes) describing `PhpFilePathUtils` utility class.
|
|
- Add mention of the way to programmatically open an autocomplete popup to [](code_completion.md).
|
|
- Add a small section to [](icons.md#animated-icons) describing animated icons.
|
|
- Moved [](tools_gradle_grammar_kit_plugin.md) documentation to _Tooling_.
|
|
|
|
### May
|
|
{#may-22}
|
|
|
|
Navigation Bar
|
|
: Add [](navbar.md) section with an [accompanying tutorial](structure_aware_navbar.md) showing how to implement a navigation bar for a custom language.
|
|
|
|
Inlay Hints
|
|
: Add section [](inlay_hints.md) describing special markers that appear in the editor and provide additional information, like the names of the parameters that a called method expects.
|
|
|
|
Minor Changes and Additions
|
|
:
|
|
- Add a small section to [](editor_components.md) describing convenient `EditorTextField` subclasses.
|
|
- Add descriptions for the following EPs to [](additional_minor_features.md):
|
|
[](additional_minor_features.md#recognizing-complex-multi-block-expressions),
|
|
[](additional_minor_features.md#breadcrumbs),
|
|
[](additional_minor_features.md#plain-text-completion),
|
|
[](additional_minor_features.md#splitting-and-joining-list-constructs),
|
|
[](additional_minor_features.md#suggesting-rename-and-change-signature-refactorings),
|
|
[](additional_minor_features.md#reader-mode),
|
|
[](additional_minor_features.md#background-colors-for-editors-and-project-view),
|
|
[](additional_minor_features.md#custom-names-and-tooltips-for-editor-tabs).
|
|
- Add small section to [](project_view.md#decorating-project-view-nodes) describing how to modify the representation of nodes in the project view.
|
|
- Add [](rename_refactoring.md) paragraphs mentioning `RenameInputValidator(Ex)`.
|
|
|
|
### April
|
|
{#april-22}
|
|
|
|
Internal API Migration
|
|
: As API annotated with `@ApiStatus.Internal` must not be used in plugins, refer to [](api_internal.md) for a list corresponding API replacements and additional information.
|
|
|
|
### March
|
|
{#march-22}
|
|
|
|
Code Samples Build Scripts Migrated to Kotlin
|
|
: All [](code_samples.md) now use Kotlin DSL in their Gradle build scripts.
|
|
|
|
Android Studio Releases List
|
|
: Add [](android_studio_releases_list.md) section containing a complete list of the Android Studio releases with the relevant IntelliJ IDEA release version specified.
|
|
|
|
Alternatives to Implementing a Plugin
|
|
: Add [](plugin_alternatives.md) section describing alternative approaches to extending IDE functionality without actual plugin development.
|
|
|
|
### February
|
|
{#february-22}
|
|
|
|
Parameter Info
|
|
: Add [](parameter_info.md) section explaining how information about function parameters can be shown in the editor.
|
|
|
|
File and Code Templates
|
|
: Add [](file_and_code_templates.md) section explaining how to implement functionality that allows generating files and code fragments containing repetitive text and patterns.
|
|
|
|
### January
|
|
{#january-22}
|
|
|
|
Highlighting
|
|
: Add [](syntax_errors.md) and [](controlling_highlighting.md) sections explaining syntax highlighting basics and filtering highlighting information.
|
|
|
|
IDE Infrastructure
|
|
: Add sections [](ide_infrastructure.md#application-events) and [](ide_infrastructure.md#plugin-management).
|
|
|
|
## 2021
|
|
|
|
### December
|
|
{#december-21}
|
|
|
|
Trusted Project
|
|
: Potentially unsafe features must be guarded using [Trusted Project API](trusted_projects.md).
|
|
|
|
### November
|
|
{#november-21}
|
|
|
|
Language Injection
|
|
: Add [](language_injection.md) section that shows how the IntelliJ Platform handles different languages within the same source file.
|
|
|
|
|
|
### September
|
|
{#september-21}
|
|
|
|
IDE Infrastructure
|
|
: [](ide_infrastructure.md) handles Logging, Error Reporting, Runtime Information, and how to provide Context Help.
|
|
|
|
Extension Point Lists: Listeners, Deprecation status
|
|
: [](intellij_platform_extension_point_list.md) now contains sections listing all provided [Listener](plugin_listeners.md) Topics. See also corresponding Extension Point Lists under _Product Specific_. Also, all deprecated API now has a dedicated tag.
|
|
|
|
### July
|
|
{#july-21}
|
|
|
|
Plugin Signing
|
|
: [](plugin_signing.md) describes the plugin signing process, explains how to generate a certificate, configure the Gradle [`signPlugin`](tools_gradle_intellij_plugin.md#tasks-signplugin) task, and introduces a standalone CLI tool.
|
|
|
|
### June
|
|
{#june-21}
|
|
|
|
Testing FAQ
|
|
: [](testing_faq.md) page lists common issues, useful classes, and techniques for writing and maintaining tests.
|
|
|
|
Documentation Provider
|
|
: Add [](documentation.md) section with an [accompanying tutorial](documentation_provider.md) that show how to implement a `DocumentationProvider` for custom languages.
|
|
|
|
### May
|
|
{#may-21}
|
|
|
|
IDE specific Extension Point Lists
|
|
: See _Product Specific_.
|
|
|
|
New Guide - Explore the IntelliJ Platform API
|
|
: Add a new section [](explore_api.md) that describes how plugin authors work with the IntelliJ Platform API and what tools they use.
|
|
|
|
### March
|
|
{#march-21}
|
|
|
|
Element Patterns
|
|
: Add a new section about [Element Patterns](element_patterns.md) that are used when implementing [Completion Contributors](completion_contributor.md) or [PSI Reference Contributors](psi_references.md#contributed-references).
|
|
|
|
Editor - Text Selection
|
|
: Add a new section about [Text Selection EPs](text_selection.md) and describe [`ExtendWordSelectionHandler`](%gh-ic%/platform/lang-api/src/com/intellij/codeInsight/editorActions/ExtendWordSelectionHandler.java).
|
|
|
|
SDK Setup Assistance
|
|
: Added a code sample to the SDK tutorial that expands on [assisting in the setup of an SDK](sdk.md#assisting-in-setting-up-an-sdk).
|
|
|
|
Unified AST
|
|
: [Unified Abstract Syntax Tree (UAST)](uast.md) allows providing features that will work across all supported JVM languages (Java, Kotlin, Scala, Groovy).
|
|
|
|
## 2020
|
|
|
|
### December
|
|
{#december-20}
|
|
|
|
IntelliJ Platform Explorer
|
|
: Explore usages of [Extension Points](intellij_platform_extension_point_list.md) in open-source plugins using [IntelliJ Platform Explorer](https://jb.gg/ipe).
|
|
|
|
### November
|
|
{#november-20}
|
|
|
|
Extension Point List
|
|
: All EPs [available in IJ Platform and Android](intellij_platform_extension_point_list.md) can now be browsed conveniently.
|
|
|
|
### August
|
|
{#august-20}
|
|
|
|
README added to Code Samples
|
|
: All code samples used in this guide now come with <path>README</path>, making it easier to browse them. They can be conveniently accessed via a [separate GitHub repository](https://github.com/JetBrains/intellij-sdk-code-samples).
|
|
|
|
### June
|
|
{#june-20}
|
|
|
|
Dynamic Plugins update
|
|
: Added new sections _Code_ and _Troubleshooting_ to [Dynamic Plugins](dynamic_plugins.md).
|
|
|
|
GitHub IntelliJ Platform Plugin Template
|
|
: Create new plugins with a preconfigured project scaffold and CI in [one click](plugin_github_template.md).
|
|
|
|
Disposer & Disposable
|
|
: Added [reference](disposers.md) discussing resource cleanup/management.
|
|
|
|
### May
|
|
{#may-20}
|
|
|
|
Settings (Preferences)
|
|
: Added [guide](settings_guide.md) and [tutorial](settings_tutorial.md) on integrating with IDE Settings dialog.
|
|
|
|
UI Inspector
|
|
: Inspect Swing components and associated data (like `AnAction` for menu item) using [UI Inspector](internal_ui_inspector.md).
|
|
|
|
### March
|
|
{#march-20}
|
|
|
|
JCEF Support
|
|
: Allows [embedding](embedded_browser_jcef.md) Chromium-based browser in the IDE.
|
|
|
|
### February
|
|
{#february-20}
|
|
|
|
All Code Samples converted to Gradle
|
|
: [All samples](https://github.com/JetBrains/intellij-sdk-docs/tree/main/code_samples) now use the [recommended solution](creating_plugin_project.md) of setting up plugin projects.
|
|
|
|
### January
|
|
{#january-20}
|
|
|
|
Custom Language Support Tutorial converted to Gradle
|
|
: The [corresponding tutorial](custom_language_support_tutorial.md) and [Testing a Custom Language Plugin](writing_tests_for_plugins.md) have been updated and enhanced as well.
|
|
|
|
Targeting specific IDEs
|
|
: [Product Specific](plugin_compatibility.md) has been expanded massively, now also covering each IDE with its dedicated page.
|
|
|
|
## 2019
|
|
|
|
### December
|
|
{#december-19}
|
|
|
|
Dynamic Plugins support
|
|
: Added starting point [Dynamic Plugins](dynamic_plugins.md) for migrating plugins (IntelliJ Platform 2020.1 and later).
|
|
|
|
Plugin Components migration
|
|
: Components being a legacy feature, the [updated page](plugin_components.md) describes migrating them to modern replacement API.
|
|
|
|
### October
|
|
{#october-19}
|
|
|
|
Plugin Repository moved
|
|
: All contents have been moved to [JetBrains Marketplace Documentation](https://plugins.jetbrains.com/docs/marketplace/).
|
|
|
|
### July
|
|
{#july-19}
|
|
|
|
New page: Optimizing Performance
|
|
: Optimizing performance when [working with PSI](psi_performance.md), [during indexing](indexing_and_psi_stubs.md#improving-indexing-performance), and [](threading_model.md#avoiding-ui-freezes).
|
|
|
|
### May
|
|
{#may-19}
|
|
|
|
New Page: Kotlin UI DSL
|
|
: [Describes preferred way](kotlin_ui_dsl.md) of building UI/dialogs for IntelliJ Platform 2019.2 and later.
|