#matlab #visual-studio-code
#matlab #visual-studio-code
Вопрос:
Я не могу понять, как запустить код MATLAB (.m) в VSCode.
Я установил расширение MATLAB для VSCode и добавил путь к mlint
файлу для MATLAB, как указано в расширении.
"matlab.mlintpath"
VSCode идентифицирует файл как файл MATLAB. Однако код не будет выполняться.
Как я могу запустить код MATLAB из VSCode?
Комментарии:
1. Вы имеете в виду «выполнить», как при выполнении кода? Поскольку MATLAB является собственностью, существует только два способа запуска кода MATLAB: путем запуска кода из среды IDE MATLAB (с действующей лицензией, конечно) или путем компиляции его в исполняемый файл с помощью компилятора MATLAB.
2. Да, я имею в виду выполнить код. Итак, нет ли способа напрямую выполнить код из командной строки vscode?
3. Вы могли бы, при условии, что у вас есть рабочая установка MATLAB на вашем компьютере и вызвать ее из командной строки, или использовать один из обходных путей, упомянутых в моем ответе. Не имея доступа к действующей лицензии и рабочей установке MATLAB, вы не сможете запустить код, который разработан.
4. В Windows вы не можете запустить сеанс Matlab внутри терминала, всегда будет появляться интерактивная консоль Matlab (например
matlab -nodesktop -nosplash <fileToRun.m>
). Я написал руководство, которое позволяет выполнять разделы / строки / полные файлы в запущенной среде разработки Matlab IDE из vscode, ссылка . Это немного халтурно, но позволяет мне наслаждаться, например, многострочным редактированием vscode, а затем быстро запускать разделы кода, нажимая сочетание клавиш вместо переключения на matlab, и запускать весь файл.
Ответ №1:
Существует способ, это расширение VSCode предполагает, что вы можете использовать его для запуска кода MATLAB из VSCode без необходимости открывать графический интерфейс MATLAB. Однако это не делает недействительным приведенное ниже; у вас должна быть работающая лицензионная установка MATLAB, которая будет вызываться в фоновом режиме. Без работающей лицензионной установки MATLAB вы не сможете запустить код MATLAB.
Поскольку MATLAB является собственностью, существует только два способа запуска кода MATLAB: путем запуска кода из среды IDE MATLAB (с действующей лицензией, конечно) или путем компиляции его в исполняемый файл с помощью компилятора MATLAB.
Возможно, вы сможете заставить другие IDE иметь подсветку синтаксиса и подсказки ввода, например, собственную IDE MATLAB, импортируя ее mlint
функциональность, как вы это сделали, но это не приведет к выполнению кода.
Таким образом, нет, вы не можете выполнить код MATLAB непосредственно в VSCode, вы можете только тайно вызвать механизм MATLAB изнутри VSCode.
Возможным обходным путем было бы экспортировать ваш код MATLAB в C / C с помощью MATLAB Coder . Затем вы можете запустить код C / C из VSCode.
Комментарии:
1. Вы также можете вызвать код MATLAB из-за пределов IDE (я полагаю, это возможно с некоторыми расширениями VSCode), но главное, что вам нужно, чтобы для этого был установлен MATLAB, и он будет вызывать механизм MATLAB неявно.
2. Это расширение работает для меня. Следует отметить, что исполняемый файл Matlab должен указывать путь пользователя. Я думаю, что одно только первое предложение было бы отличным ответом на вопрос, и я озадачен, почему существует длинный дискурс о природе лицензии Matlab и о том, как генерировать C. На самом деле Matlab можно запускать без IDE,
matlab -nosplash -nodesktop
которую я обычно использую из оболочки, и именно это использует это расширение.3. @Liam необходим длинный дискурс, потому что наличие расширения без действительной лицензии MATLAB установка не будет работать. Кодировщик и
mlint
части менее релевантны, предоставлены и были добавлены для уточнения других параметров (особенно учитывая, что OP упоминает установкуmlint
в вопросе).
Ответ №2:
TL; DR:
Я написал расширение терминала Matlab для VS Code в Linux. Он может запускать matlab
файлы и создавать a matlab
-Terminal. Вы можете найти репозиторий здесь .
Вопрос для VS Code
Недавно я хотел использовать matlab
терминал в vscode. Для этого даже есть расширение. Но при использовании расширения я столкнулся с некоторыми недостатками. Также репозиторий, похоже, больше не активен, а владелец не реагирует на проблемы и тому подобное.
Поэтому я решил написать свое первое расширение MatTer for VS Code
и опубликовал его на VS marketplace. Он находится на ранней стадии разработки, но уже может создавать a matlab
-Terminal и запускать matlab
файлы.
Репозиторий размещен на Github, смотрите здесь: https://github.com/mauzigoe/matter-for-vscode
Чтобы установить его vscode
, просто выполните поиск matter-for-vscode
в Extension
.
Критика и отзывы приветствуются, особенно. поскольку я новичок в этом.
Ответ №3:
«@Liam необходим длинный дискурс, потому что расширение без действительной лицензии MATLAB установка не будет работать.T»
…потому что в какой-то момент вам понадобится хотя бы ОДНА рабочая установка matlab только для разработки m-файла 🙂
Я подозреваю, что вы правы, и все сводится к выбору между внедрением «чужого» кода в m-файл или вызовом механизма matlab из внешней среды разработки. У них есть бесплатный RTE, но вам все равно нужна какая-то форма Matlab IDE для записи, а также набор инструментов компилятора Matlab для создания проекта для RTE.
Обходной путь заключается в использовании инструментов ОС для полного удаления Matlab и других проприетарных инструментов из цикла. Вот почему, если вам придется заплатить 5 тысяч долларов за проприетарный инструмент, это должно быть оправдано другими способами, кроме «он может выполнить работу».
Расширения VS Code имеют ту же проблему, что и любое другое расширение: если вы посмотрите на репозиторий и увидите, что требуется для установки и запуска расширения? Вероятно, вы никогда больше не установите расширение. Это примерно так же разумно, как беспечно загружать и устанавливать любой код из Интернета: он ничем не лучше исходного кода. Я бы подождал, пока вы не выясните, как вызвать getOpen () и т. Д. В VS Code, Не загружая какое-либо случайное расширение из какого-либо случайного источника, особенно тот, который не обновлялся за последние 2 года. Или, по крайней мере, используйте сообщество VS2019:
Ответ №4:
вы могли бы использовать расширение «Matlab Interactive Terminal», ссылка приведена ниже. Чтобы использовать его, вам нужно следовать инструкции по установке «API MATLAB Engine для Python», и все готово (и вам нужен работающий Matlab).
после установки расширения вы могли бы открыть терминал Matlab в окне командной строки (нажав Ctrl Shift P и введя «Открыть терминал Matlab»), и вы могли бы получить тот же терминал Matlab, что и в реальной среде разработки Matlab, и теперь вы можете запускать код .m в Vscode.
Ответ №5:
Вы можете использовать расширение Code Runner и поместить эту строку в свой settings.json
:
"code-runner.executorMapByFileExtension": {
".m": "cd $dir amp;amp; matlab -batch "$fileNameWithoutExt""
}
Вероятно, вы также захотите установить расширение MATLAB.