2021-12-09 15:30:52 +01:00

7.6 KiB

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:

ApiStatus.Internal Javadoc:

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

The list is not complete and will be updated continuously. Please check corresponding code documentation when encountering API not listed below.

{type="tip"}

IntelliJ Platform

Internal API Replacement
com.intellij.openapi.module.Module.getModuleFile() See Doc
com.intellij.openapi.module.Module.getModuleFilePath() See Doc
com.intellij.openapi.module.Module.getModuleTypeName() See Doc
com.intellij.openapi.module.ModuleTypeManager.registerModuleType() Use com.intellij.moduleType extension point instead, ModuleType
com.intellij.util.PlatformUtils See Doc
com.intellij.util.pico.DefaultPicoContainer Use extension points and services
com.intellij.ide.ApplicationLoadListener See
com.intellij.openapi.actionSystem.AnAction.applyTextOverride()
com.intellij.psi.search.FileTypeIndex.NAME Use static methods in FileTypeIndex directly
com.intellij.psi.tree.IElementType.getDebugName() Override/use toString()
com.intellij.util.indexing.IndexingDataKeys See Doc
com.intellij.openapi.util.IconLoader.LazyIcon Use com.intellij.openapi.util.IconLoader.createLazy()
com.intellij.openapi.util.IconLoader.CachedImageIcon Use methods exposed in com.intellij.openapi.util.IconLoader
com.intellij.ui.components.ScrollBarPainter See Doc
com.intellij.ide.plugins.PluginManager.getLogger() Use own logger
com.intellij.openapi.actionSystem.impl.EdtDataContext See Doc
com.intellij.openapi.application.PathMacros.setMacro() Use com.intellij.pathMacroContributor extension point, PathMacroContributor
com.intellij.openapi.roots.impl.libraries.ProjectLibraryTable Use com.intellij.openapi.roots.libraries.LibraryTablesRegistrar.getLibraryTable() instead
com.intellij.openapi.vfs.CompactVirtualFileSet Use com.intellij.openapi.vfs.VfsUtilCore#createCompactVirtualFileSet()
com.intellij.openapi.util.BuildNumber.currentVersion() Use com.intellij.openapi.application.ApplicationInfo.getBuild()
com.intellij.codeInsight.navigation.UtilKt.targetPresentation() See Doc

Plugins

Database Plugin

Internal API Replacement
`com.intellij.database.psi.DbDataSource.getDelegate() For connection config use DbDataSource#getConnectionConfig(), for LocalDataSource use DbImplUtil#getMaybeLocalDataSource(DasDataSource)