Internal API Migration 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.
Such violations are reported from Plugin Verifier and are highlighted in the IDE using 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. Please check 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. Please use Go to file to browse the latest version in the intellij-community GitHub repository instead.
Please use the feedback form at the bottom of this page if you encounter missing or unclear information.
Internal API
Replacement
AnAction.applyTextOverride()
Setting the override-text Element
ApplicationLoadListener
See Application Startup
BuildNumber.currentVersion()
Use ApplicationInfo.getBuild()
CompactVirtualFileSet
Use VfsUtilCore.createCompactVirtualFileSet()
DefaultPicoContainer
Use extension points and services
EdtDataContext
See Doc
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 com.intellij.moduleType
extension point instead, ModuleType
PathMacros.setMacro()
Use com.intellij.pathMacroContributor
extension point, PathMacroContributor
PlatformUtils
See Doc
PluginClassLoader
Cast to PluginAwareClassLoader
PluginManager.getLogger()
Use own logger, see Logging
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
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.
The lists are not complete and will be updated continuously. Please check 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. Please use Go to file to browse the latest version in the intellij-community GitHub repository instead.
Please use the feedback form at the bottom of this page if you encounter missing or unclear information.
Last modified: 31 July 2024