4D-JUG
Would you like to react to this message? Create an account in a few clicks or log in to continue.

【小技】デザインモードのキーボードショートカット「Control+L」の意味

Go down

【小技】デザインモードのキーボードショートカット「Control+L」の意味 Empty 【小技】デザインモードのキーボードショートカット「Control+L」の意味

投稿 by miyako 2016-12-06, 11:36 am

v11以降,デベロッパーにとって馴染みの深かったデザインモードのキーボードショートカットが変更されています。

メソッド(旧称プロシージャー)にジャンプする操作は,Control+Pではなく,Control+Kになりました。

フォーム(旧称レイアウト)にジャンプするときも,Control+Kを入力します。Control+Lではありません。




4Dのキーボードショートカットは,アプリケーションのResourcesフォルダー内にあるShortcuts.xmlファイルの中に記述されています。

メソッドエディター内から「フォームにジャンプ」「メソッドにジャンプ」「テーブルにジャンプ」するのは,いずれも「定義を開く」というアクションであり,Control+Kというショートカットが割り当てられています。

Code:
<shortcut name="MethodGotoDefinition" command="true" letter="K"/>

一方,旧ショートカットである,Control+PとControl+Lには,それぞれ「行番号を指定して移動」「印刷」というアクションが割り当てられています。

Code:
<shortcut name="MethodGotoLine" command="true" letter="L"/>
<shortcut name="Print" letter="P"/>

しかし,よくみると「フォームを開く」というファイルメニュー項目もあり,こちらにはControl+Lが設定されています。

Code:
<shortcut name="OpenForm" letter="L"/>

それで,メソッドエディター内で「行番号を指定して移動」ができないときに限り,旧ショートカットであるControl+Lでフォームが開けることがあります。

とはいえ,ほとんどの場合,「行番号を指定して移動」のほうが優先されるはずです。




「定義を開く(Control+K)」は,汎用的な操作で,メソッドエディター内のカーソルの位置(範囲選択は不要)に基づき,下記いずれかのアクションを実行するというものです。


  1. コマンドであればドキュメントを開く
  2. テーブルまたはフィールドであればストラクチャエディターを開く
  3. メソッドであればメソッドエディターを開く
  4. フォームであればフォームエディターを開く

カーソル前後の文脈で判断するので,フォームを開くために,テーブルやフォーム名全体を範囲選択する必要はありません。

一方,ファイルメニューの「フォームを開く」は,限定的な操作で,テーブルやフォーム名全体を範囲選択しなければ何も起きません。

旧ショートカットであるControl+Lでフォームが開けることがあるかもしれませんが,それは偶然であり,フォームつまり「定義を開く」の正しいショートカットはControl+Kである,ということに留意する必要があります。




デザインモードのキーボードショートカットは,カスタマイズすることができます。

環境設定 > ショートカット

ダイアログ上でショートカット設定を変更すると,下記の場所にカスタマイズされたキーボードショットカット設定ファイルが作成されます。

Code:
{Get 4D folder}/4D Shortcuts v15.xml
{Get 4D folder}/4D Shortcuts v16.xml

ダイアログ上で「初期設定」ボタンをクリックすると,上記ファイルが削除され,アプリケーションのデフォルト設定に戻ります。

ファイルを外部エディター等で編集した場合,アプリケーションを再起動することが必要です。

miyako

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

トップに戻る Go down

トップに戻る


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