IntelliJ Platform Plugin SDK Help

Incompatible Changes in IntelliJ Platform and Plugins API 2019.*

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.

2019.3

IntelliJ Platform 2019.3

com.intellij.codeInsight.TailType.getLocalCodeStyleSettings(Editor, int) method removed

Use com.intellij.psi.codeStyle.CommonCodeStyleSettings.getLocalCodeStyleSettings(Editor, int) instead.

com.intellij.codeInsight.TailType.EQ field removed

Use com.intellij.codeInsight.lookup.EqTailType.INSTANCE instead.

com.intellij.codeInsight.TailType.COMMA field removed

Use com.intellij.codeInsight.lookup.CommaTailType.INSTANCE instead.

com.intellij.codeInsight.completion.CompletionContributor.getActionShortcut(String) method removed

Use com.intellij.codeInsight.completion.CompletionUtil.getActionShortcut(String) instead

com.intellij.codeInsight.AutoPopupController.runTransactionWithEverythingCommitted(Project, Runnable) method removed

Use com.intellij.codeInsight.AutoPopupControllerImpl.runTransactionWithEverythingCommitted(Project, Runnable) instead

com.intellij.codeInsight.completion.InsertionContext.getCodeStyleSettings() method removed

Use com.intellij.codeInsight.completion.util.CompletionStyleUtil.getCodeStyleSettings(InsertionContext) instead

com.intellij.codeInsight.completion.CompletionUtil.sortMatching(PrefixMatcher, Collection) method removed

Use com.intellij.codeInsight.completion.PrefixMatcher.sortMatching(Collection) instead

com.intellij.json.JsonFileTypeFactory class removed

Use com.intellij.fileType extension point instead.

com.intellij.util.containers.ConcurrentHashSet class removed

Use com.intellij.util.containers.ContainerUtil#newConcurrentSet instead.

com.intellij.openapi.editor.impl.EditorFactoryImpl(EditorActionManager) constructor removed

Use com.intellij.openapi.editor.EditorFactory.getInstance() instead.

com.intellij.util.net.ssl.CertificateManager.HOSTNAME_VERIFIER field removed

Use org.apache.http.conn.ssl.DefaultHostnameVerifier instead.

com.intellij.openapi.util.BuildNumber.getBuildNumber() method removed

See BuildNumber.asString, BuildNumber.getBaselineVersion() and BuildNumber.getComponents() as alternatives.

com.intellij.remoteServer.configuration.deployment.DeploymentConfigurationManager.createAndRunConfiguration(ServerType, RemoteServer) method removed

Use DeploymentConfigurationManager.createAndRunConfiguration(ServerType, RemoteServer, DeploymentSourceType) instead.

VCS

com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILES_DATA_KEY field removed

Use com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILE_PATHS_DATA_KEY instead.

com.intellij.openapi.vcs.VcsVFSListener.myAddedFiles field removed

Use com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAddedFiles() instead.

com.intellij.openapi.vcs.VcsVFSListener.myDeletedFiles field removed

Use com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAllDeletedFiles().deletedFiles instead.

com.intellij.openapi.vcs.VcsVFSListener.myDeletedWithoutConfirmFiles field removed

Use com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAllDeletedFiles().deletedWithoutConfirmFiles instead.

com.intellij.openapi.vcs.VcsVFSListener.myExceptions field removed

Use com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireExceptions() or com.intellij.openapi.vcs.VcsVFSListener.myProcessor.addException(VcsException exception) instead.

Test Framework

com.intellij.testFramework.PlatformTestUtil.registerExtension(ExtensionsArea, T, Disposable) method removed

Use com.intellij.testFramework.ServiceContainerUtil#registerExtension(BaseExtensionPointName, T, Disposable) instead.

com.intellij.testFramework.PlatformTestUtil.registerExtension(ExtensionsArea, BaseExtensionPointName, T, Disposable) method removed

Use com.intellij.testFramework.ServiceContainerUtil#registerExtension(BaseExtensionPointName, T, Disposable) instead.

com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor.getModuleType() method removed

Use com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor.getModuleTypeId() instead (see com.intellij.openapi.module.ModuleTypeId).

Java Plugin 2019.3

com.intellij.codeInspection.magicConstant.MagicCompletionContributor.getAllowedValues(PsiElement) method return type changed from com.intellij.codeInspection.magicConstant.MagicConstantInspection.AllowedValues to com.intellij.codeInspection.magicConstant.MagicConstantUtils.AllowedValues

Use new type instead.

Groovy Plugin 2019.3

org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeDetector(GroovyScriptType, String[]) constructor removed

