エクステンションサポート
拡張機能は、標準的な言語の側面やプラグインのメカニズムではカバーされていない、ソリューションや言語の特定の側面を拡張する可能性を提供します。通常、ディストリビューションモデル(MPS プラグイン、IntelliJ IDEA プラグイン、またはスタンドアロン IDE)に応じて、言語の動作をわずかに変更する必要があります。そのような場合、あなたの拡張ポイントを、異なる実装が異なるディストリビューションで提供されるインターフェースとして定義します。
エクステンションのサポートは
言語
プラグインソリューション
クイック使い方
拡張ポイントを作成する
1 つ以上の拡張機能を作成する
- 拡張ポイントと拡張の両方がプラグインモデルになければなりません
各拡張はオブジェクトを返す get メソッドを提供しなければなりません
Each extension may opt to receive the activate/deactivate notifications
クラスができるように、エクステンションはフィールドを宣言することができます
拡張言語
The language jetbrains.mps.lang.extension declares concepts necessary for building extensions.
拡張ポイント
The ExtensionPoint concept represents an extension point. The extension object type must be specified as a parameter.
拡張
The 拡張 concept is used to create a concrete extension.
拡張ポイントにアクセスする
拡張ポイントは、拡張ポイント式を使用して参照によってアクセスできます。undefined
拡張オブジェクトへのアクセス
An extension point includes a way to access all objects provided by its extensions.
Java API
Extension points and extensions are managed by the ExtensionRegistry core component.
関連ページ:

ウィザードを作成する
言語または IDE のユーザーのタスクを自動化するウィザードを提供する必要がある場合があります。MPS を使用すると、作成できるため、ウィザードで実行されるアクションの特定の設定(モデルなど)をユーザーがカスタマイズできます(いくつかのステップで)。このウィザードは、MPS 移行ウィザードと同様のルックアンドフィールを持ち、システムにシームレスに適合します。独自のウィザードを作成するには、AbstractWizard クラスを拡張する必要があります。StepAdapter クラスを使用すると、ウィザ...

使用箇所の検索
MPS では、どのモデルもノードで構成されています。ノードはさまざまな種類の関係を持つことができます。これらの関係はノード構造(たとえば、クラス上の「クラス子孫」関係)で表現されていてもいなくてもよい(たとえば、メソッド上の「オーバーライドメソッド」関係)。使用箇所の検索は与えられたノードに対していくつかの特別に関連したノードを表示するためのツールです。MPS では、使用箇所の検索システムは完全にカスタマイズ可能です - 独自の実体、いわゆるファインダーを書くことができます。そしてそれは関連する...