Incompatible Changes in IntelliJ Platform and Plugins API 2023.*
Please see Verifying Plugin Compatibility on how to use Plugin Verifier and IDE inspections to check such problems.
Early Access Program (EAP) releases of upcoming versions are available here.
2023.3
IntelliJ Platform 2023.3
- Threading Model changes
Please see updated Threading Model.
- Removal of commons-lang2 and commons-collections libraries
commons-lang2 library is going to be removed, a temporary compatibility layer (marked with
@Deprecated(forRemoval = true)
to highlight usages) is bundled. Please consider migrating to either commons-lang3 or commons-text libraries and bundle them with your plugin. Library commons-collections is going to be removed.- JsonPath library unbundled
Bundle it explicitly with your plugin.
com.intellij.codeInsight.intention.BaseElementAtCaretIntentionAction.isAvailable
methodEditor
parameter marked@NotNull
This may break source-compatibility with inheritors written in Kotlin if they declare it as nullable.
com.intellij.codeInsight.intention.BaseElementAtCaretIntentionAction.invoke
methodEditor
parameter marked@NotNull
This may break source-compatibility with inheritors written in Kotlin if they declare it as nullable.
com.intellij.openapi.actionSystem.ex.ActionUtil.showDumbModeWarning(Project, AnActionEvent[])
method removedUse
showDumbModeWarning(Project project, AnAction action, AnActionEvent @NotNull ... events)
instead.com.intellij.profiler.eventtrace
package removedUpdate code usages.
org.jetbrains.plugins.gradle.service.project.GradleProjectResolverUtil.buildDependencies(ProjectResolverContext, Map, Map, DataNode, Collection, DataNode)
method parameter type changed fromMap<String, String>
toArtifactMappingService
Update usages of this method. Change parameter
artifactsMap
value to anArtifactMappingService
instance. It can be obtained fromProjectResolverContext
, or created in-place using theMapBasedArtifactMappingService
.org.jetbrains.plugins.gradle.service.project.GradleProjectResolver.CONFIGURATION_ARTIFACTS
field removedRelated mapping information is no longer accessible using this key. Artifacts mapping data is now stored in the instance of the
ArtifactMappingService
and can be obtained viaorg.jetbrains.plugins.gradle.service.project.ProjectResolverContext#getArtifactsMap()
.com.intellij.ide.plugins.enums.PluginsGroupType.FEATURED
enum renamed tocom.intellij.ide.plugins.enums.PluginsGroupType.STAFF_PICKS
Use
com.intellij.ide.plugins.enums.PluginsGroupType.STAFF_PICKS
instead.com.intellij.ide.plugins.newui.SearchWords.ORGANIZATION
enum renamed tocom.intellij.ide.plugins.newui.SearchWords.VENDOR
Use
com.intellij.ide.plugins.newui.SearchWords.VENDOR
instead.com.intellij.execution.console.ConsoleHistoryCopyHandler.PROMPT_LENGTH_MARKER
field removedUse
com.intellij.execution.console.ConsoleHistoryCopyHandlerKt#PROMPT_LENGTH_MARKER
instead.
Collaboration Tools Module 2023.3
com.intellij.collaboration.ui.codereview.action.CodeReviewCheckoutRemoteBranchAction
class removedAction moved to a view model.
com.intellij.collaboration.ui.codereview.details.CodeReviewDetailsBranchComponentFactory.create(CoroutineScope, CodeReviewBranchesViewModel, AnAction, DataContext)
method removedAction moved to a view model.
com.intellij.collaboration.ui.codereview.diff.viewer.DiffEditorUtilKt
class removedMoved to
com.intellij.collaboration.ui.codereview.editor.EditorComponentInlaysUtilKt.controlInlaysIn
.com.intellij.collaboration.ui.toolwindow.ReviewListTabComponentDescriptor
class removedDescriptor removed in favour of tab type
com.intellij.collaboration.ui.toolwindow.ReviewTab
.com.intellij.collaboration.ui.toolwindow.ReviewTabsController
class removedController reworked to viewmodel
com.intellij.collaboration.ui.toolwindow.ReviewToolwindowProjectViewModel
.com.intellij.collaboration.ui.toolwindow.ReviewToolwindowDataKeys.getREVIEW_TABS_CONTROLLER()
method removedController reworked to viewmodel
com.intellij.collaboration.ui.toolwindow.ReviewToolwindowProjectViewModel
.com.intellij.collaboration.ui.toolwindow.ReviewToolwindowProjectContext
class removedContext reworked to viewmodel
com.intellij.collaboration.ui.toolwindow.ReviewToolwindowProjectViewModel
.com.intellij.collaboration.ui.toolwindow.ReviewToolwindowViewModel.getProjectVm()
method return type changed fromSharedFlow<C>
toSharedFlow<PVM>
Context reworked to viewmodel
com.intellij.collaboration.ui.toolwindow.ReviewToolwindowProjectViewModel
.com.intellij.collaboration.ui.toolwindow.ReviewTabsComponentFactory.createReviewListComponent(CoroutineScope, PVM)
abstract method addedContext reworked to viewmodel
com.intellij.collaboration.ui.toolwindow.ReviewToolwindowProjectViewModel
.com.intellij.collaboration.ui.toolwindow.ReviewTabsComponentFactory.createTabComponent(CoroutineScope, PVM, TVM)
abstract method addedContext reworked to viewmodel
com.intellij.collaboration.ui.toolwindow.ReviewToolwindowProjectViewModel
.com.intellij.collaboration.ui.toolwindow.ReviewToolwindowTabsManagerKt.manageReviewToolwindowTabs(CoroutineScope, ToolWindow, ReviewToolwindowViewModel, ReviewTabsController, ReviewTabsComponentFactory, String)
method removedAdded a tab viewmodel type.
com.intellij.collaboration.ui.codereview.timeline.TimelineDiffComponentFactory.createDiffComponent(Project, EditorFactory, PatchHunk, Pair, Pair)
method removedCoroutine scope was added to track editor lifetime.
com.intellij.collaboration.ui.codereview.details.model.CodeReviewChangesViewModelBase
class removedIncorrect EDT-reliant implementation removed.
com.intellij.collaboration.async.CoroutineUtilKt.DisposingScope(Disposable, CoroutineContext)
method removedUse
com.intellij.collaboration.async.CoroutineUtilKt.disposingScope(CoroutineContext)
instead.com.intellij.collaboration.ui.codereview.details.model.CodeReviewChangesViewModel.getReviewCommits()
method return type changed fromFlow
toSharedFlow
Concrete type usage forced to ensure correct behavior
com.intellij.collaboration.ui.codereview.details.model.CodeReviewChangesViewModel.getSelectedCommit()
method return type changed fromFlow
toSharedFlow
Concrete type usage forced to ensure correct behavior
com.intellij.collaboration.ui.codereview.details.model.CodeReviewChangesViewModel.getSelectedCommitIndex()
method return type changed fromFlow
toSharedFlow
Concrete type usage forced to ensure correct behavior
com.intellij.collaboration.auth.ui.login.LoginTokenGenerator.generateToken(String)
method return type changed fromString
tovoid
Removed unused return value
com.intellij.collaboration.auth.ui.login.TokenLoginDialog(Project, Component, LoginModel, String, DialogPanelSupplier)
constructor parameter type changed from() -> DialogPanel
toCoroutineScope.() -> DialogPanel
Allow using dialog scope in dialog panel
com.intellij.collaboration.ui.codereview.list.search.ChooserPopupUtil.showAsyncChooserPopup(RelativePoint, Flow<List<T>>, Mapper, ListCellRenderer, PopupConfig)
method parameter type changed fromFlow<List<T>>
toFlow<Result<List<T>>>
Handle list loading errors inside the popup
com.intellij.collaboration.ui.codereview.list.search.ChooserPopupUtil.showAsyncChooserPopup(RelativePoint, Flow<List<T>>, Presenter, PopupConfig)
method parameter type changed fromFlow<List<T>>
toFlow<Result<List<T>>>
Handle list loading errors inside the popup
Java Plugin 2023.3
com.siyeh.ipp.base.Intention
class removedAs a part of migration to new experimental
ModCommand
API, the class was removed completely. It's a part of implementation module and was never intended to be inherited by external plugins. Consider implementingLocalInspectionTool
directly.com.intellij.codeInsight.TailTypes
class renamed tocom.intellij.codeInsight.JavaTailTypes
Update code usages.
com.intellij.unscramble.ThreadDumpParser
class moved to packagecom.intellij.threadDumpParser
Update code usages.
JavaScript Plugin 2023.3
com.intellij.lang.javascript.buildTools.npm.PackageJsonUtil.createPackageJson(PsiDirectory, boolean)
method removedUse
com.intellij.lang.javascript.buildTools.npm.PackageJsonFileTemplate.create(PsiDirectory, boolean, Consumer<PsiFile>)
instead.
External System Run Configuration 2023.3
- Property
com.intellij.openapi.externalSystem.service.ui.command.line.CompletionTableInfo.completionInfo
replaced by suspend functionCompletionTableInfo.collectCompletionInfo
Implement the new function to support async completion collecting.
- Property
com.intellij.openapi.externalSystem.service.ui.command.line.CompletionTableInfo.tableCompletionInfo
replaced by suspend functionCompletionTableInfo.collectTableCompletionInfo
Implement the new function to support async completion collecting.
- Function
com.intellij.openapi.externalSystem.service.ui.completion.TextCompletionField.getCompletionVariants
replaced by propertyTextCompletionField.completionCollector
Implement the new function to support async completion collecting.
com.intellij.openapi.externalSystem.service.execution.configuration.SettingsFragmentsContainer
class renamed tocom.intellij.openapi.externalSystem.service.execution.configuration.fragments.SettingsEditorFragmentContainer
Use new run configuration fragment builders.
com.intellij.openapi.externalSystem.service.execution.configuration.SettingsEditorLabeledComponent
class moved to packagecom.intellij.openapi.externalSystem.service.execution.configuration.fragments
Use the new run configuration fragment builders.
- Parameter type of fragment builder functions from
ExternalSystemRunConfigurationUtil
file changed fromC
to(Disposable) -> C
Use the new run configuration fragment builders.
- Fragment builder functions from
ExternalSystemRunConfigurationUtil
file moved toSettingsEditorFragmentBuilders
andExternalSystemRunConfigurationFragmentBuilders
files Use the new run configuration fragment builders.
Kotlin Plugin 2023.3
org.jetbrains.kotlin.idea.actions.JavaToKotlinAction.Companion
class renamed toorg.jetbrains.kotlin.idea.actions.JavaToKotlinAction.Handler
In order to not load additional code eagerly on action instantiation.
org.jetbrains.kotlin.idea.compiler.configuration.KotlinIdePluginVersion.Companion
class removedNow, the Kotlin plugin version does not include a compiler version, so the class is unnecessary. Use
com.intellij.openapi.application.ApplicationInfo
to get the IntelliJ version.org.jetbrains.kotlin.idea.compiler.configuration.KotlinIdePluginVersion
class removedNow, the Kotlin plugin version does not include a compiler version, so the class is unnecessary. Use
com.intellij.openapi.application.ApplicationInfo
to get the IntelliJ version.
Markdown Plugin 2023.3
org.intellij.plugins.markdown.editor.images
package removedUse
org.intellij.plugins.markdown.images
fromintellij.markdown.images
module.org.intellij.plugins.markdown.lang.psi.MarkdownPsiElementFactory.createHtmlBlockWithImage(Project, MarkdownImageData)
method removedUse
org.intellij.plugins.markdown.images.editor.ImagePsiElementFactory.createHtmlBlockWithImage
instead.org.intellij.plugins.markdown.lang.psi.MarkdownPsiElementFactory.createHtmlImageTag(Project, MarkdownImageData)
method removedUse
org.intellij.plugins.markdown.images.editor.ImagePsiElementFactory.createHtmlImageTag
instead.org.intellij.plugins.markdown.lang.psi.MarkdownPsiElementFactory.createImage(Project, String, String, String)
method removedUse
org.intellij.plugins.markdown.images.editor.ImagePsiElementFactory.createImage
.action.org.intellij.plugins.markdown.ui.actions.styling.InsertImageAction.insert.popup.text
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.configure.image.dialog.browse.image.title
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.configure.image.dialog.convert.to.html.label
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.configure.image.dialog.description.label
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.configure.image.dialog.height.label
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.configure.image.dialog.path.label
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.configure.image.dialog.screen.reader.text.panel.title
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.configure.image.dialog.title.label
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.configure.image.dialog.width.label
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.markdown.insert.image.dialog.title
property removed from resource bundlemessages.MarkdownBundle
Use
org.intellij.plugins.markdown.images.MarkdownImagesBundle
instead.
Python Plugin 2023.3
org.jetbrains.plugins.notebooks.jupyter.variables
package removedIt is now part of separate Jupyter plugin.
com.jetbrains.python.psi.PyClass.getPropertiesInherited(TypeEvalContext)
abstract method addedShould implement this method.
Database Plugin 2023.3
com.intellij.database.datagrid.DataGrid.getName(ModelIndex<GridColumn>)
method removedOnly recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.setDisplayType(ModelIndex<GridColumn>, DisplayType)
abstract method addedOnly recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.getDisplayType(ModelIndex<GridColumn>)
abstract method addedOnly recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.getPureDisplayType(ModelIndex<GridColumn>)
abstract method addedOnly recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.setBinaryDisplayType(ModelIndex<GridColumn>, BinaryDisplayType)
method removedUse
com.intellij.database.datagrid.DataGrid.setDisplayType(ModelIndex<GridColumn>, DisplayType)
instead.com.intellij.database.datagrid.DataGrid.getBinaryDisplayType(ModelIndex<GridColumn>)
method removedUse
com.intellij.database.datagrid.DataGrid.getDisplayType(ModelIndex<GridColumn>)
instead.com.intellij.database.datagrid.DataGrid.getPureBinaryDisplayType(ModelIndex<GridColumn>)
method removedUse
com.intellij.database.datagrid.DataGrid.getPureDisplayType(ModelIndex<GridColumn>)
instead.
Package Checker Plugin 2023.3
com.intellij.packageChecker.maven.MavenSharedDependenciesModel
class renamed tocom.intellij.packageChecker.java.BuildSystemDependenciesModelBase
Renamed to a more correct and generic name.
2023.2
IntelliJ Platform 2023.2
com.intellij.openapi.actionSystem.AnActionEvent.getInputEvent()
method return type changed fromInputEvent
to@Nullable InputEvent
This may break source-compatibility with inheritors written in Kotlin.
- Specify
displayName
/key
forConfigurable
To improve performance, provide either attribute for
com.intellij.applicationConfigurable
orcom.intellij.projectConfigurable
extension point (see Settings Guide).com.intellij.remote.RemoteProcess.setWindowSize(int, int)
abstract method addedShould implement this method.
Database Plugin 2023.2
com.intellij.database.dataSource.DataSourceStorageCore
class removedUse
com.intellij.database.dataSource.DataSourceStorage
instead.com.intellij.database.dataSource.DataSourceStorageUtil
class removedUse
com.intellij.database.dataSource.DataSourceStorage
instead.com.intellij.database.dataSource.DataSourceStorageCore$Listener
class renamed tocom.intellij.database.dataSource.DataSourceStorage$Listener
Core
class removed from hierarchy.com.intellij.database.datagrid.CoreGrid.showCell(ModelIndex<Row>, ModelIndex<Column>)
method parameter type changed fromModelIndex<Row>
toint
ModelIndex
class is used to reference data in the table model. Row indexes in the table model start with 0, even when the table is scrolled to page N>1. Parameter type was changed toint
to indicate that it is an absolute index in the DB table.com.intellij.database.datagrid.DataGrid.getName(ModelIndex<GridColumn>)
abstract method addedOnly recompilation is needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.
Maven Plugin 2023.2
org.jetbrains.idea.maven.server.MavenEmbedderWrapper.customizeForResolve(MavenConsole, MavenProgressIndicator)
method removedUse
resolveProject(Collection, MavenExplicitProfiles, ProgressIndicator, MavenSyncConsole, MavenConsole, MavenWorkspaceMap, boolean)
instead.org.jetbrains.idea.maven.server.MavenEmbedderWrapper.execute(VirtualFile, Collection, Collection, List)
method removedUse
executeGoal(Collection, String, MavenProgressIndicator, MavenConsole)
instead.
Apache Velocity Plugin 2023.2
com.intellij.velocity.psi.VtlVariable.getPsiType()
method return type changed fromcom.intellij.psi.PsiType
tocom.intellij.velocity.psi.VtlVariableType
Use
com.intellij.velocity.java.reference.VtlPsiType
to wrap Java types to return result from implementations.
JSON Path Plugin 2023.2
- Moved package
com.intellij.jsonpath
It is now part of separate JSONPath plugin. Add dependency on
com.intellij.jsonpath
to use its API.
2023.1
IntelliJ Platform 2023.1
- Apache Batik library unbundled
Please bundle and use echosvg library instead.
com.intellij.grazie.text.RuleGroup.Companion.getLITERALS() method removed
Replaced by constant field
LITERALS
.com.intellij.ui.treeStructure.SimpleNode.doUpdate()
method removedIt was replaced by
doUpdate(PresentationData)
which should now only modify the state of its parameter.com.intellij.ide.ui.laf.darcula.ui.DarculaProgressBarUI.getFinishedColor()
method removedUse
getFinishedColor(JComponent c)
overload instead.com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String)
method removedUse
setNameAndTooltip(PresentationData, String, String)
overload instead.com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String, String)
method removedUse
setNameAndTooltip(PresentationData, String, String, String)
overload instead.com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String, SimpleTextAttributes)
method removedUse
setNameAndTooltip(PresentationData, String, String, SimpleTextAttributes)
overload instead.com.intellij.ssh.config.unified.SshConfigManager.register(boolean, String, String, String, String, AuthType, String, String, boolean, boolean, String, String)
method parameterString
removedLocal port is the part of the tunnel configuration, not SSH settings.
com.intellij.openapi.fileEditor.impl.HTMLEditorProvider.Companion.getAFFINITY_KEY()
method removedIt was an accidentally exposed internal API. Please use
HTMLEditorProvider.openEditor()
methods, or implement your own file editor provider.com.intellij.execution.RunnerAndConfigurationSettings.setFocusToolWindowBeforeRun(boolean)
abstract method addedThe interface is not intended to be implemented in external plugins.
com.intellij.execution.RunnerAndConfigurationSettings.getFocusToolWindowBeforeRun()
abstract method addedThe interface is not intended to be implemented in external plugins.
Database Plugin 2023.1
com.intellij.database.dataSource.url.TypeDescriptor.ParamEditor
class moved to packagecom.intellij.database.dataSource.url
The inner interface was moved to upper level.
com.intellij.database.dataSource.url.TypesRegistry.BaseTypeDescriptor
class moved to packagecom.intellij.database.dataSource.url.ui
UI extracted from
TypesRegistry
toTypesRegistryUi
. Usecom.intellij.database.urlParamEditorProvider
extension point to register parameter descriptor, usecom.intellij.database.urlParamEditorUiProvider
extension point to register parameter editor descriptor.com.intellij.database.datagrid.DataGrid.setAnonymousColumnName(String)
method removedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.setResultViewAdditionalRowsCount(int)
method removedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.setResultViewAllowMultilineColumnLabels(boolean)
method removedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.setResultViewPaintHorizontalLines(boolean)
method removedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.setResultViewShowRowNumbers(boolean)
method removedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.setResultViewTransparentHeaderBackground(boolean)
method removedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.setResultViewVisibleRowCount(int)
method removedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.countSortedColumns()
abstract method addedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.getAppearance()
abstract method addedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.getHoveredRowBackground()
abstract method addedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.datagrid.DataGrid.getStripeRowBackground()
abstract method addedOnly recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation.com.intellij.database.plan.ExplainPlanProvider.createRawExplainTask(LocalDataSource dataSource, boolean analyze)
abstract method addedShould implement this method.
JavaScript Plugin 2023.1
com.intellij.lang.javascript.JavascriptParserDefinition.createFile(FileViewProvider)
method return type changed fromcom.intellij.lang.javascript.psi.JSFile
tocom.intellij.psi.PsiFile
Required to support Astro file format.
JavaScript Debugger Plugin 2023.1
org.jetbrains.wip.WipVm.initDomains()
method return type changed fromvoid
toorg.jetbrains.concurrency.Promise<*>
initDomains()
is now awaitable to make WIP/CDP domains-dependent initialization logic possible.org.jetbrains.wip.WipVm.ready()
method return type changed fromvoid
toorg.jetbrains.concurrency.Promise<*>
ready()
is now awaitable to make WIP/CDP connection-dependent initialization logic possible.
JetBrains Gateway Plugin 2023.1
com.jetbrains.gateway.ssh.HighLevelHostAccessor.isPathPresentOnRemote(String, FileSystemItem)
method parameter type changed fromString
tocom.jetbrains.gateway.ssh.deploy.RemotePath
Using strings instead of paths breaks a lot of things when doing cross-platform development, and is generally not a good idea. Use
com.jetbrains.gateway.ssh.HighLevelHostAccessor.makeRemotePath
to prepare a path to pass into any of the methods requiring it.
PHP Plugin 2023.1
com.jetbrains.php.config.library.PhpIncludePathManager.getRoots()
method removedThis class no longer handles all paths configured in non-runtime
com.jetbrains.php.config.library.PhpLibraryRootProvider
. Paths configured in Include Path Settings are available withPhpIncludePathManager.getIncludePaths()
. All additional paths to use as roots for resolving viaPhpIncludePathManager.getAllIncludedRoots()
.