Use constructor GroovyScriptTypeDetector(GroovyScriptType) instead, and com.intellij.fileType to register additional extensions.

Cucumber Plugin 2019.3

org.jetbrains.plugins.cucumber.javascript.CucumberJavaScriptStepDefinitionCreator#createStepDefinition(GherkinStep, PsiFile) method removed

Use org.jetbrains.plugins.cucumber.javascript.CucumberJavaScriptStepDefinitionCreator#createStepDefinition(GherkinStep, PsiFile, boolean) instead.

org.jetbrains.plugins.cucumber.psi.GherkinStep#getStepName() method removed

Use org.jetbrains.plugins.cucumber.psi.GherkinStep#getName() instead.

org.jetbrains.plugins.cucumber.CucumberJvmExtensionPoint#resolveStep() method removed

See org.jetbrains.plugins.cucumber.steps.reference.CucumberStepReference#multiResolveInner() instead.

org.jetbrains.plugins.cucumber.CucumberJvmExtensionPoint#getGlues() method removed

Java specific method was moved to CucumberJava implementation.

DataGrip and Database Tools Plugin 2019.3

com.intellij.sql.dialects.mssql.MssqlDialect class renamed to com.intellij.sql.dialects.mssql.MsDialect

Do not use SQL dialect classes directly.

com.intellij.sql.dialects.oracle.OracleDialect class renamed to com.intellij.sql.dialects.oracle.OraDialect

Do not use SQL dialect classes directly.

com.intellij.sql.dialects.postgres.PostgresDialect class renamed to com.intellij.sql.dialects.postgres.PgDialect

Do not use SQL dialect classes directly.

RubyMine and Ruby Plugin 2019.3

org.jetbrains.plugins.ruby.ruby.codeInsight.types.RubyTypeProvider.createTypeBySymbolFromProviders(Symbol symbol, Context context) method parameter Context removed

This was done as part of RUBY-24760 in order to move to new Context-less approach.

PyCharm and Python Plugin 2019.3

com.jetbrains.python.inspections.PythonVisitorFilter class moved to package com.jetbrains.python.psi

com.jetbrains.python.psi.PyUtil.addElementToStatementList(PsiElement, PyStatementList, boolean) method removed

Use com.jetbrains.python.refactoring.PyRefactoringUtil.addElementToStatementList(PsiElement, PyStatementList, boolean) instead

com.jetbrains.python.psi.search.PyProjectScopeBuilder.excludeSdkTestsScope(Project) method removed

Use com.jetbrains.python.psi.search.PySearchUtilBase.excludeSdkTestsScope(Project) instead.

icons.PythonIcons.Python.PropertySetter field removed

Use icons.PythonPsiApiIcons.PropertySetter instead.

icons.PythonIcons.Python.PropertyGetter field removed

Use icons.PythonPsiApiIcons.PropertyGetter instead.

PARSE.expected.colon property removed from resource bundle com.jetbrains.python.PyBundle

Use com.jetbrains.python.PyPsiBundle instead.

PARSE.expected.expression property removed from resource bundle com.jetbrains.python.PyBundle

Use com.jetbrains.python.PyPsiBundle instead.

2019.2

IntelliJ Platform 2019.2

Constructor injection referring to extension points not supported

Obtain reference to extension points via (Project)ExtensionPointName.findExtension() in your constructor instead.

com.intellij.openapi.components.BaseState.map$default(BaseState, Map, int, Object) method removed

Use com.intellij.openapi.components.BaseState.map() instead.

org.nustaq package removed

fast-serialization library was removed, please use com.intellij.serialization.ObjectSerializer instead.

java.org.java_websocket package removed

Java-WebSocket library was removed, bundle it with your plugin instead.

com.intellij.ui.layout.Cell.invoke$default(Cell, JComponent, CCFlags[], int, GrowPolicy, String, int, Object) method parameter type changed

The signature of this function has been seriously changed without the possibility to keep the old function. Change invocations and overriding of that function according to new parameters and recompile the code.

com.intellij.ui.layout.Row.label$default(Row, String, int, UIUtil.ComponentStyle, UIUtil.FontColor, boolean, int, Object) method removed

This method has been pulled up to the base class Cell; since it has default parameters, it's a binary breaking change in Kotlin. Recompile your code to pick up the new signature.

com.yourkit package removed

YourKit library has been extracted into the separate plugin, which is not bundled in all IDEs by default. YourKit library is a library for profiling IDE, and its util classes shouldn't be used for general purposes. Instead of com.yourkit.util.Strings please use org.apache.commons.lang.StringUtils. Instead of com.yourkit.util.ArrayUtil please use org.apache.commons.lang.ArrayUtils.

