メインコンテンツ

大規模なプロジェクトのコンポーネント化

R2026b

MATLAB® は、親プロジェクトから他のプロジェクトまたはパッケージを参照可能にすることで、大規模なプロジェクトのコンポーネント化をサポートします。大規模なプロジェクトを複数のコンポーネントに整理することで、コードの再利用、モジュールおよびチームベースの開発、ユニット テスト、コンポーネントの個別リリースが容易になります。

プロジェクトの参照によってプロジェクトをより小さいプロジェクトに整理すると、親プロジェクトから、以下を実行できます。

  • すべての参照プロジェクトのプロジェクト パス、ショートカット、ソース管理情報にアクセスする。

  • 参照プロジェクトに属するファイルを表示、編集、実行する。

  • 同じプロジェクト階層内のプロジェクト間でファイルを移動する。

    プロジェクト階層内でファイルの名前変更、移動、削除を行うと、分析がトリガーされ、プロジェクト自体と階層内のすべての上流プロジェクトでファイルの使用状況を更新するように求めるメッセージが表示されます。 (R2025a 以降)

  • 現在のプロジェクトとそのすべての参照プロジェクトで依存関係の分析を実行する。詳細については、プロジェクトの依存関係の解析を参照してください。

プロジェクトで定義ファイルのタイプとして単一ファイルのメタデータである TOML 形式を使用している場合は、親プロジェクトからパッケージを参照することもできます。パッケージの詳細については、Release and Manage Package Dependencies and Versioning Using Projectsを参照してください。 (R2026b 以降)

プロジェクトの依存関係の表示

プロジェクトを開くとき、現在のプロジェクトが参照する他のすべてのプロジェクトを表示するには、[プロジェクト] ツールストリップの [環境] セクションで [依存関係] をクリックします。[依存関係] ツリーには、指定されたすべての依存関係が階層的なツリー形式で表示されます。

R2026b より前: 現在のプロジェクトが参照する他のすべてのプロジェクトを表示するには、[プロジェクト] ツールストリップの [環境] セクションで [参照] をクリックします。

次のサンプル プロジェクトは、他の 4 つのプロジェクトを参照しています。

The illustration shows the parent project open on the left and the Dependencies tree on the right. In the Dependencies tree, one project is selected to show the details of the selected project.

パッケージの依存関係とプロジェクトの依存関係の両方を含む最上位プロジェクトの場合、ツリー ビューには次の 4 つの列があります。

  • 依存関係 — 依存関係の名前

  • インストール バージョン — 各パッケージ依存関係のインストール済みバージョン

  • 必要なバージョン — 各パッケージ依存関係で必要なバージョン

  • 場所 — 各プロジェクト依存関係のプロジェクト パス

最上位プロジェクトの依存関係は、リストを使用して表示することもできます。 (R2026b 以降)依存関係のリストを表示するには、[プロジェクト] ツールストリップの [環境] セクションで [依存関係] をクリックします。次に、[ビュー] セクションで、[リスト ビュー] をクリックします。[依存関係] リストでは、プロジェクトとパッケージが 2 つのテーブルにフラットな形式で表示されます。このリストにより、依存関係の数、および最上位プロジェクトの階層に含まれているプロジェクトやパッケージをすばやく確認できます。

Dependencies tab in the List View format.

プロジェクトの依存関係の場合、リスト ビューで各参照プロジェクトの名前とパスが示されます。パッケージの依存関係の場合、リスト ビューで解決済みのバージョンと最新の互換バージョンが示されます。

あるいは、matlab.project.Project オブジェクトの ProjectDependencies プロパティを使用することで、最上位プロジェクトの参照プロジェクトおよび参照パッケージをプログラムによって表示することもできます。

proj = currentProject;
proj.ProjectDependencies
1×4 Dependency array with properties:

    Name
    VersionRange
    ID
    Path
    Absolute
    ResolvedVersion
    ResolvedPath
proj.ProjectDependencies.Name
ans = 
    "AudioEnhancement"

ans = 
    "ExternalLibrary"

ans = 
    "ImageProcessing"

ans = 
    "MachineLearningModels"

階層に欠落したプロジェクトがある場合、または循環依存関係を発生させるプロジェクトがある場合は、[依存関係] ツリー内のプロジェクトの横にアイコンが表示されます。同じ情報は [プロジェクトの問題] パネルの [起動] タブでも表示できます。プロジェクトの起動と終了の問題の詳細については、Run Project Checksを参照してください。

Dependencies tree shows a "Dependency is missing" error on one of the references.

プロジェクトへの参照の追加または削除

他のプロジェクトを参照することで、プロジェクトに新しいコンポーネントを追加できます。

プロジェクトへの参照を追加するには、次の手順に従います。

  1. [プロジェクト] タブの [環境] セクションで [依存関係] をクリックします。

  2. [依存関係] タブで [新しい依存関係] をクリックします。次に、使用可能ないずれかのオプションを選択します。

    • 参照するプロジェクトに、親プロジェクトのルート フォルダーに対して相対的な適切に定義されたルート フォルダーがある場合は、[相対] を選択します。

    • 参照するプロジェクトが、ご利用のコンピューターにアクセスできる共有場所 (たとえば、ネットワーク ドライブ) にある場合は、[絶対] を選択します。

  3. PRJ ファイルを使用する必要なプロジェクトを参照して選択します。

  4. [開く] をクリックします。

