クラス フォルダーを利用してメンバ関数を別ファイルに作成した際に、TAB補完によるメンバ変数、メンバ関数を表示させる方法について
4 views (last 30 days)
Show older comments
Kenichi Tanaka
on 12 Nov 2016
Commented: Kenichi Tanaka
on 14 Nov 2016
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 Comments
Accepted Answer
Jiro Doke
on 14 Nov 2016
操作1に関しては、ドット表記の場合は別ファイルのメソッドに飛んでくれないみたいですが、関数表記だと飛んでくれました。
this.func1() % 飛ばない
func1(this) % 飛ぶ
操作2に関してはでき無そうなので、対処法として一旦ワークスペースでオブジェクトを作成してみてはいかがでしょう。
this = Test()
this がワークスペースにある限りエディターではクラスプロパティやメソッドをタブ補完できるようになります。
いずれも回避策なので、もしよろしければ機能のリクエストとして下記のリンクからご連絡お願いします。
2 Comments
More Answers (0)
See Also
Categories
Find more on Software Development Tools in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!