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

ページを編集 (英語)

このガイドについて

このガイドは、テキストブックのようにいくつかの部分に分かれています。各パーツは前のパーツの内容に基づいて作成されていますが、必ずしもガイドを読む必要はありません。主なトピックページは、アーキテクチャを理解し、プラグインの構築を開始するために必要なページにリンクすることを目的としています。

パートI - プラグイン

IntelliJプラットフォームを拡張できるプラグインを作成する方法について説明します。プロジェクトの設定、拡張ポイントの登録、IntelliJプラットフォームの特定のバージョンのターゲット設定、プラグインのパッケージ化、デプロイおよびテストの方法に関する詳細が含まれています。

パートII - ベースプラットフォーム

コンポーネントモデル、ユーザーインターフェース、ドキュメントとエディター、仮想ファイルシステム、設定、スレッド、バックグラウンドタスクなど、多くの機能とユーティリティを提供するアーキテクチャの基礎層について説明します。基本プラットフォームレイヤーは、基本的に、言語機能や構文解析を対象としないIntelliJプラットフォームの機能を備えています。

パートIII - プロジェクトモデル

現在ロードされているプロジェクトのファイルと構成、およびプロジェクトのビルドに使用されているビルドシステムを表すプロジェクトモデルを文書化します。

パートIV - PSI

プログラム構造インターフェースは、多くの異なるファイルタイプの構文モデルと意味モデルを構築します。このセクションでは、PSIの操作方法、構文木の操作方法、および構文木ノードが意味モデル内の項目を参照できるようにする強力な参照システムについて説明します。また、PSIが索引を作成および使用する方法についても詳しく説明します。

パートV - 機能

コード補完、ナビゲーション、Alt + Enter アイテム、インテンション、リファクタリングなど、PSIレイヤーを使用するさまざまな機能を拡張および操作する方法について説明します。新しい言語のサポートを追加するときにのみ適用される言語固有の機能については、以下のカスタム言語のセクションも参照してください。

パートVI - テスト

プラグインの機能をカバーする自動化されたテストを作成するための利用可能なインフラストラクチャについて説明します。

パートVII - カスタム言語

プラグインは、Javaファイルにインスペクションを追加するなど、既存の言語のサポートを頻繁に拡張します。このセクションでは、デフォルトでサポートされていない、新しい言語用のIntelliJプラットフォームへのサポートの追加方法、パーサー、構文モデル、セマンティックモデル、および上に構築されるすべての機能の作成方法について説明します。

パートVIII - 製品仕様

IntelliJ プラットフォームの多くの機能は言語と製品に依存しません。例:コードインスペクションは、Rubyと同じようにJavaで同じように動作しますが、構文木と意味情報が異なります。このセクションでは、特定のプロジェクトモデルの相違点やプラグインでターゲットを設定する方法など、製品固有の機能について説明します。

パートIX - カスタムIDE

WebStormやAndroid Studioなど、既存の製品にプラグインするのではなく、IntelliJ プラットフォームを使用して新しいカスタムIDEを作成する方法を文書化します。

パートX - プラグイン・リポジトリー

この部分はJetBrains Marketplaceのドキュメント(英語)に移動されました。

付録I - リソース

IntelliJ Community エディションのソースコード、プラグイン開発フォーラム、Jetbrains Platform Slackなどの有用なリソースへのリンク。

付録II - 変更

後方互換性のない APIの変更のリスト、および IntelliJプラットフォームの各メジャーリリースでの注目すべき変更と新機能を提供します。

最終更新日: