クラス フォルダーを利用してメンバ関数を別ファイルに作成した際に、TAB補完によるメンバ変数、メンバ関数を表示させる方法について
4 ビュー (過去 30 日間)
古いコメントを表示
1. クラス フォルダーを利用してクラスを定義
@Test/Test.m
classdef Test < handle
properties
a;
end
methods
function this = Test()
end
end
methods(Access = private)
func1(this);
end
methods
function check(this)
this.func1(); % A
end
end
end
2. クラスフォルダ内に別ファイルとしてメンバ関数を作成
@Test/func1.m
function func1(this)
this.<TAB> % B
end
操作1:@Test/Test.m のA行でctrl+Dを押す
期待する動作1:@Test/func1.m が開く
実際の動作1:「ファイルthis.func1は存在しません、作成しますか?」とメッセージが表示される
操作2:@Test/func1.m 内のB行において"this."に続いて<TAB>を押す
期待する動作2:Testクラスのメンバ変数aやメンバ関数func1, checkが候補として表示される。
実際の動作2:Testクラスのメンバ変数aやメンバ関数func1, checkが候補として表示されない。
質問
クラスフォルダーを使ってクラスを構築する際に、TAB補完やctrl+Dによるコードの移動を実現させたいのですが、何か方法はありますか?
0 件のコメント
採用された回答
Jiro Doke
2016 年 11 月 14 日
操作1に関しては、ドット表記の場合は別ファイルのメソッドに飛んでくれないみたいですが、関数表記だと飛んでくれました。
this.func1() % 飛ばない
func1(this) % 飛ぶ
操作2に関してはでき無そうなので、対処法として一旦ワークスペースでオブジェクトを作成してみてはいかがでしょう。
this = Test()
this がワークスペースにある限りエディターではクラスプロパティやメソッドをタブ補完できるようになります。
いずれも回避策なので、もしよろしければ機能のリクエストとして下記のリンクからご連絡お願いします。
2 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Software Development Tools についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!