IntelliJ プラットフォーム SDK プラグイン開発ガイド

ページを編集 (英語)

IntelliJプラットフォームとプラグインAPI 2019.*の非互換な変更

互換性を確認する方法については、互換性のないAPIの変更を参照してください。

2019.3

IntelliJプラットフォーム2019.3の変更点

com.intellij.codeInsight.TailType.getLocalCodeStyleSettings(Editor, int) メソッドを削除
代わりに com.intellij.psi.codeStyle.CommonCodeStyleSettings.getLocalCodeStyleSettings(Editor, int) を使用してください。
com.intellij.codeInsight.TailType.EQ フィールドが削除されました
代わりに com.intellij.codeInsight.lookup.EqTailType.INSTANCE を使用してください。
com.intellij.codeInsight.TailType.COMMA フィールドが削除されました
代わりに com.intellij.codeInsight.lookup.CommaTailType.INSTANCE を使用してください。
com.intellij.codeInsight.completion.CompletionContributor.getActionShortcut(String) メソッドを削除
代わりに com.intellij.codeInsight.completion.CompletionUtil.getActionShortcut(String) を使用
com.intellij.codeInsight.AutoPopupController.runTransactionWithEverythingCommitted(Project, Runnable) メソッドを削除
代わりに com.intellij.codeInsight.AutoPopupControllerImpl.runTransactionWithEverythingCommitted(Project, Runnable) を使用
com.intellij.codeInsight.completion.InsertionContext.getCodeStyleSettings() メソッドを削除
代わりに com.intellij.codeInsight.completion.util.CompletionStyleUtil.getCodeStyleSettings(InsertionContext) を使用
com.intellij.codeInsight.completion.CompletionUtil.sortMatching(PrefixMatcher, Collection) メソッドを削除
代わりに com.intellij.codeInsight.completion.PrefixMatcher.sortMatching(Collection) を使用
com.intellij.json.JsonFileTypeFactory クラスが削除されました
代わりに com.intellij.fileType 拡張ポイントを使用してください。
com.intellij.util.containers.ConcurrentHashSet クラスが削除されました
代わりに com.intellij.util.containers.ContainerUtil#newConcurrentSet を使用してください。
com.intellij.openapi.editor.impl.EditorFactoryImpl(EditorActionManager) コンストラクターを削除
代わりに com.intellij.openapi.editor.EditorFactory.getInstance() を使用してください。
com.intellij.util.net.ssl.CertificateManager.HOSTNAME_VERIFIER フィールドが削除されました
代わりに org.apache.http.conn.ssl.DefaultHostnameVerifier を使用してください。
com.intellij.openapi.util.BuildNumber.getBuildNumber() メソッドを削除
代替として BuildNumber.asString , BuildNumber.getBaselineVersion() および BuildNumber.getComponents() を参照してください。
com.intellij.remoteServer.configuration.deployment.DeploymentConfigurationManager.createAndRunConfiguration(ServerType, RemoteServer) メソッドを削除
代わりに DeploymentConfigurationManager.createAndRunConfiguration(ServerType, RemoteServer, DeploymentSourceType) を使用してください。

VCS

com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILES_DATA_KEY フィールドが削除されました
代わりに com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILE_PATHS_DATA_KEY を使用してください。
com.intellij.openapi.vcs.VcsVFSListener.myAddedFiles フィールドが削除されました
代わりに com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAddedFiles() を使用してください。
com.intellij.openapi.vcs.VcsVFSListener.myDeletedFiles フィールドが削除されました
代わりに com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAllDeletedFiles().deletedFiles を使用してください。
com.intellij.openapi.vcs.VcsVFSListener.myDeletedWithoutConfirmFiles フィールドが削除されました
代わりに com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireAllDeletedFiles().deletedWithoutConfirmFiles を使用してください。
com.intellij.openapi.vcs.VcsVFSListener.myExceptions フィールドが削除されました
代わりに com.intellij.openapi.vcs.VcsVFSListener.myProcessor.acquireExceptions() または com.intellij.openapi.vcs.VcsVFSListener.myProcessor.addException(VcsException exception) を使用してください。

テスト・フレームワーク

