エディターの指示
MPS でコーディングしている場合、テキストエディターでの通常のコード入力方法と MPS でのコードの編集方法にいくつかの違いがあることに気付くでしょう。MPS では、プロジェクションエディターでコードを入力するときに AST を直接操作します。エディターはテキストの編集のような錯覚を与えますが、それには限界があります。そのため、カーソルを配置できる場所とその位置に入力できるものがわずかに制限されます。信じているように、プロジェクションエディターは多くの分野で大きなメリットをもたらします。慣れる必要がありますが、いくつかのコツを学べば、プレーンテキストエディターの同僚は生産性とコード品質の点ではるかに遅れることになります。一般的に、補完メニューで提案された項目のみを入力できます。MPS は常に、特定の位置で許可される要素と禁止される要素を決定できます。入力したコードが赤い色になったら、トラックから外れていることがわかります。
コード補完
コード補完 Ctrl+Space は、入力したステートメントをすばやく完了することを可能にする良い友達になります。これは、新しいものを入力するデフォルトの方法です。
現在のテキストセルに配置されており、先に入力することでさらにフィルターをかけることができます。CamelHumps がサポートされていることを忘れないでください。長い名前の大文字をタイプすることだけを必要とし、MPS はあなたのために残りを推測するでしょう。
補完メニューには、グループ別に分類された 1 から数百までのアイテムが含まれています。そのための階層メニューを定義すると、それらの葉がメニュータイトルと同様に一覧表示されるようにフラットになります。
Ctrl+Space で開きます。入力してフィルタリングします。矢印キーでアイテムを選択するか、クリックします。 Tab , Enter で終了するか、ダブルクリックします。 Escape で中止し、メニューの外側をクリックするか、別のアプリケーション(たとえば Alt )に変更します。フィルタリングを減らすには、左矢印を押します。最初にジャンプしてすべてのフィルタリングを削除するには、Ctrl+Space をもう一度押します。
インテンション
インテンションと呼ばれる定義済みの半自動化された手順を使用して、コードを拡張または変更することができます。 Alt+Enter を押すと、MPS は現在の位置のコードに適用可能なオプションを含むポップアップダイアログを表示します。一部のインテンションは、たとえば try-catch ブロック内でコードをラップするなど、選択したコード領域にのみ適用できます。これらは囲むインテンションと呼ばれ、目的のコードブロックを選択したら、Ctrl+Alt+T を押して該当するインテンションのリストを表示します。
ナビゲーション
見ている要素の定義を見る必要があるときはいつでも、Ctrl+B または Ctrl + マウスクリックを押して、エディターで要素定義を開きます。画面上の編集可能な位置をすばやくナビゲートするには、Shift+Tab を使用します。 Enter は通常、現在の位置の直後に新しい要素を挿入し、すぐに編集できるようにします。 Insert キーは、現在の位置の直前の位置に対して同じことを行います。
コードの一部に赤または黄色の下線が付けられ、それぞれエラーまたは警告を示している場合、エラーの上にマウスを置くか、Ctrl+F1 を押すと、エラーメッセージを含むポップアップを表示できます。
選択範囲
Ctrl+Up / Ctrl+Down キーの組み合わせにより、ブロック選択を増減できます。常に AST の有効なサブツリーを選択するようにします。テキストのような選択の通常の Shift + 矢印キーの方法も可能です。
調査
要素のタイプをすばやく見つけるには、N/A を押すと、ノードエクスプローラーで選択した要素が開き、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 | 現在の設定を実行する |
N/A | キャレットに式のタイプを表示する |
N/A | Node Explorer でキャレットの式を開き、適切なノードとその AST 環境をインスペクションします |
Ctrl+H | 構造を表示する (継承階層) |
Alt+Insert | 一般的なコンテキスト新規コマンド - 通常、指定された場所で作成できる要素を含むメニューをポップアップ表示します |
Ctrl+Alt+T | 囲む... |
Ctrl+O | メソッドの上書き |
Ctrl+I | メソッドの実装 |
Ctrl+/ | 現在のノードをコメント / コメント解除 |
Ctrl+Shift+/ | ブロックコメントのコメント化 / コメント解除 (BaseLanguage でのみ利用可能) |
Ctrl+X | 現在の行または選択したブロックをバッファにカット |
Ctrl+C | 現在の行または選択したブロックをバッファにコピーする |
Ctrl+Shift+Alt+V | バッファから貼り付ける |
Ctrl+Shift+V | 履歴から貼り付け (以前にコピーされたすべてのコードブロックをリストするポップアップダイアログを表示します) |
Ctrl+Z | 元に戻す |
Ctrl+Shift+Z | やり直す |
Ctrl+D | 現在の行または選択したブロックを複製 |
完全なリスト
MPS キーボードショートカットの完全なリストについては、デフォルトのキーマッ環境設定ページを参照してください(MPS ヘルプメニューからも利用できます)。
関連ページ:

デフォルトのキーマッ環境設定
編集のコア :コード補完状況に応じたインテンションアクションを表示元に戻すやり直しタブ次のセルに移動Shift + Tab前のセルに移動一般的な編集 :

IDE の設定
設定 / 環境設定ダイアログ を介して、MPS の多くの側面を構成できます。特定の構成アイテムにすばやく移動するには、左上の便利なテキスト検索ボックスを使用できます。フォーカスはデフォルトでテキストフィールドに設定されているため、入力を開始できます。検索が個々の画面に深く入り込んでいることに注意して...

解決方法を見つける
このドキュメントは MPS に関する問題を解決するために何をすべきか、どこを見ればよいかについてステップバイステップのアドバイスを提供するべきです。それは私たち自身の経験を取り入れたパターンと使い方の体系的な集まりです。リフレクションエディター投影エディターはその性質上、制御された方法でモデルをユー...