IntelliJ Platform Plugin SDK Help

Internal API Migration

This page lists commonly used API annotated with org.jetbrains.annotations.ApiStatus.Internal which indicates it's private API and must not be used outside of IntelliJ Platform itself:

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 recommended API.

IntelliJ Platform

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

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

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.

Internal API

Note

BundleBase

Made public in 2022.1

IdFilter

Reverted in 2021.2/3

RunAnythingCommandLineProvider

Made public in 2021.3

org.jetbrains.yaml.meta.*

YAML Metadata API will be made public in 2022.2

PhpExpectedFunctionArgument

Made public in 2022.1

Last modified: 19 January 2022