Я использую Emacs + matlab-mode в качестве среды разработки Matlab.У меня также есть MTEST , установленный вместе с Matlab для запуска моих модульных тестов - теперь я хочу иметь привязку ключа, которая запускает тесты из текущего файла в оболочке matlab, которую я постоянно открывал вокруг(M-x matlab-shell
).
То, что у меня есть до сих пор, это:
; Runs the unit tests available in the current buffer
(defun run-matlab-test ()
(interactive)
(matlab-shell-run-command (concat "runtests "
(car (split-string (buffer-name) "\\.")))))
; Bind "C-c l" to running unit tests in matlab-mode
(defun map-run-matlab-test-keys ()
(local-set-key (kbd "C-c l") 'run-matlab-test))
(add-hook 'matlab-mode-hook 'map-run-matlab-test-keys)
В функции run-matlab-test
мне нужно иметь способ вызова runtests
команда с параметром, предоставленным командой (buffer-name)
, и все это должно происходить в оболочке matlab, о которой я упоминал выше.Есть подсказки?
Редактировать : Мне удалось заставить его работать, позвонив matlab-shell-run-command
.Предостережение заключается в том, что он работает только в том случае, если начальная последовательность такова: откройте файл unit-test.m
, из этого файла запустите M-x matlab-shell
(таким образом, matlab начинается с текущего рабочего каталога в каталоге tests), а затем вы можете использовать приведенный вышесвязывание. * * тысяча двадцать-одна