モジュール依存関係ツール
モジュール依存関係ツールを使用すると、ユーザーは、モジュールまたはモジュールのセットのすべての依存関係と使用言語を概観し、潜在的な循環依存関係を検出し、依存関係を形成する詳細なパスを確認できます。このツールは、1 つ以上のモジュールが選択されている場合、メニューおよびプロジェクトペインから呼び出すことができます。


Module Dependency Tool は、左側のパネルにモジュールのすべての推移的な依存関係を表示します。オプションで、直接または間接的に使用されるすべての言語を表示することもできます。任意の依存関係ノードを展開し、展開されたノードのすべての依存関係を子として取得することができます。これらも推移的な依存関係になりますが、今回は拡張ノード用です。
左側のパネルで 1 つ以上の依存関係ノードを選択します。右側のパネルには、選択した各モジュールの「親」モジュールからのパスが表示されます。右側のツリーで、モジュール間の各関係の簡単な説明を確認できます。依存関係の型は、depends on、uses language、exports runtime、uses devkit などのいずれかになります。便宜上、対象の依存モジュールの名前は太字で表示されます。

依存関係パスには、依存関係と使用言語の 2 種類があります。ツールバーの L ボタンを使用すると、左側のツリーパネルでの使用言語の表示を有効 / 無効にできます。左側のツリーの使用言語フォルダーでモジュールを選択すると、右側のツリーには、特定のモジュールの使用言語関係を導入する依存関係パスのみが表示されます。言語モジュールの「通常の」依存関係を表示するには、使用言語フォルダーの外側でモジュールを選択する必要があります (たとえば、下の図の jetbrains.mps.lang.core 言語)。複数のノードを選択することもできます (たとえば、使用言語フォルダーの内側と外側の両方で同じ言語依存関係)。その場合、両方のパスの結果が結合されます。

独自のライブラリが付属する言語を使用している場合、通常、それらのライブラリはプロジェクトのコンパイルには必要ありません。コードが機能するためには、ランタイム時にライブラリが必要になります。「コンパイル時に表示される」依存関係に加えてランタイム依存関係を追跡するには、ツールバーのランタイムオプションをオンにする必要があります。ランタイム依存関係には、「ランタイム」コメントが付けられます。

依存関係サイクルに参加する左側のツリーのモジュールは、赤色で表示されます。ツリーノードを展開して、サイクルを形成するパスを確認できます。

一部の種類の依存関係では、ポップアップメニューで、使用状況の表示や安全な削除などの便利なアクションを呼び出すことができます。「依存先」依存関係 (再エクスポートのない依存関係) の場合、使用状況の表示アクションのために依存関係アナライザーが呼び出されます。

関連ページ:
依存関係アナライザー
依存関係アナライザーは、モジュールまたはモデル間の依存関係をレポートできます。メインメニューまたはモジュール / モデルのポップアップメニューから呼び出すことができます。下部のパネルに表示される対話型レポートでは、他のモジュール、モデル、ノード別に、モジュール、モデル、ノードの使用状況を表示できます。右側のパネルには、左側のリストで選択した要素が依存しているモジュールとモデルが表示されます。下部パネルには、現在選択されている依存関係を必要とする実際の場所が一覧表示されます。L アイコンを使用すると...
プラグイン
プラグインは、コードを MPS IDE 機能と統合する方法です。jetbrains.mps.lang.plugin および jetbrains.mps.lang.plugin.standalone 言語は、プラグインで使用できるいくつかのルート概念を提供します。この章では、それらすべてについて説明します。プラグインのインスタンス化:プラグインを開発している間、プラグインを保持するソリューションがあり、その効果を確認するために各変更の後に MPS を再起動する必要がないようにプラグインクラスを自動的に...