2015-06-11 2 views
2

У меня есть следующий проект на руках, и я стучу головой о стену для этого «маленького» оговорки.Завершение вкладок Matlab для занятий

В проекте использованы Matlab classes. Благодаря структуре проекта, у меня есть папки структурированы следующим образом:

+a/+b/+c/ 

Затем на c есть куча других подпапок заявил:

+a/+b/+c/+d 
+a/+b/+c/+e 
+a/+b/+c/+f 
+a/+b/+c/+g 

На одной из этих папок (давайте СБ +e), где я реализую свои .m классы, которые содержат properties, а также Staticmethods:

+a/+b/+c/+e/my_class_1.m 
+a/+b/+c/+e/my_class_2.m 
+a/+b/+c/+e/my_class_3.m 
+a/+b/+c/+e/my_class_4.m 

Итак, давайте взглянем на мой startup.m файл:

% add the path to the class 
addpath(genpath('<previous_path_to_a>')); 
% import the module 
import a.b.c.e.* 

То, что я хотел бы сделать сейчас, чтобы быть в состоянии нажать my_class_1. + Tab на строке Matlab и быть показал properties и methods доступны для данного класса.

Я знаю, что я мог бы просто использовать methods() функцию Matlab для этого, или properties() один, но это было бы очень хорошо, чтобы быть в состоянии просто введите:

help my_class_1. + Tab

, чтобы быть в состоянии выбрать данный method и посмотреть его документацию. В противном случае у меня есть, как я уже сказал, сначала позвонить methods(), чтобы узнать, какие имена собственного класса methods предназначены для данного класса, чтобы иметь доступ к его документации.


Edit:

Конечно, то, что делает работу печатает весь путь, в моем примере:

help a.b.c.e.my_class_1. + Tab

Вопрос заключается в том, как получить устраняют те, которые ранее досаждали a.b.c.e.

+0

Является ли 'e' пакетом или классом? Вы говорите о папке '+ e', указывая, что это пакет, но вы также говорите о вводе вкладки« e.' + », чтобы увидеть методы/свойства' e', что указывает на то, что это класс. –

+0

@SamRoberts жаль насчет путаницы, исправит ошибку сейчас! –

ответ

2

Хм, похоже, ты прав. Вкладка завершения методов и свойств, похоже, работает только с полностью квалифицированными именами классов, даже если класс находится на пути и импортирован.

Не знаю об обходном пути. Если бы я был вами, я бы ввел запрос расширения с MathWorks для этого. Казалось бы, это очевидная и приятная вещь.

+0

Я написал запрос на обслуживание на странице Mathworks. Но да, кажется, это не так тривиально без их помощи :( –

Смежные вопросы