1

При всех своих недостатках я обычно предпочитаю работать внутри Matlab IDE, а не во внешнем редакторе (из-за простоты отладки, запуска и т.д.).

Однако иногда я хочу открыть текущий файл во внешнем текстовом редакторе. Я могу сделать: r-щелкните вкладку файла; показать в поисковике; откройте файл в редакторе, но это действительно слишком много для большинства случаев.

Я хочу назначить внешний редактор, который можно запустить с выбранным в данный момент файлом.

Есть ли встроенный способ сделать это?

Если нет, поддерживает ли сценарий Matlab IDE сам сценарий, чтобы я мог написать сценарий, которому затем можно было бы назначить ярлык?

(дисквалимер: я гуглил - ничего не нашел)

3 ответа3

1

Спасибо Винсенту за то, что он ввел меня в system . Мое решение в основном для меня (так что без фантазии), но не стесняйтесь адаптироваться к вашему выбору редактора.

Изменить: Обратите внимание, что это решение включает недокументированную функциональность. Если я правильно помню, matlab.desktop.editor.getActive().Filename; работает примерно с 2009 года и по крайней мере работает в 2013a на OSX

function subl(varargin)
% Opens the currently active tab of the matlab editor in sublime text
% (assuming OSX, and that subl is found on the system $PATH).
% Adam Andersen Læssøe; Feb. 2014.
%
% Input: 
%    varagin{1} (if supplied) is passed directly to the subl call as a string 
%    for a list of args see eg. www.sublimetext.com/docs/3/osx_command_line.html
% Result: 
%    (). subl is called with the args followed by the path to the currently
%    active file in the matlab editor. 
% Example usage: (opens the currently active editor tab in sublime text in
%                 a new window)
%    subl -n

file = matlab.desktop.editor.getActive().Filename;
if nargin 
    args = varargin{1};
else 
    args = '';
end
%args = '';
system(['subl ', args, ' ', file]);
1

Вы можете открыть файл из matlab с помощью функции macopen (или, если вы находитесь в windows: winopen):

function macopen(file)
% Opens a file or directory, as if executing at the Terminal
% Manu Raghavan
% August 19, 2009

if(nargin==0 || nargin>1 || ~ischar(file))
    error('Please specify at one input argument, file or directory, to be opened');
end

if(~ismac)
    if(ispc)
        error('macopen does not work on Windows, use winopen instead');
    else
        error('macopen does not work on other operating systems');
    end
end

system(['open ',file]);

источник: http://www.mathworks.com/matlabcentral/fileexchange/25080-macopen/content/macopen.m автор: http://www.mathworks.com/matlabcentral/fileexchange/authors/31269

0

Вы можете запустить редактор в операционной системе из командной строки matlab.

Что-то вроде

     !emacs filename.m

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .