mirror of
https://github.com/JetBrains/intellij-sdk-code-samples.git
synced 2025-07-28 01:07:49 +08:00
23 KiB
23 KiB
Incompatible Changes in IntelliJ Platform and Plugins API 2022.*
2022.3
IntelliJ Platform 2022.3
com.intellij.openapi.externalSystem.dependency.analyzer.DependencyAnalyzerExtension.isApplicable(ProjectSystemId)
abstract method added- Must be implemented.
com.intellij.openapi.externalSystem.dependency.analyzer.DependencyAnalyzerExtension.createContributor(Project, Disposable)
method parameterProjectSystemId
removed- Adjust your code.
com.intellij.openapi.externalSystem.dependency.analyzer.DependencyAnalyzerExtension.createContributor(Project, Disposable)
method return type changed fromDependencyAnalyzerContributor?
toDependencyAnalyzerContributor
- Implement
isApplicable()
instead. com.intellij.openapi.editor.EditorCopyPasteHelper.getSelectionTransferable(Editor editor, EditorCopyPasteHelper.CopyPasteOptions options)
abstract method added- Must be implemented instead of and preferred over
com.intellij.openapi.editor.EditorCopyPasteHelper.copySelectionToClipboard(Editor)
which now delegates to the new method. com.intellij.codeInsight.template.TemplateContextType.EP_NAME
field removed- Use
com.intellij.codeInsight.template.impl.TemplateContextTypes
to getTemplateContextType
extensions.
Database Plugin 2022.3
com.intellij.database.dataSource.url.TypesRegistry.ParamEditor
class removed- Use
com.intellij.database.dataSource.url.TypeDescriptor.ParamEditor
instead. com.intellij.database.dataSource.url.TypesRegistry.BaseTypeDescriptor.createFieldImpl(String caption, String configuration, DataInterchange interchange)
abstract method added- Must be implemented.
com.intellij.database.psi.DbDataSourceImpl.getDelegate()
method return type changed fromDatabaseSystem
toRawDataSource
- Prefer
com.intellij.database.psi.DbDataSource.getDelegateDataSource()
. com.intellij.database.psi.DbPsiFacadeImpl.createDataSourceWrapperElement(DasDataSource, DataSourceManager)
method parameter type changed fromDasDataSource
toRawDataSource
- Avoid manually wrapping data sources.
com.intellij.database.vfs.DatabaseElementVirtualFileImpl.setBusy(boolean)
method removed- That method was an internal method.
com.intellij.database.util.TreePatternNode.Group(ObjectKind, TreePatternNode[], TreePatternNode)
constructor removed- Do not manipulate TreePatternNodes. Use TreePatternUtils to manipulate TreePatterns.
com.intellij.database.util.TreePatternNode.NegativeNaming(ObjectName[])
constructor removed- Do not manipulate TreePatternNodes. Use TreePatternUtils to manipulate TreePatterns.
TextMate Plugin 2022.3
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistry
class now interface- Construct and mutate the
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistryImpl
instead. org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistry.fillFromPList(CharSequence, Plist)
method removed- Use
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistryImpl.fillFromPList(CharSequence, Plist)
instead. org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistry.clear()
method removed- Use
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistryImpl.clear()
instead. org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistry()
constructor removed- Instantiate
org.jetbrains.plugins.textmate.language.preferences.PreferencesRegistryImpl
instead. org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistry
class now interface- Construct and mutate the
org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistryImpl
instead. org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistry.fillVariablesFromPlist(CharSequence, Plist)
method removed- Use
org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistryImpl.fillVariablesFromPlist(CharSequence, Plist)
instead. org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistry.clear()
method removed- Use
org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistryImpl.clear()
instead. org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistry()
constructor removed- Instantiate
org.jetbrains.plugins.textmate.language.preferences.ShellVariablesRegistryImpl
instead. org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistry
class now interface- Construct and mutate the
org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistryImpl
instead. org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistry.register(TextMateSnippet)
method removed- Use
org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistryImpl.register(TextMateSnippet)
instead. org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistry.clear()
method removed- Use
org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistryImpl.clear()
instead. org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistry()
constructor removed- Instantiate
org.jetbrains.plugins.textmate.language.preferences.SnippetsRegistryImpl()
instead.
HTTP Client Plugin 2022.3
com.intellij.httpClient.http.request.HttpRequestVariableSubstitutor
class now interface- Use
com.intellij.httpClient.http.request.HttpRequestVariableSubstitutorImpl.create(Project, HttpRequestEnvironment)
for constructing instances.
JavaScript Plugin 2022.3
com.intellij.lang.javascript.buildTools.webpack.WebPackConfigManager
class moved to packagecom.intellij.webpack
- Use
com.intellij.webpack.WebpackConfigManager
instead. com.intellij.lang.javascript.buildTools.webpack.WebPackConfigManager.Companion
class moved to packagecom.intellij.webpack
- Use
com.intellij.webpack.WebpackConfigManager.Companion
instead.
Microservices Plugin 2022.3
com.intellij.microservices.url.inlay.UrlPathInlayAction.isAvailable(file: PsiFile, urlPathContext: UrlPathContext)
method parameter type changed fromcom.intellij.microservices.url.references.UrlPathContext
tocom.intellij.microservices.url.inlay.UrlPathInlayHint
- Use
com.intellij.microservices.url.inlay.UrlPathInlayHint.getContext
to obtain correspondingUrlPathContext
instance.
Remote Development Gateway Plugin 2022.3
com.jetbrains.gateway.ssh.SshMultistagePanelContext.getSshConfig()
method removed- Use
com.jetbrains.gateway.ssh.SshMultistagePanelContext.getConfig()
instead. com.jetbrains.gateway.ssh.SshMultistagePanelContext.setSshConfig(SshConfig)
method removed- Use
com.jetbrains.gateway.ssh.SshMultistagePanelContext.setConfig(SshConfig)
instead.
YAML Plugin 2022.3
- org.jetbrains.yaml.YAMLParserDefinition no longer implements
org.jetbrains.yaml.YAMLElementTypes
. - Use
org.jetbrains.yaml.YAMLElementTypes
fields directly.
Terraform Plugin 2022.3
Top level packages of Terraform org.intellij.plugins.hcl
and org.intellij.plugins.hil
moved to single org.intellij.terraform
.
2022.2
IntelliJ Platform 2022.2
com.intellij.openapi.actionSystem.TypeSafeDataProvider
class removed- Use
com.intellij.openapi.actionSystem.DataProvider
class instead. com.intellij.openapi.actionSystem.DataSink
class removed- Removed along with
com.intellij.openapi.actionSystem.TypeSafeDataProvider
. com.intellij.openapi.vcs.changes.ui.ChangesBrowser
class removed- Use
com.intellij.openapi.vcs.changes.ui.ChangesBrowserBase
orcom.intellij.openapi.vcs.changes.ui.SimpleChangesBrowser
instead. com.intellij.openapi.vcs.changes.ui.ChangesBrowser.MyUseCase
class removed- Removed along with
com.intellij.openapi.vcs.changes.ui.ChangesBrowser
. com.intellij.openapi.vcs.changes.ui.ChangesTreeList
class removed- Use
com.intellij.openapi.vcs.changes.ui.ChangesTree
orcom.intellij.openapi.vcs.changes.ui.ChangesTreeImpl
instead. com.intellij.ide.IdeEventQueue.unsafeNonblockingExecute(Runnable)
method removed- Method does not make sense anymore, please see JBR-4328.
com.intellij.vcs.log.VcsLogHighlighter.getStyle(int, VcsShortCommitDetails, boolean)
method removed- Use
com.intellij.vcs.log.VcsLogHighlighter.getStyle(int, VcsShortCommitDetails, int, boolean)
instead. com.intellij.AbstractBundle.getResourceBundle(java.lang.String, java.lang.ClassLoader)
method removed- Use
com.intellij.DynamicBundle.getResourceBundle(java.lang.ClassLoader, java.lang.String)
instead
Java Plugin 2022.2
com.intellij.codeInspection.javaDoc.JavaDocLocalInspection
class removed- Use
com.intellij.codeInspection.javaDoc.JavadocDeclarationInspection.ADDITIONAL_TAGS
field instead ofJavaDocLocalInspection.myAdditionalJavadocTags
.
Plugin DevKit Plugin 2022.2
icons.DevkitIcons
class renamed toorg.jetbrains.idea.devkit.DevKitIcons
- Use
org.jetbrains.idea.devkit.DevKitIcons
instead. icons.DevkitIcons.Gutter
class renamed toorg.jetbrains.idea.devkit.DevKitIcons.Gutter
- Use
org.jetbrains.idea.devkit.DevKitIcons.Gutter
instead.
Collaboration Tools 2022.2
com.intellij.collaboration.auth.ui.AccountsListModelBase.notifyCredentialsChanged(A account)
method visibility changed from protected to private- Method hidden for better encapsulation.
com.intellij.collaboration.auth.ui.AccountsPanelFactory.INSTANCE
field removed- Factory is now a factory.
com.intellij.collaboration.auth.ui.LoadingAccountsDetailsProvider.DetailsLoadingResult
class removed- Better API introduced in the form of
com.intellij.collaboration.auth.ui.AccountsDetailsLoader
. com.intellij.collaboration.auth.ui.LoadingAccountsDetailsProvider
class removed- Better API introduced in the form of
com.intellij.collaboration.auth.ui.AccountsDetailsLoader
. com.intellij.collaboration.ui.codereview.avatar.CachingAvatarIconsProvider
class renamed tocom.intellij.collaboration.ui.codereview.avatar.CachingCircleImageIconsProvider
- Icon provider implementation changes to async.
GitHub 2022.2
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount)
method return type changed fromorg.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
toorg.jetbrains.plugins.github.api.GithubApiRequestExecutor
- Hidden implementation details.
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount, Project)
method return type changed fromorg.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
toorg.jetbrains.plugins.github.api.GithubApiRequestExecutor
- Hidden implementation details.
org.jetbrains.plugins.github.api.GithubApiRequestExecutorManager.getExecutor(GithubAccount, JComponent)
method return type changed fromorg.jetbrains.plugins.github.api.GithubApiRequestExecutor.WithTokenAuth
toorg.jetbrains.plugins.github.api.GithubApiRequestExecutor
- Hidden implementation details.
Grazie Plugin 2022.2
- Method
com.intellij.grazie.GrazieBundle.message(key, parameters)
marked static - To shorten Java callers.
Docker Plugin 2022.2
com.intellij.docker.registry.DockerRegistry
class renamed tocom.intellij.docker.registry.DockerRegistryConfiguration
- Please update usages.
JavaScript Plugin 2022.2
com.intellij.lang.javascript.buildTools.webpack.WebPackConfigManager.setConfig(WebPackConfig)
method moved to the superclass- Should be used only in tests (marked with
@TestOnly
). com.intellij.lang.javascript.buildTools.webpack.WebPackConfig
class renamed tocom.intellij.lang.javascript.buildTools.bundler.WebBundlerConfig
- Use
com.intellij.lang.javascript.buildTools.bundler.WebBundlerConfig
instead. com.intellij.lang.javascript.buildTools.webpack.WebPackResolve
class renamed tocom.intellij.lang.javascript.buildTools.bundler.WebBundlerResolve
- Use
com.intellij.lang.javascript.buildTools.bundler.WebBundlerResolve
instead. com.intellij.lang.javascript.buildTools.webpack.WebPackConfigPath
class removed- A regular String class is used instead.
2022.1
IntelliJ Platform 2022.1
org.apache.log4j
package removed- log4j library removed from IntelliJ Platform, please see this blog post for migration instructions.
org.slf4j
package removed- log4j library removed from IntelliJ Platform, please see this blog post for migration instructions.
com.intellij.openapi.diagnostic.Log4jBasedLogger
class removed- log4j library removed from IntelliJ Platform, please see this blog post for migration instructions.
com.intellij.platform.DirectoryProjectConfigurator.configureProject(Project, VirtualFile, Ref<Module>, boolean)
marked abstract- Implement it instead of removed one.
com.intellij.psi.impl.java.stubs.index.JavaStubIndexKeys.CLASS_FQN
field type changed fromStubIndexKey<Integer, PsiClass>
toStubIndexKey<CharSequence, PsiClass>
JavaFullClassNameIndex
now takesCharSequence
instead of itshashCode
to allow specific optimizations.com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex.getKey
method return type changed fromStubIndexKey<Integer, PsiClass>
toStubIndexKey<CharSequence, PsiClass>
JavaFullClassNameIndex
now takesCharSequence
instead of itshashCode
to allow specific optimizations.com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex.get(Integer, Project, GlobalSearchScope)
method parameter type changed fromInteger
toCharSequence
JavaFullClassNameIndex
now takesCharSequence
instead of itshashCode
to allow specific optimizations.com.jcraft.jsch
package removed- JSch library was removed, bundle it with your plugin instead.
com.intellij.diagnostic.DialogAppender.addFilter(Filter)
method removedDialogAppender
now implementsjava.util.logging.Handler
, usesetFilter
method if you need to apply a filter.com.intellij.psi.impl.cache.impl.BaseFilterLexerUtil.ScanContent
class removed- Todo index is removed from the indexing procedure, use specific
calcIdEntries
orcalcTodoEntries
method instead. com.intellij.psi.impl.cache.impl.BaseFilterLexerUtil.scanContent(FileContent, IdAndToDoScannerBasedOnFilterLexer)
method removed- Todo index is removed from the indexing procedure, use specific
calcIdEntries
orcalcTodoEntries
method instead. com.intellij.util.ui.StartupUiUtil.createStyleSheet(String)
method removed- Method moved to
com.intellij.util.ui.StyleSheetUtil
Collaboration Tools 2022.1
com.intellij.collaboration.auth.ui.AccountsPanelFactory.accountsPanel(Row, AccountManager, PersistentDefaultAccountHolder, AccountsListModel, AccountsDetailsProvider, Disposable, Icon)
method removed- Support for default accounts required a signature change.
Markdown Plugin 2022.1
org.intellij.markdown.parser.constraints.MarkdownConstraints.Companion
class removed- Some methods from a companion object were moved to
CommonMarkdownConstraints
and to extension functions onMarkdownConstraints
. org.intellij.markdown.parser.constraints.MarkdownConstraints.Companion
field removed- Some methods from a companion object were moved to
CommonMarkdownConstraints
and to extension functions onMarkdownConstraints
. org.intellij.markdown.parser.constraints.MarkdownConstraints
class now interface- Use
CommonMarkdownConstraints
for default method implementations instead. org.intellij.markdown.parser.markerblocks.providers.AtxHeaderProvider(boolean)
constructor parameterboolean
removedAtxHeaderProvider
now always requires at least one space between#
and its content as specified by the CommonMark spec.org.intellij.markdown.html.HtmlGenerator.generateHtml()
method removed- Use
org.intellij.markdown.html.HtmlGenerator.generateHtml(org.intellij.markdown.html.HtmlGenerator.TagRenderer)
instead. org.intellij.markdown.parser.markerblocks.MarkerBlockProvider.Companion.passSmallIndent(CharSequence)
method removed- Use
org.intellij.markdown.parser.markerblocks.MarkerBlockProvider.Companion.passSmallIndent(CharSequence, Integer)
instead.
Database Tools and SQL Plugin 2022.1
com.intellij.database.datagrid.DataProducer.processRequest(DataRequest)
method parameter type changed fromDataRequest
toGridDataRequest
GridDataRequest
is a part of new API for async loading of table data. It's not possible to keep old method with default implementation becauseDataProducer
will no longer have dependency onDataRequest
. Plugins need to be recompiled to maintain bytecode compatibility.com.intellij.database.datagrid.DataRequest.RawQueryRequest.afterLastRowAdded(DataRequest.Context, int)
method parameter type changed fromDataRequest.Context
toGridDataRequest.Context
- The signature of the method was changed in the interface
com.intellij.database.datagrid.DataConsumer
that is now a part of new API for async loading of table data. Change the parameter type of the overridden method and recompile plugin to maintain bytecode compatibility. com.intellij.database.datagrid.DataConsumer.addRows(DataRequest.Context, List<DataConsumer.Row>)
method parameter type changed fromDataRequest.Context
toGridDataRequest.Context
- The signature of the method was changed in the interface
com.intellij.database.datagrid.DataConsumer
that is now a part of new API for async loading of table data. Change the parameter type of the overridden method and recompile plugin to maintain bytecode compatibility. com.intellij.database.datagrid.DataConsumer.addRows(DataRequest.Context, List<DataConsumer.Row>)
method parameter type changed fromList<DataConsumer.Row>
toList<? extends GridRow>
- The signature of the method was changed in the interface
com.intellij.database.datagrid.DataConsumer
that is now a part of new API for async loading of table data. Change the parameter type of the overridden method and recompile plugin to maintain bytecode compatibility. com.intellij.database.extractors.ObjectFormatter.getPlainValue(Object, DataConsumer.Column, Dbms)
method removed- Method was removed because we refactor table editor API. It will not depend on Dbms anymore. Please use
ObjectFormatter.objectToString
instead. com.intellij.database.DatabaseDataKeys.DATA_SOURCE_KEY
field removedDatabaseDataKeys
no longer extendsDatabaseDataKeysCore
becauseDatabaseDataKeys
was moved to a separate module for table editor.DATA_SOURCE_KEY
now has to be accessed directly viaDatabaseDataKeysCore
.com.intellij.database.extractors.ObjectFormatter
class now interface- Method was removed because we refactor table editor API. New API will allow to use table editor in other products and fully customize it.