com.intellij.testFramework.PlatformTestUtil.registerExtension(ExtensionsArea, T, Disposable) メソッドを削除
代わりに com.intellij.testFramework.ServiceContainerUtil#registerExtension(BaseExtensionPointName, T, Disposable) を使用してください。
com.intellij.testFramework.PlatformTestUtil.registerExtension(ExtensionsArea, BaseExtensionPointName, T, Disposable) メソッドを削除
代わりに com.intellij.testFramework.ServiceContainerUtil#registerExtension(BaseExtensionPointName, T, Disposable) を使用してください。
com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor.getModuleType() メソッドを削除
代わりに com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor.getModuleTypeId() を使用してください( com.intellij.openapi.module.ModuleTypeIdを参照)。

Javaプラグイン2019.3の変更

com.intellij.codeInspection.magicConstant.MagicCompletionContributor.getAllowedValues(PsiElement) メソッドの戻り値の型が com.intellij.codeInspection.magicConstant.MagicConstantInspection.AllowedValues から com.intellij.codeInspection.magicConstant.MagicConstantUtils.AllowedValuesに変更されました
代わりに新しいタイプを使用してください。

Groovyプラグイン2019.3の変更

org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeDetector(GroovyScriptType, String[]) コンストラクターを削除
代わりにコンストラクター GroovyScriptTypeDetector(GroovyScriptType) を使用し、com.intellij.fileType を使用して追加の拡張機能を登録します。

Cucumberプラグイン2019.3の変更

org.jetbrains.plugins.cucumber.javascript.CucumberJavaScriptStepDefinitionCreator#createStepDefinition(GherkinStep, PsiFile) メソッドを削除
代わりに org.jetbrains.plugins.cucumber.javascript.CucumberJavaScriptStepDefinitionCreator#createStepDefinition(GherkinStep, PsiFile, boolean) を使用してください。
org.jetbrains.plugins.cucumber.psi.GherkinStep#getStepName() メソッドを削除
代わりに org.jetbrains.plugins.cucumber.psi.GherkinStep#getName() を使用してください。
org.jetbrains.plugins.cucumber.CucumberJvmExtensionPoint#resolveStep() メソッドを削除
代わりに org.jetbrains.plugins.cucumber.steps.reference.CucumberStepReference#multiResolveInner() を参照してください。
org.jetbrains.plugins.cucumber.CucumberJvmExtensionPoint#getGlues() メソッドを削除
Java固有のメソッドはCucumberJava実装に移動しました。

DataGripとデータベースツールプラグイン2019.3の変更点

com.intellij.sql.dialects.mssql.MssqlDialect クラスの名前が com.intellij.sql.dialects.mssql.MsDialectに変更されました
SQLダイアレクトクラスを直接使用しないでください。
com.intellij.sql.dialects.oracle.OracleDialect クラスの名前が com.intellij.sql.dialects.oracle.OraDialectに変更されました
SQLダイアレクトクラスを直接使用しないでください。
com.intellij.sql.dialects.postgres.PostgresDialect クラスの名前が com.intellij.sql.dialects.postgres.PgDialectに変更されました
SQLダイアレクトクラスを直接使用しないでください。

RubyMineおよびRubyプラグイン2019.3の変更

org.jetbrains.plugins.ruby.ruby.codeInsight.types.RubyTypeProvider.createTypeBySymbolFromProviders(Symbol symbol, Context context) メソッドパラメータ Context が削除されました
これは、新しいコンテキストレスアプローチに移行するために、 RUBY-24760 (英語)の一部として行われました。

PyCharmおよびPythonプラグイン2019.3の変更

com.jetbrains.python.inspections.PythonVisitorFilter クラスはパッケージ com.jetbrains.python.psiに移動しました

