【问题标题】:Matlab: Is there a command to set 'code folding' preference?Matlab:是否有设置“代码折叠”偏好的命令?
【发布时间】:2014-11-04 20:54:36
【问题描述】:

为了便于阅读,我使用 %% 命令将代码分成块,
当我不在其中工作时,我会折叠这些块。
默认设置不给你折叠它们的能力,所以我的第一个问题是:

您能否通过命令调整此设置,以便打开我的脚本的任何人都可以选择折叠它们?

我的第二个问题是:我可以编写代码以将块设置为默认折叠吗?

提前致谢

【问题讨论】:

  • 我不相信这可以通过编程方式实现。即使它是/是,我强烈建议不要修改任何使用您的代码的用户的 MATLAB 首选项。

标签: matlab command settings folding


【解决方案1】:

确实可以

1) 在命令窗口中输入 preference 以打开首选项菜单(或者您可以在 home 下找到)

2) 转到编辑器/调试器 -> 代码折叠

3) 标记Sections

的启用框

【讨论】:

  • 感谢您的回答,但实际上我的意思是在脚本开头通过命令自动检查首选项中的“代码折叠”。这会产生后果;任何打开我的脚本的人都可以折叠积木。最好是这些块也已经处于折叠状态。
  • 所以命令类似于:preferences editor (codefolding = 1);
  • 我还没有听说过。无论如何,首选项很容易设置。但是,您有没有对此提出任何投诉?我相信人们通常会做他们认为对他们最方便的事情。这意味着如果他们在代码折叠方面遇到问题,他们会打开首选项并修复它。也不是所有人都想要默认代码折叠。我觉得很难找到跨越多个块的变量。如果你有这么长的函数,你需要对部分进行代码折叠,我建议保持函数更短。但是,这不是我判断的,如果你想编码折叠,那就用它吧。
【解决方案2】:

您可以按以下方式包装您的部分:

%% //Section header
for folding=true

%// Your code here

end %//folding

这允许您折叠for“循环”。

它适用于拥有相当新的 Matlab 编辑器的每个人,而不会弄乱编辑器设置。

请注意,您不应该有一个名为 folding 的实际变量。

【讨论】:

    【解决方案3】:

    是的,这是完全可能的:

    com.mathworks.services.Prefs.setBooleanPref('EditorMCodeFoldEnabledcell', true);
    

    命令立即生效。在文章Changing system preferences programmatically中找到更多信息。

    【讨论】:

      猜你喜欢
      • 2010-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-26
      • 2018-10-31
      • 1970-01-01
      • 2017-03-10
      相关资源
      最近更新 更多