mlreportgen.report.MATLABCode 类
命名空间: mlreportgen.report
超类: mlreportgen.report.Reporter
MATLAB 代码报告器
描述
使用 mlreportgen.report.MATLABCode 类的对象在报告中包含语法高亮的 MATLAB® 代码。如果您需要 DOM 对象而不是 Report 对象,请将方法 getSyntaxColoredCode 与 mlreportgen.report.MATLABCode 对象结合使用。 (自 R2024b 起)
mlreportgen.report.MATLABCode 类是一个 handle 类。
创建对象
描述
reporter = mlreportgen.report.MATLABCode(filename) 创建一个 MATLABCode 报告器,并将 FileName 属性设置为 filename。
reporter = mlreportgen.report.MATLABCode(PropertyName=Value) 使用名称-值参量设置属性。您可以按任意顺序指定多个名称-值参量。
属性
包含 MATLAB 代码的文件的路径和文件名,指定为字符向量或字符串标量。该文件可以具有 .m 或 .mlx 扩展名。如果您设置此属性,则 MATLABCode 报告器会将 Content 属性设置为包含指定文件中所含代码的字符串标量。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
数据类型: char | string
MATLAB 代码,指定为字符向量或字符串标量。仅当未设置 FileName 属性时才设置此属性。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
数据类型: char | string
是否对代码应用智能缩进,指定为逻辑值 1 (true) 或 0 (false)。当您指定:
1(true) - 对代码应用智能缩进。0(false) - 请勿对代码应用智能缩进。
属性:
GetAccess | public |
SetAccess | public |
数据类型: logical
是否将代码复杂度、作为逻辑值 1 (true) 或 0 (false) 指定的 纳入考虑范围。当您指定:
1(true) - 列出 MATLAB 代码中每个函数的麦凯布循环复杂度。0(false) - 省略每个函数的麦凯布循环复杂度。
属性:
GetAccess | public |
SetAccess | public |
数据类型: logical
代码复杂度报告器,指定为 mlreportgen.report.BaseTable 对象。BaseTable 报告器用于报告和格式化代码复杂度表格数据。该属性的默认值为 BaseTable 对象,其中 TableStyleName 属性设置为 "MATLABCodeTable",其他属性设置为默认值。您可以通过自定义默认报告器或将其替换为自定义 BaseTable 报告器来自定义表的外观。您在默认或替换 BaseTable 报告器的 Title 属性中指定的任何内容都会出现在生成的报告的标题之前。
属性:
GetAccess | public |
SetAccess | public |
该报告器的模板来源,以下列方式之一指定:
字符向量或字符串标量,指定包含此报告器模板的文件的路径
此报告器使用的模板或其模板库中包含此报告器模板的报告器或报告
文档对象模型 (DOM) 文档或文档部分,该报告器使用其模板或其模板库包含该报告器的模板
指定的模板必须与您追加此报告器的报告类型相同。例如,对于 Microsoft® Word 报告,TemplateSrc 必须是 Word 报告模板。如果 TemplateSrc 属性为空,则此报告器将使用默认报告器模板作为报告的输出类型。
属性:
GetAccess | public |
SetAccess | public |
NonCopyable | true |
Dependent | true |
此报告器的模板名称,指定为字符向量或字符串标量。该报告器的模板必须位于该报告器的模板源 (TemplateSrc) 的模板库中。
属性:
GetAccess | public |
SetAccess | public |
数据类型: char | string
此报告器的超链接目标,指定为指定链接目标 ID 的字符向量或字符串标量,或 mlreportgen.dom.LinkTarget 对象。字符向量或字符串标量值转换为 LinkTarget 对象。链接目标在输出报告中紧接着此报告器的内容。
属性:
GetAccess | public |
SetAccess | public |
方法
| 方法 | 用途 |
|---|---|
getSyntaxColoredCode | 返回一个 DOM 对象,其中包含由 MATLABCode 报告器生成的代码的语法高亮显示版本 |
mlreportgen.report.MATLABCode.createTemplate | 创建报告器模板 输入参量
返回值
有关详细信息,请参阅 |
mlreportgen.report.MATLABCode.customizeReporter | 从 输入参量
返回值
有关详细信息,请参阅 |
mlreportgen.report.MATLABCode.getClassFolder | 获取包含 返回值
有关详细信息,请参阅 |
copy | 创建报告器对象的副本,并对属性值进行深拷贝 输入参量
返回值
有关详细信息,请参阅 |
getImpl | 获取报告器的实现 注意 调用此方法后,您无法再向报告器添加内容。 输入参量
返回值
有关详细信息,请参阅 |
示例
报告函数 myAdd.m 的语法高亮代码。
创建报告。
import mlreportgen.dom.* import mlreportgen.report.* rpt = Report("MyReport","pdf");
创建一个章节。
chap = Chapter("The myAdd Function");
创建一个 MATLABCode 报告器,报告 myAdd.m 的内容。
mCode = MATLABCode("myAdd.m");将报告器添加到章节,将章节添加到报告中。如果您需要向 DOM 对象添加语法高亮的 MATLAB 代码,请参阅 将语法高亮的 MATLAB 代码 DOM 对象添加到报告中。
append(chap,mCode); append(rpt,chap);
关闭报告并打开查看器。
close(rpt); rptview(rpt);
以下是报告中语法突出显示的代码。

