【小技】多重Case ofのハイライトと開閉

前のトピックを表示 次のトピックを表示 Go down

【小技】多重Case ofのハイライトと開閉

投稿 by miyako on 2016-09-15, 12:39 pm

If~End ifやCase of~End caseなど,ブロックを構成する条件分岐や繰り返し命令が多重的に記述されていると,特定の階層だけを開きたい,あるいは閉じたいことがあるかもしれません。

メソッドエディターには,標準で「ブロックを選択」というアクションが用意されています。

http://doc.4d.com/4Dv15R5/4D/15-R5/Writing-a-method.300-2964291.ja.html

ブロックを選択: Control/command+B

加えて「選択部を折りたたむ/展開する」「現在のレベルを折りたたむ/展開する」といったアクションもあるのですが,こちらはデフォルトでショートカットが設定されていません。

なので,環境設定で好みのショートカットを設定することをお勧めします。

http://doc.4d.com/4Dv15R5/4D/15-R5/Shortcuts-Page.300-2964086.ja.html

たとえば,こんなコンビネーションが設定できるかもしれません。

選択部を折りたたむ: Control/command+⇦
選択部を展開する: Control/command+⇨



- 下の階層も含め,現在の階層をすべて展開する

1. ブロックを選択: Control/command+B
2. 選択部を展開する: Control/command+⇨

- 同一階層のブロックをすべてたたむ

1. ブロックの先頭(Case ofであれば,コロンで始まる行)に移動: 「Control/command+⇧」
2. ブロックを選択: Control/command+B
3. 選択部を折りたたむ: Control/command+⇦

合わせ技

- 同一階層の他のブロックをすべてたたみ,下の階層も含め,現在の階層をすべて展開する

1. ブロックの先頭(Case ofであれば,コロンで始まる行)に移動: 「Control/command+⇧」
2. ブロックを選択: Control/command+B
3. 選択部を折りたたむ: Control/command+⇦
4. 目的のブロックにカーソルを移動
5. 選択部を展開する: Control/command+⇨
6. ブロック内部にカーソルを移動
7. ブロックを選択: Control/command+B
8. 選択部を展開する: Control/command+⇨

「現在のレベルを・・・」も組み合わせば,手数は減ると思うのですが,かえって操作が複雑になるかもしれません。

miyako

投稿数 : 204
登録日 : 2016/07/05

トップに戻る Go down

Re: 【小技】多重Case ofのハイライトと開閉

投稿 by hosaka on 2016-11-22, 10:05 am

さっき気がついたのですが、メソッドエディタのトグル部分をoptionキーを押しながらClickすると、下の階層ごと開いたり閉じたりできる様になっているみたいです。 Very Happy
これは便利です。どのバージョンからかと調べてみたのですがv15からみたいです。便利な機能はおしらせしてほしいです。
avatar
hosaka

投稿数 : 47
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

Re: 【小技】多重Case ofのハイライトと開閉

投稿 by miyako on 2016-11-22, 12:17 pm

v14でも効くみたいですね pig

http://doc.4d.com/4Dv15/4D/15.3/Writing-a-method.300-3162752.ja.html

optionクリックは,メニューの「現在のレベルを折りたたむ / 現在のレベルを展開する」に相当するということでしょうか。

クリックは,単純に対象ノードの「展開」と「収縮」をトグルしているようで,展開すると下位の階層はクリック直前の状態に戻るようです。

ですから,optionクリックなどで特定の階層がたたまれた状態のときにクリックすれば,その状態に戻りますし,すべてが開かれた状態のときにクリックすれば,その状態に戻ります。クリックしたときに下位の階層がどう展開されるかは,閉じたときに決められるみたいでした。


最終編集者 miyako [ 2016-11-22, 12:18 pm ], 編集回数 1 回

miyako

投稿数 : 204
登録日 : 2016/07/05

トップに戻る Go down

Re: 【小技】多重Case ofのハイライトと開閉

投稿 by hosaka on 2016-11-22, 12:31 pm

miyako wrote:v14でも効くみたいですね pig

http://doc.4d.com/4Dv15/4D/15.3/Writing-a-method.300-3162752.ja.html

optionクリックは,メニューの「現在のレベルを折りたたむ / 現在のレベルを展開する」に相当するということでしょうか。

クリックは,単純に対象ノードの「展開」と「収縮」をトグルしているようで,展開すると下位の階層はクリック直前の状態に戻るようです。

ですから,optionクリックなどで特定の階層がたたまれた状態のときにクリックすれば,その状態に戻りますし,すべてが開かれた状態のときにクリックすれば,その状態に戻ります。クリックしたときに下位の階層がどう展開されるかは,閉じたときに決められるみたいでした。

v14でもどうさしてますか?こちらのバージョンは204588なのですが、このバージョンでは動作しませんでした。このあとのバージョンで改善されたみたいですね。最新が205251なので試してみます。

option+clickで閉じて、option+clickで開くと全部開きます。clickだと下位階層はひらかないままです。閉じた時の状態ではないのではないかと思います。


いろいろ試してみたのですが、
1.case文の「:」のトグルでは動作しない。
 動作してほしいです。

2.if else文ではelseの方はたたまれない。
 ifのトグルでshift+option+cilckで両方閉じる/開くとかできないでしょうか。

改善されると有り難いです。 cheers
avatar
hosaka

投稿数 : 47
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

Re: 【小技】多重Case ofのハイライトと開閉

投稿 by hosaka on 2016-11-22, 1:19 pm

v14.5nb205251で試してみました。動作しました。
ですが動作が微妙です。

case文の一部しか閉じてくれません。こちらも改善してほしいです。
avatar
hosaka

投稿数 : 47
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

Re: 【小技】多重Case ofのハイライトと開閉

投稿 by hosaka on 2017-01-12, 12:22 pm

ちょっと間が開きましたが、このoptionキーをおしらながらの動作ですが、正式な機能として捉えてよいのでしょうか?
avatar
hosaka

投稿数 : 47
登録日 : 2016/07/04
所在地 : 大阪

トップに戻る Go down

Re: 【小技】多重Case ofのハイライトと開閉

投稿 by Sponsored content


Sponsored content


トップに戻る Go down

前のトピックを表示 次のトピックを表示 トップに戻る


 
Permissions in this forum:
返信投稿: 不可