Вопрос по matlab – Получить размер вкладки через командную строку

5

Есть ли автоматический способ получения размера вкладки редактора Matlab и окна команд? Да, вы можете просто открыть окно настроек и посмотреть его самостоятельно, но я хочу, чтобы оно было автоматизировано. На самом деле я думаю, что это можно обобщить для получениялюбо из этих пользовательских настроек на скриншоте ниже.

Ваш Ответ

1   ответ
7

и, покопавшись в мысли, лучше поделиться этой ссылкой:

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

Так что ты делаешь:

Откройте файл настроек и найдите предпочтение, которое вы хотите прочитать:

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

В моем случае это были строкиCommandWindowSpacesPerTab=I4 а такжеEditorSpacesPerTab=I4 это выглядело многообещающе. Я думаю, что я обозначает тип (целое число).

Проверьте это, загрузив значение:

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

В моем случае

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

    4

Существует также небольшое совпадение с этим вопросом: Сохранение настроек в Matlab

РЕДАКТИРОВАТЬ Очевидно, что при использовании этой функции она не считывает значение по умолчанию для предпочтения. То есть: когда вы еще не изменили значение предпочтения, значение не сохраняется в файле предпочтений и, следовательно, не может быть загружено таким образом. Функции просто возвращают 0. Сейчас я обнаруживаю этот случай вручную:

if loadedpref==0
    set default
end

EDIT2: Я также использую matlab в командной строке linux, которая имеет собственную настройку табуляции (обычно по умолчанию 8). Чтобы обнаружить эту ситуацию, я использовал следующее:

function retval = isCommandWindowOpen()
    jDesktop = com.mathworks.mde.desk.MLDesktop.getInstance;
    retval = ~isempty(jDesktop.getClient('Command Window'));
end

Похожие вопросы