Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

提高代码可读性

缩进代码

缩进代码使阅读 while 循环之类的语句更容易。要在编辑器和实时编辑器中设置缩进预设项并将其应用于代码,请执行以下操作:

  1. 主页选项卡上的环境部分中,点击 预设

    “预设项”对话框随即打开。

  2. 选择 MATLAB > 编辑器/调试器 > 语言

  3. 语言下拉列表中选择一种计算机语言。

  4. 缩进部分,选中或清除键入时应用智能缩进,具体取决于您是否希望在键入时自动应用缩进。

    如果清除此选项,可以手动应用缩进,方法是在编辑器和实时编辑器中选择要缩进的行,右键点击,然后从上下文菜单中选择智能缩进

  5. 执行以下操作之一:

    • 如果您在步骤 2 中选择了 MATLAB 之外的任何其他语言,请点击确定

    • 如果您在步骤 2 中选择了 MATLAB,请选择一种函数缩进格式,然后点击确定。函数缩进格式有:

      • 经典” - 编辑器和实时编辑器将函数代码与函数声明对齐。

      • 缩进嵌套函数” - 编辑器和实时编辑器缩进嵌套函数中的函数代码。

      • 缩进所有函数” - 编辑器和实时编辑器缩进主函数和嵌套函数的函数代码。

    此图像展示了函数缩进格式。

注意

TLC、VHDL 或 Verilog 不支持缩进预设项。

MATLAB® Online™ 中,缩进预设项位于 MATLAB > 编辑器/调试器 > MATLAB 语言MATLAB > 编辑器/调试器 > 其他语言下。

不管您是自动还是手动应用缩进,都可以通过执行下列操作之一将选定行继续向左或向右移动:

  • 编辑器实时编辑器选项卡上,点击

  • 分别按 Tab 键或 Shift+Tab 键。

    如果您选择的编辑器/调试器 Tab 预设为Emac 样式的 Tab 键智能缩进,则情况会有所不同 - 当您将光标置于任一行中或选择一组行并按 Tab 时,这些行会根据智能缩进方法缩进。

右侧文本限制指示器

默认情况下,编辑器中的第 75 列会显示淡灰色的竖直线(规则),指示超过 75 个字符的行的位置。您可以将此文本限制指示标记设置为其他值,如果您想在具有不同行宽限制的另一文本编辑器中查看代码,这很有用。实时编辑器不支持右侧文本限制指示符。

要隐藏或更改竖直线的外观,请执行以下操作:

  1. 主页选项卡上的环境部分中,点击 预设

    “预设项”对话框随即打开。

  2. 选择 MATLAB > 编辑器/调试器 > 显示

  3. 调整右侧文本限制部分中的设置。

注意

这一限制只是可视的提示,并不能防止文本超出限制。要在指定的列号使注释文本自动换行,请转至主页选项卡,并在环境部分中,点击 预设。选择 MATLAB > 编辑器/调试器 > 语言,然后调整注释格式设置预设项。要调整 MATLAB Online 中的注释格式化预设项,请选择编辑器/调试器 > MATLAB 语言

代码折叠 - 展开和折叠代码构造

代码折叠功能可以展开和折叠某些 MATLAB 程序构造块。当某文件包含许多函数或其他代码块(您希望在当前未处理这部分文件时隐藏它们)时,这可以提高可读性。MATLAB 程序构造块包括:

  • 用于运行和发布代码的代码节

  • 类代码

  • forparfor 模块

  • 函数和类帮助

  • 函数代码

要查看整个构造列表,请转至主页选项卡,并在环境部分中,点击 预设。然后,选择编辑器/调试器 > 代码折叠

要展开或折叠代码,请在编辑器中点击显示在构造块左侧的加号 或减号 。您还可以使用 Ctrl+Shift+.(句点)Ctrl+.(句点)键盘快捷方式,或使用视图选项卡中的代码折叠按钮。

要展开或折叠文件中的所有代码,请将光标置于该文件中的任意位置,右键点击,然后从上下文菜单中选择代码折叠 > 全部展开或者代码折叠 > 全部折叠。您也可以使用 Ctrl+Shift+,(逗号)Ctrl+,(逗号)键盘快捷方式,或视图选项卡中的代码折叠按钮。

注意

实时编辑器不支持代码折叠

在工具提示中查看折叠代码

您可以通过将指针置于代码的省略号 上来查看当前折叠的代码。代码显示在工具提示中。MATLAB Online 不支持在工具提示中查看折叠代码。

下面的图像显示了在 for 循环处于折叠状态时,将指针置于 lenghtofline.m 的第 23 行上的省略号上方时显示的工具提示。

打印包含折叠代码的文件

如果您打印的文件包含一个或多个折叠构造块,这些构造块将在该文件的打印版本中展开。

没有显式 End 语句的函数的代码折叠行为

如果您为函数启用代码折叠并且您代码中的函数不以显式 end 语句结尾,您会看到以下行为:

  • 如果显示在此类函数末尾的行只包含注释,则编辑器不会在折叠函数时包括该行。这是因为 MATLAB 不会在没有任何显式 end 语句的函数定义中包括尾随空白和注释。在 MATLAB Online 中,编辑器在折叠函数时会包括该行。

    仅对函数代码启用代码折叠描述了此行为。foo 函数的折叠不包括第 13 行。

  • 如果某代码节的折叠与函数代码重叠,则编辑器不显示重叠节的折叠。

    随后的三张图描述了此行为。前两张图仅对函数代码启用代码折叠仅对节启用代码折叠描述了在您分别只对函数代码和只对节启用代码折叠时代码折叠的外观。最后一张图同时对函数和节启用代码折叠描述了同时对二者启用代码折叠时的效果。因为第 3 段(第 11–13 行)的折叠与函数 foo的折叠重叠,所以编辑器不显示第 3 节的折叠。

仅对函数代码启用代码折叠

仅对节启用代码折叠

同时对函数和节启用代码折叠

代码重构 - 自动将选定的代码转换为函数

在实时编辑器中,您可以通过自动将选定的代码区域转换为函数或局部函数,将大型实时脚本或函数分成较小的部分。这称为代码重构

要重构选定的代码区域,请执行以下操作:

  1. 选中一行或多行代码。

  2. 实时编辑器选项卡的代码部分中,点击 重构,然后从可用选项中进行选择。

  3. 输入新函数的名称。MATLAB 会用选定的代码创建函数,并将原始代码替换为对新创建函数的调用。

也可以在 MATLAB Online 的 Editor 中使用重构。要在 MATLAB Online 的编辑器中重构选定的代码区域,请在编辑器选项卡的代码部分中,点击代码重构 按钮。然后,从可用选项中进行选择。