MPS 2020.3 ヘルプ

コンテキストアクションツール

コンテキストアクションツールは一部の DSL ユーザーのマウスナビゲーションへの好みに対応しています。指定されたコンテキストで適用可能なアクションが、階層的に整理されたサイドバーに一覧表示されます。

一般的な動作は、1 回のクリックでアクティブになるカーソル位置で何かをすることです。コンテキストアクションツールは、このコンテキストでどのようなことが実行可能かを明確に伝えるため、探索的な作業を発見するのに最適です。

Cat2

ツールウィンドウでオプションを選択することによって、ユーザーは関連するアクションを起動します。これは通常、現在のフォーカスの代わりにモデルを変更します。

ウィンドウはエディターに依存しない位置にあり、アクションの階層メニューを含みます。メニューが 1 つのレベルより深い場合は、メニュー名を / 区切り記号(たとえば Toplevel / SecondlevelA / ThirdlevelA )で連結することによって、より深いレベルが最上位階層に折りたたまれます。undefined

サイドバーの内容は、新しい変換メニュー言語を通じて言語設計者によって指定されます。

Cat1

この言語は、メニューのモジュール化とそれらの簡単な再利用をサポートしているため、スーパーコンセプトまたはサブコンセプトのメニューを組み合わせるのは非常に簡単です。jetbrains.mps.editor.contextActionsTool.lang.menus 言語をインポートすると、アクション、グループ、その他の関連要素のコンテキストアクションツールの 場所を指定できるようになります。この言語では、特定のエントリのアイコンツールチップを指定することもできます。

実際の言語構文の詳細については、変換メニュー言語のページを参照してください。

関連ページ:

変換メニュー言語

概要:変換メニュー言語は、エディターのさまざまな場所に表示されるサブメニューとアクションの階層構造を記述する変換メニューを定義するために使用されます。現在、変換メニューが表示される可能性のある場所がいくつかあります。サイド変換メニュー、代替メニュー、コンテキストアシスタント、およびコンテキストアクションツールです。言語設計者とプラグイン作成者は、変換メニュー言語の拡張に記載されているように、追加の場所を定義し、場所ごとに必須またはオプションの機能(アイコンやツールチップなど)を指定できます。メ

コンテキストアシスタント

MPS は、コンテキストでアクションを実行するためのいくつかのメカニズムを提供する: 完了、インテンション、リファクタリング、その他のさまざまなポップアップメニュー: これらのメカニズムには、経験の浅い新しいユーザーにはすぐには表示されないという共通点があります。また、通常、多くの可能な選択肢を提供し、利用可能な機能全体を明らかにします。これは、上級ユーザーには役立ちますが、初心者を圧倒する可能性があります。DSL でスクリプトを作成するプロセスを通じて新しいユーザーをより適切にガイドするために...