com.jetbrains.python.psi.PyUtil.addElementToStatementList(PsiElement, PyStatementList, boolean) メソッドを削除
代わりに com.jetbrains.python.refactoring.PyRefactoringUtil.addElementToStatementList(PsiElement, PyStatementList, boolean) を使用
com.jetbrains.python.psi.search.PyProjectScopeBuilder.excludeSdkTestsScope(Project) メソッドを削除
代わりに com.jetbrains.python.psi.search.PySearchUtilBase.excludeSdkTestsScope(Project) を使用してください。
icons.PythonIcons.Python.PropertySetter フィールドが削除されました
代わりに icons.PythonPsiApiIcons.PropertySetter を使用してください。
icons.PythonIcons.Python.PropertyGetter フィールドが削除されました
代わりに icons.PythonPsiApiIcons.PropertyGetter を使用してください。
PARSE.expected.colon プロパティーがリソースバンドル com.jetbrains.python.PyBundleから削除されました
代わりに com.jetbrains.python.PyPsiBundle を使用してください。
PARSE.expected.expression プロパティーがリソースバンドル com.jetbrains.python.PyBundleから削除されました
代わりに com.jetbrains.python.PyPsiBundle を使用してください。

2019.2

IntelliJプラットフォーム2019.2の変更点

サポートされていない拡張ポイントを参照するコンストラクターインジェクション
代わりに、コンストラクターで (Project)ExtensionPointName.findExtension() を介して拡張ポイントへの参照を取得します。
com.intellij.openapi.components.BaseState.map$default(BaseState, Map, int, Object) メソッドを削除
代わりに com.intellij.openapi.components.BaseState.map() を使用してください。
org.nustaq パッケージが削除されました
fast-serialization(英語)ライブラリーが削除されました。代わりに com.intellij.serialization.ObjectSerializer を使用してください。
java.org.java_websocket パッケージが削除されました
Java-WebSocket(英語)ライブラリーは削除されました。代わりにプラグインにバンドルしてください。
com.intellij.ui.layout.Cell.invoke$default(Cell, JComponent, CCFlags[], int, GrowPolicy, String, int, Object) メソッドのパラメータタイプが変更されました
この機能のシグネチャーは、古い機能を維持する可能性なしに真剣に変更されました。新しいパラメーターに従って呼び出しとその関数のオーバーライドを変更し、コードを再コンパイルしてください。
com.intellij.ui.layout.Row.label$default(Row, String, int, UIUtil.ComponentStyle, UIUtil.FontColor, boolean, int, Object) メソッドを削除
このメソッドは、基本クラス Cellにプルアップされています。デフォルトのパラメーターがあるため、Kotlinのバイナリ破壊的な変更です。コードを再コンパイルして、新しい署名を取得します。
com.yourkit パッケージが削除されました
YourKitライブラリーは、デフォルトではすべてのIDEにバンドルされていない個別のプラグインに抽出されています。YourKitライブラリーは、IDEをプロファイリングするためのライブラリーであり、そのutilクラスは一般的な目的には使用しないでください。 com.yourkit.util.Strings の代わりに org.apache.commons.lang.StringUtilsを使用してください。 com.yourkit.util.ArrayUtil の代わりに org.apache.commons.lang.ArrayUtilsを使用してください。
org.jetbrains.intellij.build.ProductProperties.yourkitAgentBinariesDirectoryPath フィールドが削除されました
IDEにYourKitプロファイラーをバンドルしたい場合は、performanceTestingプラグイン(英語)をバンドルしてください。
org.jetbrains.intellij.build.ProductProperties.enableYourkitAgentInEAP フィールドが削除されました
IDEにYourKitプロファイラーをバンドルしたい場合は、performanceTestingプラグイン(英語)をバンドルしてください。
com.intellij.extapi.psi.PsiElementBase クラスが削除されました
PSI要素の基本クラスとして com.intellij.psi.impl.PsiElementBase またはその子孫の1つを使用してください。カスタム言語サポートチュートリアルで提案されている com.intellij.extapi.psi.ASTWrapperPsiElement
com.intellij.extapi.psi.MetadataPsiElementBase クラスが削除されました
PSI要素には異なる基本クラスを使用してください。
com.intellij.ide.actions.SearchAgainAction クラスは com.intellij.openapi.editor.actionSystem.EditorAction を拡張し、最終メソッド actionPerformedを継承する
com.intellij.editorActionHandler 拡張ポイントを使用して、アクションに別のハンドラーを登録してください。
com.intellij.ide.actions.SearchBackAction クラスは com.intellij.openapi.editor.actionSystem.EditorAction を拡張し、最終メソッド actionPerformedを継承する
com.intellij.editorActionHandler 拡張ポイントを使用して、アクションに別のハンドラーを登録してください。
com.intellij.lexer.RestartableLexer.getRestartableState() メソッドを削除
代わりに com.intellij.lexer.RestartableLexer.isRestartableState(int state) を使用してください。
com.intellij.lexer.RestartableLexer.isRestartableState(int state) 抽象メソッドが追加されました
RestartableLexer 実装でメソッドを実装します。
com.intellij.lexer.RestartableLexer.start(CharSequence buffer, int startOffset, int endOffset, int initialState, TokenIterator tokenIterator) 抽象メソッドが追加されました
RestartableLexer 実装でメソッドを実装します。

