MPS 2020.3 ヘルプ

モジュール依存関係ツール

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

Modulea2

Modulea1


モジュール依存関係ツールは、左側のパネルにモジュールのすべての推移的な依存関係を表示します。オプションで、直接または間接的に使用されるすべての言語を表示することもできます。任意の依存関係ノードを展開し、展開されたノードのすべての依存関係を子として取得することができます。これらも推移的な依存関係になりますが、今回は拡張ノード用です。

左側のパネルで 1 つ以上の依存関係ノードを選択します。右側のパネルには、「親」モジュールから選択した各モジュールへのパスが表示されます。右側のツリーで、モジュール間の各関係の簡単な説明を見ることができます。依存関係の型は、依存、言語の使用ランタイムのエクスポートdevkit の使用などのいずれかになります。便宜上、ターゲットの依存モジュールの名前は太字で示されています。

Modulea3


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

Modulea4


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

Modulea7


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

Modulea5


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

Modulea6