使用 getSyntaxColoredCode 方法从 MATLABCode 报告器读取的代码中创建 DOM 对象。getSyntaxColoredCode 根据报告格式和 MATLAB 代码的来源返回不同的 DOM 对象类型。
MATLAB 代码源 | 报告格式 | DOM 对象 |
|---|---|---|
.mlx | DOCX |
|
.mlx | HTML HTML 文件 |
|
.mlx |
| |
.m | DOCX HTML HTML 文件 |
|
使用 | DOCX HTML HTML 文件 |
|
import mlreportgen.dom.* import mlreportgen.report.*
创建报告。
rpt = Report("MyReport","pdf");
创建一个章节。
chap = Chapter("The myAdd Function");创建一个 DOM 表。
table = mlreportgen.dom.Table(2);
table.Style = {...
Border("solid"),...
ColSep("solid"),...
RowSep("solid"),...
Width("100%")...
};
table.TableEntriesVAlign = "middle";创建表行。
tr = TableRow();
创建第一个表条目并向其中追加一些内容。
entry11 = TableEntry();
append(entry11,"Addition");为 MATLAB 代码创建另一个表条目。
entry12 = TableEntry();
创建一个 MATLABCode 报告器,报告 myAdd.m 的内容。
mCode = MATLABCode("myAdd.m");根据报告结果创建一个 DOM 对象。
synatxColorCode = getSyntaxColoredCode(mCode,rpt)
synatxColorCode =
HTMLFile with properties:
KeepInterElementWhiteSpace: 0
EMBaseFontSize: 12
HTMLTag: 'div'
StyleName: []
Style: {1×0 cell}
CustomAttributes: []
Parent: []
Children: [1×1 mlreportgen.dom.Container]
Tag: 'dom.HTMLFile:50558'
Id: '50558'
将代码的语法颜色呈现添加到表条目中。
append(entry12,synatxColorCode);
将表条目附加到表行,并将表行附加到表。
append(tr,entry11); append(tr,entry12); append(table,tr);
将表添加到章节中,将章节添加到报告中。
append(chap,table); append(rpt,chap);
关闭报告并打开查看器。
close(rpt); rptview(rpt);
版本历史记录
在 R2021a 中推出使用方法 getSyntaxColoredCode 以编程方式将 MATLAB 语法高亮内容作为 DOM 对象添加到报告中。该方法从指定的 .mlx 或 .m 文件生成适合报告输出类型的 DOM 对象。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)