2019.1

IntelliJプラットフォーム2019.1の変更点

kotlinx.coroutines.experimental パッケージが削除されました
同梱のKotlinライブラリーは1.3に更新されているため、プラグインは安定版のコルーチンに移行(英語)する必要があります。
com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl(Project, FileStatusManager, FileIndexFacade, ProjectManager, DefaultVcsRootPolicy, VcsFileListenerContextHelper) コンストラクターを削除
com.intellij.openapi.vcs.impl.ProjectLevelVcsManagerImpl.<init>(Project, FileStatusManager, FileIndexFacade, ProjectManager, DefaultVcsRootPolicy)を使用してください。
com.intellij.injected.editor.DocumentWindow.injectedToHost(int, boolean) 抽象メソッドが追加されました
DocumentWindow 実装でメソッドを実装します。
git4idea.rebase.GitCommitEditingAction.actionPerformed(AnActionEvent) メソッドが最終マーク
actionPerformedの代わりに actionPerformedAfterChecks を実装してください。
git4idea.rebase.GitCommitEditingAction.actionPerformedAfterChecks(AnActionEvent) 抽象メソッドが追加されました
actionPerformedの代わりに actionPerformedAfterChecks を実装してください。
com.intellij.util.lang.UrlClassLoader.loadPlatformLibrary メソッドを削除
代わりに com.intellij.util.loader.NativeLibraryLoader.loadPlatformLibrary を使用してください。
com.intellij.openapi.util.KeyedExtensionCollector.getExtensions() メソッドが最終マーク
カスタム実装を削除します。

DataGripとデータベースツールプラグイン2019.1の変更点

com.intellij.sql.psi.SqlTokens.SQL_IDENT フィールドタイプが com.intellij.sql.psi.impl.SqlTokenType から com.intellij.sql.psi.SqlTokenTypeに変更されました
ほとんどの場合、コードを再コンパイルするだけで十分です。コードがフィールドの種類に依存していないことを確認する必要があるかもしれません。

KotlinプラグインAPI 1.3の変更点

org.jetbrains.kotlin.KtNodeTypes.BOOLEAN_CONSTANT フィールドタイプが org.jetbrains.kotlin.KtNodeType から com.intellij.psi.tree.IElementTypeに変更されました
フィールドタイプは一般化されています。ほとんどの場合、プラグインのコードを再コンパイルするだけで十分です。
org.jetbrains.kotlin.KtNodeTypes.CHARACTER_CONSTANT フィールドタイプが org.jetbrains.kotlin.KtNodeType から com.intellij.psi.tree.IElementTypeに変更されました
フィールドタイプは一般化されています。ほとんどの場合、プラグインのコードを再コンパイルするだけで十分です。
org.jetbrains.kotlin.KtNodeTypes.FLOAT_CONSTANT フィールドタイプが org.jetbrains.kotlin.KtNodeType から com.intellij.psi.tree.IElementTypeに変更されました
フィールドタイプは一般化されています。ほとんどの場合、プラグインのコードを再コンパイルするだけで十分です。
org.jetbrains.kotlin.KtNodeTypes.INTEGER_CONSTANT フィールドタイプが org.jetbrains.kotlin.KtNodeType から com.intellij.psi.tree.IElementTypeに変更されました
フィールドタイプは一般化されています。ほとんどの場合、プラグインのコードを再コンパイルするだけで十分です。
org.jetbrains.kotlin.KtNodeTypes.STRING_TEMPLATE フィールドタイプが org.jetbrains.kotlin.KtNodeType から com.intellij.psi.tree.IElementTypeに変更されました
フィールドタイプは一般化されています。ほとんどの場合、プラグインのコードを再コンパイルするだけで十分です。
最終更新日: