Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

プログラムによるプロジェクトの作成と参照

この例では、プログラムで新しいプロジェクトを作成し、それを参照プロジェクトとしてメインのプロジェクトに追加する方法を説明します。コマンド ラインからのプロジェクトの作成、ファイルとフォルダーの追加、プロジェクト パスの設定、プロジェクトのショートカットの定義、および別プロジェクトの新しいプロジェクトへの参照の作成方法を説明します。

例のファイルの設定

1. Airframe Example プロジェクトの作業コピーを作成してプロジェクトを開きます。MATLAB® により、ファイルがサンプル フォルダーにコピーされ、編集できるようになります。currentProject を使用して、現在読み込まれているプロジェクトからプロジェクト オブジェクトを作成します。

sldemo_slproject_airframe_api;
Starting: Simulink
mainProject = currentProject
mainProject = 
  Project with properties:

                        Name: "Airframe Example"
    SourceControlIntegration: "Git"
          RepositoryLocation: "C:\workSpace\examples\repositories\airRef8"
       SourceControlMessages: ["No remote tracking branch"    "Current branch: master"    "Branch status: Normal"]
                    ReadOnly: 0
                    TopLevel: 1
                Dependencies: [1×1 digraph]
                  Categories: [1×1 matlab.project.Category]
                       Files: [1×22 matlab.project.ProjectFile]
                   Shortcuts: [1×5 matlab.project.Shortcut]
                 ProjectPath: [1×4 matlab.project.PathFolder]
           ProjectReferences: [1×1 matlab.project.ProjectReference]
                StartupFiles: [1×0 string]
               ShutdownFiles: [1×0 string]
                 Description: "This example project demonstrates the Project referencing feature."
                  RootFolder: "C:\workSpace\examples\airRef8\main"
       SimulinkCodeGenFolder: "C:\workSpace\examples\airRef8\main\work\codegen"
         SimulinkCacheFolder: "C:\workSpace\examples\airRef8\main\work\cache"
        ProjectStartupFolder: "C:\workSpace\examples\airRef8\main"

Airframe Example プロジェクトは、参照プロジェクト (ProjectReferences: [1x1]). を 1 つもつ最上位レベル プロジェクト (TopLevel: 1) です。

新規プロジェクトの作成

2. Wind Gust Library と呼ばれる新規プロジェクトを作成します。Airframe プロジェクトはプロジェクト参照を通じて Wind Gust Library を使用します。

a. 空のプロジェクトを作成してプロジェクト名を設定します。

windGustFolder = fullfile(mainProject.RootFolder, "..", "refs", "Wind Gust Library");
windGust = matlab.project.createProject(windGustFolder);
windGust.Name = "Wind Gust Library";

b. data フォルダーと wind_gust_lib.slx ファイルを Wind Gust Library プロジェクトに追加します。

addFolderIncludingChildFiles(windGust, "data");
addFile(windGust, "wind_gust_lib.slx");

c. data フォルダーと Wind Gust Library プロジェクト ルート フォルダーを Wind Gust Library プロジェクト パスに追加します。これにより、Airframe Example プロジェクトまたは Wind Gust Library プロジェクトを参照する任意のプロジェクトが読み込まれるとファイルが利用可能になります。

addPath(windGust, "data");
addPath(windGust, windGust.RootFolder);

d. Wind Gust Library プロジェクト ショートカットを作成します。

shortcut = addShortcut(windGust, "wind_gust_lib.slx");
shortcut.Group = "Top Level Model";

プロジェクト参照の追加

3. 新しい Wind Gust Library プロジェクトをプロジェクト参照として Airframe Example プロジェクトに追加します。これにより Airframe Example プロジェクトで Wind Gust Library プロジェクトのファイルを表示、編集、および実行できます。

reload(mainProject);
addReference(mainProject, windGust)
ans = 
  ProjectReference with properties:

           Project: [1×1 matlab.project.Project]
              File: "C:\workSpace\examples\airRef8\refs\Wind Gust Library"
    StoredLocation: "../refs/Wind Gust Library"
              Type: "Relative"

メインのプロジェクト Airframe Example"../refs/Wind Gust Library" に格納された Wind Gust Library を参照します。

4. ProjectReferences メソッドを使用して Wind Gust Library プロジェクトをクエリします。

mainProject.ProjectReferences(2).Project
ans = 
  Project with properties:

                        Name: "Wind Gust Library"
    SourceControlIntegration: ""
          RepositoryLocation: ""
       SourceControlMessages: [1×0 string]
                    ReadOnly: 1
                    TopLevel: 0
                Dependencies: [1×1 digraph]
                  Categories: [1×1 matlab.project.Category]
                       Files: [1×3 matlab.project.ProjectFile]
                   Shortcuts: [1×1 matlab.project.Shortcut]
                 ProjectPath: [1×2 matlab.project.PathFolder]
           ProjectReferences: [1×0 matlab.project.ProjectReference]
                StartupFiles: [1×0 string]
               ShutdownFiles: [1×0 string]
                 Description: ""
                  RootFolder: "C:\workSpace\examples\airRef8\refs\Wind Gust Library"

Wind Gust Library プロジェクトは最上位プロジェクト (TopLevel: 0) ではありません。これは最上位プロジェクト Airframe Example (TopLevel: 1) によって参照されます。

参考

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