Content Updates
This page lists notable additions and updates to the SDK documentation and Code Samples.
See GitHub Changelog (RSS) for a detailed changelog.
2024
August
- Workspace Model
Workspace Model represents the project's structure and all its elements and replaces the existing Project Model.
- Minor Changes and Additions
Updated list of supported features for Language Server Protocol (LSP).
July
- Threading Model
Revamp the Threading Model page (formerly General Threading Rules) and add a new page describing background processes, including cancellation and progress tracking.
- Coroutines Read Actions
Added FAQ section and explanation of why suspending inside the block is not allowed.
June
- Code Formatter
Rework Code Formatter page, extending explanations and updating content.
May
- Minor Changes and Additions
How to support grammar checks provided by Grazie plugin in custom languages.
How to provide code vision provider name and description in the settings.
How to manage Web Symbols context detection.
April
- Plugin Internationalization
Add Internationalization and Providing Translations pages describing IDE and plugin translation possibilities and best practices.
- Minor Changes and Additions
How to mark functionality available during indexing via DumbAware API .
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
- Kotlin Coroutines
Add Kotlin Coroutines describing how to write asynchronous code in an imperative style.
- Minor Changes and Additions
Add documentation on how to handle errors and deprecations in extensions.
Note changes in how highlighting is now performed more efficiently in 2024.1.
February
- IntelliJ Platform Gradle Plugin 2.x (Early Access Preview)
Add documentation for the next generation of Gradle tooling for plugin development.
2023
December
- JCEF
Revamp JCEF (Java Chromium Embedded Framework) page.
- User Interface FAQ
Added User Interface FAQ.
- Language Server Protocol (LSP)
November
- Minor Changes and Additions
Add information about executing actions programmatically.
Please see Attaching Sources on how to set up 2023.2/3 IDEs for Gradle plugin projects.
October
- Kotlin Persisting State Component
Add an example of a persistent state component implemented in Kotlin.
- Minor Changes and Additions
Add section Storing a Reference to a Module.
September
- Run Configuration Macros
Add Macros section describing how to support dynamic expandable values in run configuration settings.
- Inlay Hints
Update Inlay Hints page with the information about new APIs.
- Threading Model
Update Threading Model to reflect changes in 2023.3 platform.
- Minor Changes and Additions
Add information about ordering quick fixes and intentions actions.
Clarify the information about declarative inlay hints customization possibilities.
July
- Run Configurations
Describe techniques for simplifying run configuration settings editors.
June
- Execution
Rework Execution, Run Configurations, and Run Configurations Tutorial pages.
- Minor Changes and Additions
Clarify the syntax highlighting test file format and test implementation initial approach.
Clarify referencing icons by paths and icon holder class constants in Working with Icons.
Add information about requirements for persistent state components to be included in the Settings Sync plugin synchronization mechanism.
April
- Documentation
Rework Documentation page and adapt it to the new
DocumentationTargetProvider
framework.
March
- Web Symbols
Add Web Symbols documentation, which is a framework that simplifies web technology development by utilizing the Symbols API and supporting custom syntaxes.
- Open Source Plugins Extension Points
Added Open Source Plugins Extension Point and Listener List for plugins bundled with IntelliJ IDEA Ultimate and other IDEs.
February
- Inspection Options
Add a section on Inspection Options, which allows extending inspection behavior based on the input provided by user at runtime.
- Minor Changes and Additions
Add section on New UI Icons.
Document RuntimeDictionaryProvider EP for spellchecking.
January
- Minor Changes and Additions
Update IDE Support section in Verifying Plugin Compatibility.
UI Inspector: update Specific Component Properties and add section Inspecting Settings.
2022
December
- Intention Preview
Add information about how to prepare intentions to show Intention Action Preview.
- Minor Changes and Additions
Add information for new Cell.align methods in Kotlin UI DSL Version 2.
November
- Plugin User Experience
Add a new section about how to improve plugin UX and overall plugin quality.
- Minor Changes and Additions
Add information about threading in Actions in Principal Implementation Overrides.
October
- Minor Changes and Additions
Add information about sharing settings between different IDEs installations.
September
- Extract "Themes" part
All the content related to themes customization and creating a project using the DevKit approach has been moved to a new Themes part. Content has been refreshed to match the current state of the project and SDK wizards.
- Spell Checking
Add Spell Checking section with an accompanying tutorial 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: Prevent Error Highlighting of Files, Provide Fully Qualified Names (FQN) for Elements, Label Files as Test Files, Move Statements Up and Down in the Editor.
Add section about Power Save Mode.
Highlight references automatically via Additional Highlighting
Language injections: controlling Formatting
August
- Plugin Configuration Page
Update the Plugin Configuration File 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).
July
- Status Bar Widgets
Add section Status Bar Widgets describing how to implement your own status bar widgets.
- Minor Changes and Additions
Add overview of Useful Action Base Classes.
June
- PHP Type Providers
Add section PHP Type Providers about type providers describing type inference in PhpStorm and how to implement your own type provider.
- Postfix Completion
Add Postfix Completion section explaining how to implement generating or wrapping the existing code into additional constructs without navigating the caret back.
- Gradle IntelliJ Plugin
Add Gradle IntelliJ Plugin (1.x) documentation to Tooling.
- Bundling Plugin API Sources
Add the Bundling Plugin API Sources section explaining how to expose plugin API sources to dependent plugin developers.
- Minor Changes and Additions
Add a small section to Utility Classes describing
PhpFilePathUtils
utility class.Add mention of the way to programmatically open an autocomplete popup to Code Completion.
Add a small section to Animated Icons describing animated icons.
Moved Gradle Grammar-Kit Plugin documentation to Tooling.
May
- Navigation Bar
Add Navigation Bar section with an accompanying tutorial showing how to implement a navigation bar for a custom language.
- Inlay Hints
Add section Inlay Hints 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 describing convenient
EditorTextField
subclasses.Add descriptions for the following EPs to Additional Minor Features: Recognizing Complex Multi-Block Expressions, Breadcrumbs, Plain Text Completion, Splitting and Joining List Constructs, Suggesting Rename and Change Signature Refactorings, Reader Mode, Background Colors for Editors and Project View, Custom Names and Tooltips for Editor Tabs.
Add small section to Decorating Project View Nodes describing how to modify the representation of nodes in the project view.
Add Rename Refactoring paragraphs mentioning
RenameInputValidator(Ex)
.
April
- Internal API Migration
As API annotated with
@ApiStatus.Internal
must not be used in plugins, refer to Internal API Migration for a list corresponding API replacements and additional information.
March
- Code Samples Build Scripts Migrated to Kotlin
All Code Samples now use Kotlin DSL in their Gradle build scripts.
- Android Studio Releases List
Add Android Studio Releases List section containing a complete list of the Android Studio releases with the relevant IntelliJ IDEA release version specified.
- Alternatives to Implementing a Plugin
Add Alternatives to Implementing a Plugin section describing alternative approaches to extending IDE functionality without actual plugin development.
February
- Parameter Info
Add Parameter Info section explaining how information about function parameters can be shown in the editor.
- File and Code Templates
Add File and Code Templates section explaining how to implement functionality that allows generating files and code fragments containing repetitive text and patterns.
January
- Highlighting
Add Syntax Errors and Controlling Highlighting sections explaining syntax highlighting basics and filtering highlighting information.
- IDE Infrastructure
Add sections Application Events and Plugin Management.
2021
December
- Trusted Project
Potentially unsafe features must be guarded using Trusted Project API.
November
- Language Injection
Add Language Injection section that shows how the IntelliJ Platform handles different languages within the same source file.
September
- IDE Infrastructure
IDE Infrastructure handles Logging, Error Reporting, Runtime Information, and how to provide Context Help.
- Extension Point Lists: Listeners, Deprecation status
IntelliJ Platform Extension Point and Listener List now contains sections listing all provided Listener Topics. See also corresponding Extension Point Lists under Product Specific. Also, all deprecated API now has a dedicated tag.
July
- Plugin Signing
Plugin Signing describes the plugin signing process, explains how to generate a certificate, configure the Gradle
signPlugin
task, and introduces a standalone CLI tool.
June
- Testing FAQ
Testing FAQ page lists common issues, useful classes, and techniques for writing and maintaining tests.
- Documentation Provider
Add Documentation section with an accompanying tutorial that show how to implement a
DocumentationProvider
for custom languages.
May
- IDE specific Extension Point Lists
See Product Specific.
- New Guide - Explore the IntelliJ Platform API
Add a new section Explore the IntelliJ Platform API that describes how plugin authors work with the IntelliJ Platform API and what tools they use.
March
- Element Patterns
Add a new section about Element Patterns that are used when implementing Completion Contributors or PSI Reference Contributors.
- Editor - Text Selection
Add a new section about Text Selection EPs and describe
ExtendWordSelectionHandler
.- SDK Setup Assistance
Added a code sample to the SDK tutorial that expands on assisting in the setup of an SDK.
- Unified AST
Unified Abstract Syntax Tree (UAST) allows providing features that will work across all supported JVM languages (Java, Kotlin, Scala, Groovy).
2020
December
- IntelliJ Platform Explorer
Explore usages of Extension Points in open-source plugins using IntelliJ Platform Explorer.
November
- Extension Point List
All EPs available in IJ Platform and Android can now be browsed conveniently.
August
- README added to Code Samples
All code samples used in this guide now come with README, making it easier to browse them. They can be conveniently accessed via a separate GitHub repository.
June
- Dynamic Plugins update
Added new sections Code and Troubleshooting to Dynamic Plugins.
- GitHub IntelliJ Platform Plugin Template
Create new plugins with a preconfigured project scaffold and CI in one click.
- Disposer & Disposable
Added reference discussing resource cleanup/management.
May
- Settings (Preferences)
Added guide and tutorial on integrating with IDE Settings dialog.
- UI Inspector
Inspect Swing components and associated data (like
AnAction
for menu item) using UI Inspector.
March
- JCEF Support
Allows embedding Chromium-based browser in the IDE.
February
- All Code Samples converted to Gradle
All samples now use the recommended solution of setting up plugin projects.
January
- Custom Language Support Tutorial converted to Gradle
The corresponding tutorial and Testing a Custom Language Plugin have been updated and enhanced as well.
- Targeting specific IDEs
Product Specific has been expanded massively, now also covering each IDE with its dedicated page.
2019
December
- Dynamic Plugins support
Added starting point Dynamic Plugins for migrating plugins (IntelliJ Platform 2020.1 and later).
- Plugin Components migration
Components being a legacy feature, the updated page describes migrating them to modern replacement API.
October
- Plugin Repository moved
All contents have been moved to JetBrains Marketplace Documentation.
July
- New page: Optimizing Performance
Optimizing performance when working with PSI, during indexing, and Avoiding UI Freezes.
May
- New Page: Kotlin UI DSL
Describes preferred way of building UI/dialogs for IntelliJ Platform 2019.2 and later.