org.jetbrains.intellij.build.ProductProperties.yourkitAgentBinariesDirectoryPath field removed

Please bundle performanceTesting plugin in case you would like to bundle YourKit profiler within your IDE.

org.jetbrains.intellij.build.ProductProperties.enableYourkitAgentInEAP field removed

Please bundle performanceTesting plugin in case you would like to bundle YourKit profiler within your IDE.

com.intellij.extapi.psi.PsiElementBase class removed

Please use com.intellij.psi.impl.PsiElementBase or one of its descendants as a base class for PSI elements, e.g. com.intellij.extapi.psi.ASTWrapperPsiElement, as suggested in Custom Language Support Tutorial.

com.intellij.extapi.psi.MetadataPsiElementBase class removed

Please use different base class for PSI elements.

com.intellij.ide.actions.SearchAgainAction class now extends com.intellij.openapi.editor.actionSystem.EditorAction and inherits its final method actionPerformed

Please use the com.intellij.editorActionHandler extension point to register a different handler for the action.

com.intellij.ide.actions.SearchBackAction class now extends com.intellij.openapi.editor.actionSystem.EditorAction and inherits its final method actionPerformed

Please use the com.intellij.editorActionHandler extension point to register a different handler for the action.

com.intellij.lexer.RestartableLexer.getRestartableState() method removed

Please use com.intellij.lexer.RestartableLexer.isRestartableState(int state) instead.

com.intellij.lexer.RestartableLexer.isRestartableState(int state) abstract method added

Implement method in RestartableLexer implementations.

com.intellij.lexer.RestartableLexer.start(CharSequence buffer, int startOffset, int endOffset, int initialState, TokenIterator tokenIterator) abstract method added

Implement method in RestartableLexer implementations.

2019.1

IntelliJ Platform 2019.1

kotlinx.coroutines.experimental package removed

Bundled Kotlin library is updated to 1.3, so the plugins must migrate to the stable versions of coroutines.

com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl(Project, FileStatusManager, FileIndexFacade, ProjectManager, DefaultVcsRootPolicy, VcsFileListenerContextHelper) constructor removed

Use com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl.<init>(Project, FileStatusManager, FileIndexFacade, ProjectManager, DefaultVcsRootPolicy).

com.intellij.injected.editor.DocumentWindow.injectedToHost(int, boolean) abstract method added

Implement the method in DocumentWindow implementations.

git4idea.rebase.GitCommitEditingAction.actionPerformed(AnActionEvent) method marked final

Implement actionPerformedAfterChecks instead of actionPerformed.

git4idea.rebase.GitCommitEditingAction.actionPerformedAfterChecks(AnActionEvent) abstract method added

Implement actionPerformedAfterChecks instead of actionPerformed.

com.intellij.util.lang.UrlClassLoader.loadPlatformLibrary method removed

Use com.intellij.util.loader.NativeLibraryLoader.loadPlatformLibrary instead.

com.intellij.openapi.util.KeyedExtensionCollector.getExtensions() method marked final

Remove custom implementation.

DataGrip and Database Tools Plugin 2019.1

com.intellij.sql.psi.SqlTokens.SQL_IDENT field type changed from com.intellij.sql.psi.impl.SqlTokenType to com.intellij.sql.psi.SqlTokenType

In most of the cases, it's enough to recompile the code. It may also be needed to check that the code doesn't rely on the field's type.

Kotlin Plugin API 1.3

org.jetbrains.kotlin.KtNodeTypes.BOOLEAN_CONSTANT field type changed from org.jetbrains.kotlin.KtNodeType to com.intellij.psi.tree.IElementType

Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.

org.jetbrains.kotlin.KtNodeTypes.CHARACTER_CONSTANT field type changed from org.jetbrains.kotlin.KtNodeType to com.intellij.psi.tree.IElementType

Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.

org.jetbrains.kotlin.KtNodeTypes.FLOAT_CONSTANT field type changed from org.jetbrains.kotlin.KtNodeType to com.intellij.psi.tree.IElementType

Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.

org.jetbrains.kotlin.KtNodeTypes.INTEGER_CONSTANT field type changed from org.jetbrains.kotlin.KtNodeType to com.intellij.psi.tree.IElementType

Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.

org.jetbrains.kotlin.KtNodeTypes.STRING_TEMPLATE field type changed from org.jetbrains.kotlin.KtNodeType to com.intellij.psi.tree.IElementType

Field type has been generalized. In most of the cases, it's enough to recompile the code of the plugin.

Last modified: 14 March 2024