mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
16 KiB
16 KiB
Incompatible Changes in IntelliJ Platform and Plugins API 2023.*
List of known Breaking API Changes in 2023.*
2023.3
IntelliJ Platform 2023.3
- 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.
Java Plugin 2023.3
com.siyeh.ipp.base.Intention
class removed- As 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.
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.
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 ). com.intellij.remote.RemoteProcess.setWindowSize(int, int)
abstract method added- Should implement this method.
Database Plugin 2023.2
com.intellij.database.dataSource.DataSourceStorageCore
class removed- Use
com.intellij.database.dataSource.DataSourceStorage
instead. com.intellij.database.dataSource.DataSourceStorageUtil
class removed- Use
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(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.
Maven Plugin 2023.2
org.jetbrains.idea.maven.server.MavenEmbedderWrapper.customizeForResolve(MavenConsole, MavenProgressIndicator)
method removed- Use
resolveProject(Collection, MavenExplicitProfiles, ProgressIndicator, MavenSyncConsole, MavenConsole, MavenWorkspaceMap, boolean)
instead. org.jetbrains.idea.maven.server.MavenEmbedderWrapper.execute(VirtualFile, Collection, Collection, List)
method removed- Use
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 removed- It 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 removed- Use
getFinishedColor(JComponent c)
overload instead. com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String)
method removed- Use
setNameAndTooltip(PresentationData, String, String)
overload instead. com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String, String)
method removed- Use
setNameAndTooltip(PresentationData, String, String, String)
overload instead. com.intellij.openapi.externalSystem.view.ExternalSystemNode.setNameAndTooltip(String, String, SimpleTextAttributes)
method removed- Use
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
removed- Local port is the part of the tunnel configuration, not SSH settings.
com.intellij.openapi.fileEditor.impl.HTMLEditorProvider.Companion.getAFFINITY_KEY()
method removed- It 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 added- The interface is not intended to be implemented in external plugins.
com.intellij.execution.RunnerAndConfigurationSettings.getFocusToolWindowBeforeRun()
abstract method added- The 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 removed- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.setResultViewAdditionalRowsCount(int)
method removed- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.setResultViewAllowMultilineColumnLabels(boolean)
method removed- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.setResultViewPaintHorizontalLines(boolean)
method removed- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.setResultViewShowRowNumbers(boolean)
method removed- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.setResultViewTransparentHeaderBackground(boolean)
method removed- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.setResultViewVisibleRowCount(int)
method removed- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.countSortedColumns()
abstract method added- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.getAppearance()
abstract method added- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.getHoveredRowBackground()
abstract method added- Only recompilation needed for classes that implement
DataGrid
and delegate calls to an actualDataGrid
implementation. com.intellij.database.datagrid.DataGrid.getStripeRowBackground()
abstract method added- Only 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 added- Should 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 removed- This 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()
.