Main Content

findLabel

获取工程文件标签

说明

示例

label = findLabel(file,categoryName,labelName) 从指定文件 file 中获取指定类别 categoryName 中的指定标签 labelName。该函数返回标签定义和附加的数据。当您知道标签名称和类别时,请使用此语法。如果找不到标签,findLabel 将返回空数组。

示例

label = findLabel(file,labelDefinition) 获取由指定的标签定义对象定义的标签。如果您以前使用 Labels 属性创建了 labelDefinition,例如通过使用类似 myfile.Labels(1) 的表达式,请使用此语法。

示例

label = findLabel(category,labelName) 使用类别对象(而不是文件名和类别名称)获取标签。如果您使用 proj.Categories 属性或 findCategory 函数创建了 category 对象,请使用此语法。

示例

全部折叠

查找标签为 "Utility" 的所有工程文件。

打开 Times Table App 工程。使用 currentProject 从当前加载的工程创建一个工程对象。

openExample("matlab/TimesTableProjectExample")
proj = currentProject;

获取工程文件列表。

files = proj.Files;

遍历这些文件。通过获取 fileparts 函数返回的最后一个元素来获取每个文件的扩展名。如果文件扩展名为 .m,请附加标签 "Utility"。

for fileIndex = 1:numel(files)
   file = files(fileIndex);
   [~,~,fileExtension] = fileparts(file.Path);
   if strcmp(fileExtension,".m")
      addLabel(file,"Classification","Utility");
   end
end

使用 findLabel 函数查找标签为 "Utility" 的所有文件。

utilityFilesToReview = [findLabel(files,"Classification","Utility").File]';

打开 Times Table App 工程。使用 currentProject 从当前加载的工程创建一个工程对象。

openExample("matlab/TimesTableProjectExample")
proj = currentProject;

按名称获取一个文件。

myfile = findFile(proj,"source/timesTableGame.m");

按名称从该文件中获取一个标签。

label = findLabel(myfile,"Classification","Design");
label = 

  Label with properties:

            File: "C:\myProjects\examples\TimesTableApp\source\timesTableGame.m"
        DataType: 'none'
            Data: []
            Name: "Design"
    CategoryName: "Classification"

检查文件的 Labels 属性,以获取 Label 对象的数组,每个对象对应于附加到文件的一个标签。对 Labels 属性进行索引,以获取附加到特定文件的标签定义。

labels = myfile.Labels
labeldefinition = myfile.Labels(1)

从标签定义中获取一个标签。

label = findLabel(myfile,labeldefinition);

打开 Times Table App 工程。使用 currentProject 从当前加载的工程创建一个工程对象。

openExample("matlab/TimesTableProjectExample")
proj = currentProject;

获取一个类别。

category = proj.Categories(1)
category = 

  Category with properties:

                Name: "Classification"
        SingleValued: 1
            DataType: "none"
    LabelDefinitions: [1×7 matlab.project.LabelDefinition]

从该类别中获取一个标签定义。

ld = findLabel(category,"Design")
ld = 

  LabelDefinition with properties:

            Name: "Design"
    CategoryName: "Classification"

输入参数

全部折叠

要搜索的文件,指定为 ProjectFile 对象或 ProjectFile 对象数组。您可以通过检查工程文件属性(使用语法 proj.Files)来创建工程文件对象,或者使用 findFile 按名称获取一个文件。文件必须在指定的工程中。

标签的类别名称,指定为字符向量或字符串标量。

标签的名称,指定为字符向量或字符串标量。

标签定义,指定为从 file.Label 属性获取的 LabelDefinition 对象。

类别对象。从 proj.Categories 属性或使用 findCategory 函数创建一个类别对象。

输出参量

全部折叠

标签,以 Label 对象形式返回。

版本历史记录

在 R2019a 中推出