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

ページを編集 (英語)

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

2019.3

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

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.impl.EditorFactoryImpl() を使用してください。
com.intellij.util.net.ssl.CertificateManager.HOSTNAME_VERIFIER フィールドが削除されました
代わりに org.apache.http.conn.ssl.DefaultHostnameVerifier を使用してください。
org.jetbrains.plugins.groovy.extensions.GroovyScriptTypeDetector(GroovyScriptType, String[]) コンストラクターを削除
代わりにコンストラクター GroovyScriptTypeDetector(GroovyScriptType) を使用し、com.intellij.fileType を使用して追加の拡張機能を登録します。
com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILES_DATA_KEY フィールドが削除されました
代わりに com.intellij.openapi.vcs.changes.ui.ChangesListView.UNVERSIONED_FILE_PATHS_DATA_KEY を使用してください。

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に変更されました
フィールドタイプは一般化されています。ほとんどの場合、プラグインのコードを再コンパイルするだけで十分です。
最終更新日: