Відкрити поточний файл у зовнішньому редакторі


1

Для всіх недоліків, я зазвичай вважаю за краще працювати всередині Matlab IDE, а не у зовнішньому редакторі (через легкість налагодження, запуску і так далі).

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

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

Чи є вбудований спосіб досягти цього?

Якщо ні, то сама Matlab IDE сценарій, так що я міг би написати сценарій, який потім може бути призначений ярлик?

(відмова від відповідальності: я гуглив - нічого не знайшов)

Відповіді:


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


Спасибі, Вінсент, але це вимагатиме від мене набрати весь файл. Дякуємо вам за macopen. Це може бути частиною життєздатного рішення. Чи існує команда для отримання (файлу) поточної активної вкладки? Це можна легко поєднати з макропокриттям, скажімо, exto.
AdamAL

Не так-то легко знайти, але ось вона (отримує повний шлях): matlab.desktop.editor.getActive().Filename
AdamAL

1

Завдяки Вінсенті за те, що він поклав мене system. Моє рішення в основному для мене (так що не фантазії), але не соромтеся адаптуватися до вашого редактора вибору.

Редагувати: Зауважте, що це рішення містить функціональні можливості, що не мають документів. Якщо я правильно згадую, matlab.desktop.editor.getActive().Filename; працює приблизно з 2009 року і хоча б працює в 2013 році на 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]);

0

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

Щось на зразок

     !emacs filename.m

Назва файлу повинна завершуватися.
Chogg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.