コンテキストアクションツール
コンテキストアクションツールは一部の DSL ユーザーのマウスナビゲーションへの好みに対応しています。指定されたコンテキストで適用可能なアクションが、階層的に整理されたサイドバーに一覧表示されます。
一般的な動作は、キャレットの位置で何かを実行し、シングルクリックでアクティブ化することです。コンテキストアクションツールは、このコンテキストでどのようなことが実行できるかを明確に伝えるため、探索的な作業を発見するのに最適です。
ツールウィンドウでオプションを選択することによって、ユーザーは関連するアクションを起動します。これは通常、現在のフォーカスの代わりにモデルを変更します。
ウィンドウはエディターに依存しない位置にあり、アクションの階層メニューを含みます。メニューが 1 つのレベルより深い場合は、メニュー名を /
区切り記号(たとえば Toplevel / SecondlevelA / ThirdlevelA
)で連結することによって、より深いレベルが最上位階層に折りたたまれます。
サイドバーの内容は、新しい変換メニュー言語を通じて言語設計者によって指定されます。
この言語は、メニューのモジュール化とそれらの簡単な再利用をサポートしているため、スーパーコンセプトまたはサブコンセプトのメニューを組み合わせるのは非常に簡単です。jetbrains.mps.editor.contextActionsTool.lang.menus 言語をインポートすると、アクション、グループ、その他の関連要素のコンテキストアクションツールの場所を指定できるようになります。この言語では、特定のエントリのアイコンとツールチップを指定することもできます。
実際の言語構文の詳細については、変換メニュー言語ページを参照してください。
関連ページ:
変換メニュー言語
概要:変換メニュー言語は、エディターのさまざまな場所に表示されるサブメニューとアクションの階層構造を説明する変換メニューを定義するために使用されます。現在、変換メニューが表示される可能性のある場所はいくつかあります: サイド変換メニュー、代替メニュー、コンテキストアシスタント、およびコンテキストアクションツール。変換メニュー言語の拡張に記載されているように、言語設計者とプラグイン作成者は追加の場所を定義し、場所ごとに必須またはオプションの機能 (アイコンやツールチップなど) を指定できます。メニ...
コンテキストアシスタント
概要:MPS はコンテクストの中でアクションを実行するためのいくつかのメカニズムを提供します: 完了、インテンション、リファクタリング、他の様々なポップアップメニュー。これらのメカニズムには、経験の浅い新規ユーザーにはすぐには見えないという共通点があります。彼らはまた、多くの可能な選択肢を提供し、利用可能な機能全体を明らかにします。これは上級ユーザーを手助けしますが初心者を圧倒するかもしれません。DSL でスクリプトを作成するプロセスを通じて新しいユーザーをより適切にガイドするために、コンテキ...