MATLAB プロジェクトおよび Simulink プロジェクトのラベル管理
この例では、プログラムによってプロジェクトのラベルを管理する方法について説明します。
ファイルのラベルの確認
プロジェクト オブジェクトを作成します。
proj = currentProject;
プロジェクト内のファイルを調べます。
files = proj.Files
files=1×30 object
1x30 ProjectFile array with properties:
Path
Revision
SourceControlStatus
Labels
このリストにあるファイルにアクセスするためのインデックスを作成します。たとえば、2 番目のファイルを取得します。各ファイルには、ファイルのパスおよびファイルに付けられたラベルを示す 2 つのプロパティがあります。
aFile = files(2);
ファイル オブジェクトの Labels
プロパティにインデックスを作成して、付加されているラベルの情報を検索します。
label = aFile.Labels(1)
label = Label with properties: File: "/tmp/Bdoc24a_2511836_2304106/tpcbac8286/simulink-ex81014015/airframe/custom_tasks/analyzeModelFiles.m" DataType: "none" Data: [] Name: "Analysis" CategoryName: "Classification"
ファイルのサブセットへのラベルの付加
Classification
カテゴリの Design
ラベルを、拡張子が .m
のすべてのファイルに付加します。
files = proj.Files; for fileIdx = 1:numel(files) file = files(fileIdx); [~, ~, fileExtension] = fileparts(file.Path); if strcmp(fileExtension,".m") addLabel(file,"Classification","Design"); end end
名前付きラベルの検索
関数findFile
を使用して、rebuild_s_functions
ファイルのプロジェクト ファイル オブジェクトを作成します。
pathToLocate = fullfile("utilities","rebuild_s_functions.m"); file = findFile(proj,pathToLocate);
Labels
プロパティを使用して、ファイルに付加されているラベルごとに 1 つずつ、ラベル オブジェクトの配列を定義します。
labels = file.Labels
labels = Label with properties: File: "/tmp/Bdoc24a_2511836_2304106/tpcbac8286/simulink-ex81014015/airframe/utilities/rebuild_s_functions.m" DataType: "none" Data: [] Name: "Design" CategoryName: "Classification"
プロジェクト ファイル オブジェクトで関数findLabel
を使用して、ラベルを検索します。
label = findLabel(file,"Classification","Design")
label = Label with properties: File: "/tmp/Bdoc24a_2511836_2304106/tpcbac8286/simulink-ex81014015/airframe/utilities/rebuild_s_functions.m" DataType: "none" Data: [] Name: "Design" CategoryName: "Classification"
新規カテゴリおよびラベルの作成
関数createCategory
を使用して、ファイルの所有者を示す Engineers
というラベルのカテゴリを作成します。
createCategory(proj,"Engineers","char"); engineersCategory = findCategory(proj,"Engineers");
関数createLabel
を使用して、各種ラベルを作成します。
createLabel(engineersCategory,"Sam"); createLabel(engineersCategory,"Pat"); createLabel(engineersCategory,"Alex");
Engineers
カテゴリの Sam
ラベルを使用して、rebuild_s_functions
ファイルの所有権を Sam に割り当てます。詳細については、addLabel
およびfindLabel
を参照してください。
addLabel(file,"Engineers","Sam"); label = findLabel(file,"Engineers","Sam");
ラベル データの設定
付加されたラベルに対してデータを設定します。
label.Data = "Maintenance responsibility";
disp(label)
Label with properties: File: "/tmp/Bdoc24a_2511836_2304106/tpcbac8286/simulink-ex81014015/airframe/utilities/rebuild_s_functions.m" DataType: "char" Data: 'Maintenance responsibility' Name: "Sam" CategoryName: "Engineers"