* 251: update GH links in topics * code_samples: Gradle 2.x (WIP) * code_samples: Gradle 2.x (WIP) * code_samples: Gradle 2.x (WIP) * code_samples: Gradle 2.x (WIP) * code_samples: Gradle 2.x (WIP) * code_samples: Gradle 2.x (WIP) * GH: theme_basics is not a Gradle project * GH: remove deleted kotlin_demo project * README: remove deleted kotlin_demo project * code_samples: remove product_specific * 2025.1 Beta3 * code_samples: remove obsolete kotlin_demo dir * code_samples: add .intellijPlatform to .gitignore * stub_indexes.md: fix gh link * api_notable_list_2020.md: fix gh link * code_samples: add .gitignore for standalone repo * code_samples: build against latest 2024.2.x, set since-build explicitly * code_samples: fix framework_basics * Update EP and Listener lists * Convert %gh-ic-master% links to %gh-ic% * additional_minor_features.md: Update link to FileIncludeProvider * api_notable_list_2020.md: Add note about internal API * status_bar_widgets.md: Update StatusBarWidget.TextPresentation example The previous example doesn't implement TextPresentation any more. --------- Co-authored-by: Karol Lewandowski <karol.lewandowski@jetbrains.com>
14 KiB
Internal API Migration
Lists private APIs and their replacements in IntelliJ Platform and plugins.Lists private API annotated with @ApiStatus.Internal/@IntellijInternalApi and corresponding replacement.
This page lists commonly used API annotated with @ApiStatus.Internal
or @IntellijInternalApi
which indicates it is private API and must not be used outside of IntelliJ Platform itself:
Indicates that the annotated element (class, method, field, etc.) must not be considered as a public API. It's made visible to allow usages in other packages of the declaring library, but it must not be used outside of that library. Such elements may be renamed, changed, or removed in future versions.
{title="ApiStatus.Internal Javadoc"}
Such violations are reported from and are highlighted in the IDE using a dedicated inspection.
Each entry is mapped to its corresponding Replacement, pointing to the recommended API.
The lists are not complete and will be updated continuously.
Check the corresponding code documentation when encountering any API not listed on this page. In some cases, such documentation might not be available inside the IDE for the current target platform version. Use Go to file to browse the latest version in the intellij-community GitHub repository instead.
Use the feedback form at the bottom of this page if you encounter missing or unclear information.
{style="note"}
IntelliJ Platform
Internal API | Replacement |
---|---|
AnAction.applyTextOverride() |
|
ApplicationLoadListener |
See |
BuildNumber.currentVersion() |
Use ApplicationInfo.getBuild() |
CompactVirtualFileSet |
Use VfsUtilCore.createCompactVirtualFileSet() |
DefaultPicoContainer |
Use extension points and services |
ExperimentalUI.isNewUI() |
Use NewUI.isEnabled() |
FileTypeIndex.NAME |
Use static methods in FileTypeIndex directly |
IElementType.getDebugName() |
Override/use IElementType.toString() |
IconLoader.CachedImageIcon |
Use methods exposed in IconLoader |
IconLoader.LazyIcon |
Use IconLoader.createLazy() |
IndexingDataKeys |
See Doc |
Module.getModuleFile() |
See Doc |
Module.getModuleFilePath() |
See Doc |
Module.getModuleTypeName() |
See Doc |
ModuleTypeManager.registerModuleType() |
Use instead. ModuleType |
PathMacros.setMacro() |
Use . PathMacroContributor |
PlatformUtils |
See Doc |
PluginClassLoader |
Cast to PluginAwareClassLoader |
PluginManager.getLogger() |
Use own logger, see |
PreloadingActivity |
Use StartupActivity.Background (docs) with atomic flag to run only once during IDE lifetime |
ProjectLibraryTable |
Use LibraryTablesRegistrar.getLibraryTable() |
SVGLoader |
Use ImageLoader.loadFromResource() |
ScrollBarPainter |
See Doc |
ToolWindowManager.registerToolWindow(String, RegisterToolWindowTaskBuilder) |
False positive from Plugin Verifier |
UtilKt.targetPresentation() |
See Doc |
Plugins
Database Plugin
Internal API | Replacement |
---|---|
DbDataSource.getDelegate() |
For connection config use DbDataSource.getConnectionConfig() , for LocalDataSource use DbImplUtil.getMaybeLocalDataSource(DasDataSource) |
Exceptions
The API listed in this table is currently (or was previously) marked with @ApiStatus.Internal
, but its status has changed in the meantime (or will change).
Therefore, any reported violations can be disregarded.
Internal API | Note |
---|---|
AnAction.setShortcutSet() |
Made public in 2023.3 |
AnimatedIcon.ANIMATION_IN_RENDERER_ALLOWED |
Made public in 2021.3 |
BaseExpirableExecutor.expireWith() |
Made public in 2023.2 |
BundleBase |
Made public in 2022.1 |
CodeVisionPlaceholderCollector |
Made public in 2024.2 |
IdFilter |
Made public in 2021.2/3 |
HashingStrategy |
Made public in 2023.1 |
JsonCustomStructureViewFactory |
Made public in 2023.2 |
RunAnythingCommandLineProvider |
Made public in 2021.3 |
SearchEverywhereFoundElementInfo |
Made public in 2023.3 |
PhpExpectedFunctionArgument |
Made public in 2022.1 |
org.jetbrains.yaml.meta.* |
YAML Metadata API will be made public in 2023.1 |