MPS 2020.1ヘルプ

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

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

modulea2

modulea1


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

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

modulea3


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

modulea4


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

modulea7


The modules in the left tree that participate in dependency cycles are shown in red color. It is possible to expand the tree node to see the paths forming the cycle:

modulea5


依存関係の種類によっては、ポップアップメニューから使用箇所の表示安全な削除などの便利なアクションを呼び出すことができます。「 依存する 」依存関係(再エクスポートされていないもの)の場合、依存関係アナライザー使用箇所の表示アクションに対して呼び出されます。

modulea6


最終更新日: 2020年6月18日