MPS 2020.3 ヘルプ

エディターの指示

MPS でコーディングしている場合、テキストエディターでの通常のコード入力方法と MPS でのコードの編集方法にいくつかの違いがあることに気付くでしょう。MPS では、プロジェクションエディターでコードを入力するときに AST を直接操作します。エディターはテキストの編集のような錯覚を与えますが、それには限界があります。そのため、カーソルを配置できる場所とその位置に入力できるものがわずかに制限されます。信じているように、プロジェクションエディターは多くの分野で大きなメリットをもたらします。慣れる必要がありますが、いくつかのコツを学べば、プレーンテキストエディターの同僚は生産性とコード品質の点ではるかに遅れることになります。一般的に、補完メニューで提案された項目のみを入力できます。MPS は常に、特定の位置で許可される要素と禁止される要素を決定できます。入力したコードが赤い色になったら、トラックから外れていることがわかります。

コード補完

コード補完 Ctrl+Space は、入力したステートメントをすばやく完了することを可能にする良い友達になります。これは、新しいものを入力するデフォルトの方法です。

現在のテキストセルに配置され、先に入力することでさらにフィルタリングできます。キャメルハンプがサポートされているため、長い名前の大文字を入力するだけで、MPS が残りを推測することに注意してください。

補完メニューには、グループ別に分類された 1 から数百までのアイテムが含まれています。そのための階層メニューを定義すると、それらの葉がメニュータイトルと同様に一覧表示されるようにフラットになります。

Ctrl+Space で開きます。フィルタリングするタイプ。矢印キーで項目を選択するか、クリックします。 TabEnter で終了するか、ダブルクリックします。 Escape で中止するか、メニューの外側をクリックするか、別のアプリケーション( Alt など)に変更します。フィルタリングを減らすには、左矢印を押します。最初にジャンプしてすべてのフィルタリングを削除するには、Ctrl+Space をもう一度押します。

インテンション

多くの場合、インテンションと呼ばれる事前定義された半自動化されたプロシージャを使用して、コードを拡張または変更できます。 Alt+Enter を押すと、MPS は、現在の位置のコードに適用可能なオプションを含むポップアップダイアログを表示します。一部のインテンションは、選択したコード領域にのみ適用できます。たとえば、try-catch ブロック内でコードをラップします。これらは囲むインテンションと呼ばれ、目的のコードブロックを選択したら、Ctrl+Alt+T を押して、該当するインテンションのリストを表示します。

表示している要素の定義を確認する必要がある場合は、Ctrl+B または Ctrl + マウスクリックを押して、エディターで要素定義を開きます。画面上の編集可能な位置をすばやくナビゲートするには、Shift+Tab を使用します。 Enter は通常、現在の位置の直後に新しい要素を挿入し、すぐに編集できるようにします。 Insert キーは、現在の位置の直前の位置に対しても同じことを行います。
コードの一部に赤または黄色の下線が引かれ、それぞれエラーまたは警告を示している場合は、エラーの上にマウスを置くか、Ctrl+F1 を押すと、エラーメッセージを含むポップアップを表示できます。

選択範囲

Control/Cmd + Up/Down キーの組み合わせにより、ブロックの選択を増減できます。これにより、AST の有効なサブツリーを常に選択できます。テキストのような選択の通常の Shift + 矢印キー方法も可能です。

調査

要素のタイプをすばやく見つけるには、Alt/Control + X を押して、選択した要素をノードエクスプローラーで開き、AST の適切な部分を調査できるようにします。 Alt+F7 を使用すると、選択した要素の使用箇所を検索できます。要素の継承階層をすばやく視覚化するには、Ctrl+H を使用します。

インスペクタウィンドウ

Alt+2 を押すと、インスペクターウィンドウが開きます。一部のコードとプロパティ(エディタースタイル、マクロなど)は、インスペクターウィンドウ内に表示および編集されるため、ウィンドウを準備しておくことをお勧めします。

最も便利なキーショートカット

ショートカット

アクション

Ctrl+Space

コード補完

Ctrl+B

定義へジャンプ

Alt+Enter

インテンション

Tab

次のセルに移動

Shift+Tab

前のセルに移動

Ctrl+Up
Ctrl+Down

コード選択を拡大 / 縮小する

Shift + 矢印キー

領域を選択

Ctrl+F9

プロジェクトをコンパイル

Shift+F10

現在の設定を実行する

Alt+Shift+F10

キャレットに式のタイプを表示する

Ctrl+Alt+X, P

Node Explorer でキャレットの式を開き、適切なノードとその AST 環境をインスペクションします

Ctrl+H

構造を表示する (継承階層)

Alt+Insert

一般的なコンテキスト新規コマンド - 通常、指定された場所で作成できる要素を含むメニューをポップアップ表示します

Ctrl+Alt+T

囲む...

Ctrl+O

メソッドの上書き

Ctrl+I

メソッドの実装

Ctrl+/

現在のノードをコメント / コメント解除

Ctrl+Shift+/

ブロックコメントのコメント化 / コメント解除 (BaseLanguage でのみ利用可能)

Ctrl+X

現在の行または選択したブロックをバッファにカット

Ctrl+C

現在の行または選択したブロックをバッファにコピーする

Ctrl+Alt+Shift+V

バッファから貼り付ける

Ctrl+Shift+V 履歴から貼り付け (以前にコピーされたすべてのコードブロックをリストするポップアップダイアログを表示します)
Ctrl+Z

元に戻す

Ctrl+Shift+Z

やり直す

Ctrl+D

現在の行または選択したブロックを複製

完全なリスト

MPS キーボードショートカットの完全なリストについては、デフォルトのキーマッ環境設定ページを参照してください(MPS ヘルプメニューからも利用できます)。

関連ページ:

デフォルトのキーマッ環境設定

編集のコア:コード補完状況に応じたインテンションアクションを表示元に戻すやり直しタブ次のセルに移動 Shift + Tab 前のセルに移動一般的な編集:囲む... 現在の行または選択したブロックをバッファにカット現在の行または選択したブロックをバッファにコピーするバッファから貼り付ける現在の行または選択したブロックを複製 Shift + F5 ルートのクローン

IDE の設定

MPS の多くの側面は、設定 / 環境設定ダイアログを介して構成できます。特定の構成アイテムにすばやく移動するには、左上の便利なテキスト検索ボックスを使用できます。フォーカスはデフォルトでテキストフィールドに設定されているため、入力を開始できます。検索が個々の画面に深く入り込んでいることに注意してください。undefined プラグイン:MPS はモジュール式で、いくつかのプラグインがバンドルされています。MPS プラグインマネージャーを開くと、インストールで使用可能なプラグインのリストが表示...

解決方法を見つける

このドキュメントは MPS に関する問題を解決するために何をすべきか、どこを見ればよいかについてステップバイステップのアドバイスを提供するべきです。それは私たち自身の経験を取り入れたパターンと使い方の体系的な集まりです。リフレクションエディター:投影エディターはその性質上、制御された方法でモデルをユーザーに提示します。言語設計者の意図に応じて、言語はユーザからいくつかの情報またはいくつかのノードを隠し、コードを操作するためのいくつかの方法を禁止することがあります。また、ある意味でエディターの定...