Создание пользовательской системы сборки для MATLAB через Sublime Text 2
я редактировал мой .m файлов в Sublime Text 2 (отныне упоминается как Sublime для остальной части моего вопроса) в течение довольно долгого времени, и недавно привыкнув использовать функцию сборки в Sublime для запуска кода Python, я пытался настроить что-то подобное для файлов MATLAB. Я пытаюсь сделать это, потому что я устал от запуска моего кода и редактирования моего кода в отдельных окнах.
следуя документации, я попытался использовать это очень разумный кажущийся код ниже, где флаг'- r ' запускает MATLAB для запуска моего файла, флаг "-nodesktop" запускает MATLAB без большого неповоротливого JAVA GUI, а флаг "-nosplash" запускает MATLAB без ненужного заставки. Селектор позволяет Sublime автоматически использовать эту систему сборки в M файлах, а переменная path задает путь к каталогу, который запустит MATLAB (каталог, найденный при запуске "which matlab").
Я знаю, что могу установить предпочтительный текстовый редактор из графического интерфейса MATLAB, но я не заинтересован в этом. Я заинтересован в использовании Sublime в качестве системы сборки в дополнение к текстовому редактору.
{
"cmd": ["matlab", "-r", "-nodesktop", "-nosplash", "$file_name"],
"selector": "source.m",
"path": "/usr/local/MATLAB/R2012a/bin"
}
при запуске построить на моем errorless .файл м, я нахожу эту ошибку ниже, что не имеет смысла. Я не думаю, что это имеет смысл, потому что запустили MATLAB со стандартными параметрами командной строки, и я получаю внутренние ошибки MATLAB.
/usr/local/MATLAB/R2012a/bin/matlab: 1: /usr/local/MATLAB/R2012a/bin/matlab: awk: not found
/usr/local/MATLAB/R2012a/bin/matlab: 1: /usr/local/MATLAB/R2012a/bin/matlab: expr: not found
Internal error 2: Could not determine the path of the
MATLAB root directory.
original command path = /usr/local/MATLAB/R2012a/bin/matlab
current command path = /usr/local/MATLAB/R2012a/bin/matlab
Please contact:
MathWorks Technical Support
for further assistance.
[Finished in 0.1s with exit code 1]
у кого-нибудь еще были такие проблемы вызов сценариев MATLAB через альтернативную систему сборки? Я не пытался настроить систему сборки для MATLAB в Sublime на любой другой операционной системе, кроме Ubuntu 12.04, если эта информация полезна.
он работает сейчас!
Вот мой Matlab.sublime-build
:
{
"cmd": ["/usr/local/MATLAB/R2012a/bin/matlab", "-nosplash", "<$file_name"],
"selector": "source.m"
}
обновление: теперь я размещаю файлы сборки Sublime Text 2 R2012a для Linux и Mac на моей странице Github в качестве примеров: https://github.com/jessebikman/Sublime-Text-2-build-Matlab-code
3 ответов
Я превосходный новичок, но это сработало для меня. Я считаю, что у вас есть две проблемы:
выясните, как установить среду пути (которую Sublime видит), чтобы быть той из командной строки unix. На mac мне пришлось настроить файл под названием environment.plist и добавьте туда путь. Это должно избавиться от ваших ошибок awk и expr.
-
вот мой matlab.sublime-build:
{ "cmd": ["/Applications/MATLAB_R2011b.app/bin/matlab","<$file_name"] }
Примечание
это не идеально: добавление параметров nodesktop и nosplash приводит к ошибкам. Поскольку сценарий сборки стоит сейчас, программа отлично работает в терминале,но я все равно получаю всплеск.
просто попытался получить мой код Matlab, скомпилированный через Sublime. Подключен к вашим фрагментам sublime-build, и он работает, спасибо за это! Тем не менее, я обычно кодирую связанные с компьютерным зрением вещи, где вы делаете это много:
img = doImageConversion();
imshow(img);
pause;
img = doAnotherImageConversion();
imshow(img);
pause;
проблема здесь в том, что sublime не останавливается на pause
инструкция. Вы можете преодолеть это, заменив паузы на pause(3)
. Не совсем удовлетворительно, хотя! Чтобы сделать сборку фактически остановить, я нашел эти Matlab.sublime-build настройки довольно удобны:
{
"cmd": ["xterm", "-e", "matlab", "-nosplash", "-nodesktop", "-r", "run $file_name; quit;"],
"selector": "source.m"
}
для этого требуется xterm для установки в дистрибутив linux. Теперь Sublime запустит xterminal, запускающий файл Matlab, на самом деле остановится на инструкциях паузы и выйдет в конце. Я не тестировал этот фрагмент на более старых версиях Matlab.
Ура lustiz
просто предположение - я не использовал систему сборки в SublimeText-но вам может потребоваться поместить -r
опция непосредственно перед именем файла. Если вы бежите matlab -r -nodesktop "mycommand"
, Он запускается нормально, пытается исполнить файл nodesktop
, и терпит неудачу.
путь установки MATLAB также (как правило, если вы не установили его по-другому) имеет нижний регистр r
на r2012a
. Может, в этом и проблема.
последнее, что я мог бы предложить, это также использовать , которым задает каталог запуска MATLAB.
надеюсь, что эти мысли помогут!