2012-05-30 55 views
5

是否有一種自動方式來檢索matlab編輯器和命令窗口的製表符大小?是的,您可以打開偏好設置窗口並自己查看,但我希望它自動執行。其實我認爲這可以概括爲在下面的截圖中檢索這些用戶偏好的的任何通過命令行獲取製表符大小

enter image description here

回答

7

我找到了解決辦法很快和挖掘在後認爲這是最好的分享此鏈接:

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

所以,你要做的就是:

  1. 開放查看偏好文件並查找您想要閱讀的偏好:

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

    在我的情況下,看起來很有希望的是CommandWindowSpacesPerTab=I4EditorSpacesPerTab=I4。我認爲我代表類型(整數)。

  2. 對其進行測試,通過加載值:

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

    在我的情況:

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

也有這個問題一小部分重疊:Saving settings in matlab

編輯:顯然,當使用這個f它不讀取首選項的默認值。即:當您尚未更改首選項的值時,該值不會保存到首選項文件中,因此無法以此方式加載。該功能只是返回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