5

是否有自动检索 matlab 编辑器和命令窗口的选项卡大小的方法?是的,您可以打开首选项窗口并自己查找,但我希望它自动化。实际上,我认为这可以概括为在下面的屏幕截图中检索任何这些用户偏好。

在此处输入图像描述

4

1 回答 1

7

我很快找到了解决方案,经过深思熟虑后,最好分享这个链接:

http://undocumentedmatlab.com/blog/changeing-system-preferences-programmatically/

所以你要做的是:

  1. 打开首选项文件并查找您要阅读的首选项:

    edit(fullfile(prefdir,'matlab.prf'));
    

    就我而言,它是线条CommandWindowSpacesPerTab=I4EditorSpacesPerTab=I4看起来很有希望。我认为 I 代表类型(整数)。

  2. 通过加载值来测试它:

    com.mathworks.services.Prefs.get<type>Pref(<pref-name>)
    

    就我而言:

    >> com.mathworks.services.Prefs.getIntegerPref('EditorSpacesPerTab')
    ans =
    
        4
    

这个问题也有一点重叠:Saving settings in matlab

编辑:显然,使用此功能时,它不会读取首选项的默认值。即:当您尚未更改首选项的值时,该值不会保存到首选项文件中,因此无法以这种方式加载。这些函数只返回 0。现在,我正在手动检测这种情况:

if loadedpref==0
    set default
end

EDIT2:我还在 linux 命令行中使用 matlab,它有自己的选项卡设置(通常默认为 8)。为了检测这种情况,我使用了以下方法:

function retval = isCommandWindowOpen()
    jDesktop = com.mathworks.mde.desk.MLDesktop.getInstance;
    retval = ~isempty(jDesktop.getClient('Command Window'));
end
于 2012-05-30T13:59:27.650 回答