Вопрос по matlab – Получить размер вкладки через командную строку
Есть ли автоматический способ получения размера вкладки редактора Matlab и окна команд? Да, вы можете просто открыть окно настроек и посмотреть его самостоятельно, но я хочу, чтобы оно было автоматизировано. На самом деле я думаю, что это можно обобщить для получениялюбо из этих пользовательских настроек на скриншоте ниже.
и, покопавшись в мысли, лучше поделиться этой ссылкой:
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