Live Scripts中的代码折叠

时间:2017-07-25 08:43:42

标签: matlab code-formatting

有没有办法在常规脚本中折叠Live Scripts中的代码段?

我试图在首选项中查找并启用所有类型的折叠,但它们都与Live Scripts无关。我希望它能够工作,因为%%的符号在两种类型的脚本中都是相似的。

知道如何启用/解决此问题吗?

2 个答案:

答案 0 :(得分:1)

不,我不相信你能做到这一点。不过,这似乎是一件好事,所以我会向MathWorks输入一个增强请求。我没有建议解决方法,我很害怕。

答案 1 :(得分:1)

我知道这已经很老了,但是如果有人怀疑,以下是我提交增强功能请求时技术支持向我建议的解决方法。如果读者仍然希望看到此功能添加到实时编辑器中,我鼓励读者通过提交请求来增加投票。

  
      
  1. 转换为M文件并使用“ showcode”为false的“发布”。首先,将实时脚本转换为M文件。您可以以交互方式进行   通过单击“另存为”,然后在菜单中选择“ M”文件选项   “文件类型”部分,或者您可以通过编程方式执行以下操作:

         

    >> matlab.internal.liveeditor.openAndConvert('live_script_to_be_converted.mlx',   'output_script.m');

  2.   
     

一旦您拥有包含所有分节符的转换后的M文件   和格式,您可以按如下方式使用“发布”功能   MATLAB命令窗口:

     

>> options.format ='pdf';
     >> options.showCode = false;
     >> publish('output_script.m',options)

     

这会将PDF文件发布到内部名为“ html”的子目录中   当前工作目录。

     

此处是“发布”功能的文档链接,   具体来说,“ showCode”选项:   https://www.mathworks.com/help/matlab/ref/publish.html#input_argument_namevalue_d119e823467

     

请注意,将MLX文件另存为M文件然后发布时,   它不会将LaTeX表达式转换为可读的内容。它   还会自动在开始处插入目录。

     
      
  1. 将代码封装在另一个脚本或函数中。另一种方法是让您封装要隐藏在其中的代码   另一个脚本或函数,然后从您发布的Live中调用它   脚本。例如,类似:

         

    >> %%现在绘制一个图
      >> functionThatPlotsAFigure

  2.   
     

在这种情况下,不是发布所有绘图代码,而是仅   绘图功能的调用将被发布。

     
      
  1. 将实时脚本发布为HTML,然后修改HTML页面以隐藏代码部分,然后将其发布为PDF。
  2.   
     

上述选项只是解决方法,因为我们目前尚不具备此功能。已经向我们的开发人员提交了添加此功能的请求,他们正在考虑在将来的MATLAB版本中使用此功能。感谢您在我们不断努力改善产品质量方面的反馈。