参照プロジェクトが読み込まれると、MATLAB は参照プロジェクト パスを MATLAB 検索パスに追加して、指定された起動ファイルを実行または読み込みます。同様に、参照プロジェクトが閉じるときに、MATLAB はプロジェクト パスを検索パスから削除し、指定されたシャットダウン ファイルを実行します。MATLAB は親プロジェクトの前に参照プロジェクトを読み込みます。これにより、親プロジェクトは起動ファイルおよびシャットダウン ファイルで参照プロジェクトにアクセスできます。

ヒント

Git™ ソース管理の対象のプロジェクトをサブモジュールとしてクローンして、参照プロジェクトに入力することもできます。プロジェクトのサブモジュールをクローンした後、それを同じ手順で参照プロジェクトとして追加します。詳細については、Organize Projects into Components Using References and Git Submodules (Simulink)を参照してください。

プロジェクト参照をプロジェクト階層から削除するには、[依存関係] ツリーで参照プロジェクトを選択します。次に、[依存関係] タブの [選択] セクションで、[削除] をクリックします。

フォルダーを抽出して参照プロジェクトを作成

プロジェクトの既存のフォルダーを抽出して、参照プロジェクトを作成できます。フォルダーの抽出後も、参照プロジェクトのファイル、フォルダーの内容、およびショートカットには親プロジェクトからアクセスできます。

プロジェクトからフォルダーを抽出して、そのフォルダーを参照プロジェクトに変換するには、次の手順に従います。

  1. [プロジェクト] パネルでフォルダーを右クリックし、[参照プロジェクトに抽出] を選択します。

  2. [参照プロジェクトの作成] ダイアログ ボックスで、プロジェクト名と場所を指定します。

  3. [参照タイプ] セクションで、[相対] または [絶対] のいずれかを選択します。現在のプロジェクト ルートを基準にして新しいプロジェクトの場所を指定する場合は、[相対] を選択します。たとえばネットワーク ドライブ上など、新しい場所に対して絶対パスを指定する場合は、[絶対] を選択します。

  4. [OK] をクリックします。

選択したフォルダーとその内容がプロジェクトから削除され、新しい参照プロジェクトが作成されます。

親プロジェクトのショートカットに関連付けられたファイルがフォルダーに含まれている場合、そのショートカットは参照プロジェクトに移動し、[ショートカット] ギャラリーからアクセスできます。フォルダー内のファイルのいずれかにラベルがある場合、使用されているラベルも参照プロジェクトに移動します。

参照プロジェクト ファイルとショートカットの表示、編集、実行

他のプロジェクトを参照するプロジェクトがある場合は、参照プロジェクトに属しているファイルを親プロジェクトから直接表示、変更、または実行することができます。

参照プロジェクトとそのすべての内容を表示するには、親プロジェクトを開きます。次に、[プロジェクト] パネルの [ビュー] オプションの横で、参照プロジェクトを選択します。これで、[プロジェクト] パネルに、選択したプロジェクト内のすべてのファイルとフォルダーが表示されます。 (R2026b 以降)

The View option shows all referenced projects in the project hierarchy.

あるいは、親プロジェクトの [プロジェクト] タブで [依存関係] をクリックします。次に、[依存関係] ツリーで参照プロジェクトを選択します。

  • 参照プロジェクト内のファイルを表示するには、[依存関係] ツリーで参照プロジェクトを右クリックし、[ファイルの表示] を選択します。あるいは、[依存関係] タブの [選択] セクションで、[ファイルの表示] をクリックします。これらのいずれの操作でも、選択した参照プロジェクトのファイルは [プロジェクト] パネルに表示されます。

  • 参照プロジェクトを最上位プロジェクトとして開くには、[依存関係] ツリーで参照プロジェクトを右クリックし、[プロジェクトを開く] を選択します。

参照プロジェクトがソース管理の対象の場合、ソース管理の詳細を表示するには、空白部分で右クリックし、[ソース管理] 、 [詳細の表示] を選択します。

開いているプロジェクトで参照されるプロジェクトのショートカットにアクセスするには、[プロジェクト] ツールストリップで [ショートカット] ギャラリーを展開します。参照プロジェクトのショートカットが表示されない場合は、[プロジェクト参照を表示] チェック ボックスをオンにします。ショートカットの作成方法と編集方法の詳細については、頻繁に使用するタスクのためのショートカットの作成を参照してください。

The shortcuts gallery shows all shortcuts in the project hierarchy.

参照プロジェクトを最上位プロジェクトとして開かずにプログラムで編集することもできます。

  1. 最上位プロジェクトを開きます。

    mainProj = openProject("MyTopLevelProject");

  2. 参照プロジェクトのプロジェクト オブジェクトを作成します。

    refProj=mainProject.ProjectReferences.Project;

  3. 参照プロジェクトを最上位プロジェクトとして読み込まずに編集します。たとえば、参照プロジェクトに新しいファイルを追加します。

    addFile(refProj,"newFile.m");

(R2026a 以降)

参考

トピック