【问题标题】:How to make Matlab understand where a (to-be-folded) code section begins and ends如何让 Matlab 理解(要折叠的)代码部分的开始和结束位置
【发布时间】:2023-04-11 09:45:02
【问题描述】:

我希望我的 Matlab 脚本中的某些部分(行)可折叠为部分代码(单元格)。这些行不一定总是有一个“结束”关键字来终止它们,因此我想自己定义代码段的开始和结束位置。

但是,Matlab 似乎只理解此类代码部分的开头(用 %% 标记),而不理解结尾。 Matlab 似乎在寻找各种其他线索(例如代码关键字,如“case”)作为代码部分的结尾,并忽略 % 或 %% 符号,我插入这些符号是为了告诉 Matlab 这是我想要的单元格结束。

【问题讨论】:

    标签: matlab syntax


    【解决方案1】:

    Preferences > Editor/Debugger > Code Folding 下有一个sections 的复选框。如果勾选此选项,则可以使用 %% 折叠部分。

    但是,您应该注意,这些部分(即%%)对编辑器有一个用途,它允许您轻松地只运行该部分中的代码,而不是整个脚本。因此,如果您在代码周围随意使用 %% 只是为了代码折叠(而且它也不能嵌套),那么您可能会失去这种能力。

    【讨论】:

    • 谢谢。该复选框已被选中(这就是我可以折叠代码部分的原因)。问题在于,matlab 对折叠部分的 结束 在哪里感到困惑,并且不将第二个 % 或 %% 视为部分结束的指示符。
    • 它将第二个%% 视为下一节的开始,从而隐式结束上一节。常规评论 % 当然会被忽略。您能否发布一些折叠在部分上不起作用的示例代码(即忽略第二个%%)?
    • 就是这样-您所说的假设要折叠的代码部分必须是连续的,而我希望能够折叠以 %% 开头并结束的部分另一个 %%,然后有一些中间代码,然后是另一个可折叠部分,等等。这可能吗?
    • 中间代码(中间部分)很长,所以能够折叠它会很有用..
    • 说得对,我想我只是有点困惑,谢谢 :)
    猜你喜欢
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 2021-08-09
    • 2012-01-25
    相关资源
    最近更新 更多