Abre o arquivo atual no editor externo

1

Por todas as suas deficiências, eu geralmente prefiro trabalhar dentro do IDE do Matlab, em vez de em um editor externo (devido à facilidade de depuração, execução e assim por diante).

No entanto, às vezes, quero abrir o arquivo atual em um editor de texto externo. Eu posso fazer: r-clique na guia de arquivo; show no Finder; Abra o arquivo no editor, mas isso é realmente demais para a maioria das ocasiões.

O que eu quero é atribuir um editor externo que possa ser lançado com o arquivo atualmente selecionado.

Existe uma maneira integrada de realizar isso?

Se não, o próprio Matlab IDE é programável, então eu poderia escrever um script que poderia então ser atribuído a um atalho?

(discalimer: eu pesquisei - não encontrei nada)

    
por AdamAL 01.02.2014 / 19:44

3 respostas

1

Obrigado ao Vincent por me colocar em system . Minha solução é principalmente para mim (por isso não é uma fantasia), mas sinta-se à vontade para adaptar-se ao seu editor de escolha.

Editar: Observe que essa solução incorpora a funcionalidade não documentada. Se bem me lembro, matlab.desktop.editor.getActive().Filename; funciona de cerca de 2009 e pelo menos funciona em 2013a no 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]);
    
por 02.02.2014 / 09:59
1

Você pode abrir o arquivo do matlab com a função macopen (ou se você estiver no 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]);

fonte: link autor: link

    
por 01.02.2014 / 20:15
0

Você pode executar um editor no sistema operacional a partir da linha de comando do matlab.

Algo como

     !emacs filename.m
    
por 13.03.2014 / 09:48

Tags