MPS 2019.1ヘルプ

道を見つける

このドキュメントはMPSに関する問題を解決するために何をすべきか、どこを見ればよいかについてステップバイステップのアドバイスを提供するべきです。それは私たち自身の経験を取り入れたパターンと使い方の体系的な集まりです。

リフレクションエディター

投影エディターはその性質上、制御された方法でモデルをユーザーに提示します。言語設計者の意図に応じて、言語はユーザからいくつかの情報またはいくつかのノードを隠し、コードを操作するためのいくつかの方法を禁止することがあります。また、ある意味でエディターの定義が壊れていたり不完全だったりすると、エディターはユーザが望む方法でコードを修正することをユーザに許可しないかもしれません。リフレクションエディターは、言語エディターを抑制し、代わりにデフォルトのツリーのような形式でモデルを表示する手段を提供します。このようにして、開発者はモデルへの完全かつ直接的なアクセスを持ちます。

Ref1
Ref2

F5はエディターを通常の状態に戻します。

ノードエクスプローラー

Control + Xキーボードショートカットを使用すると、エディターで選択されているコードを表すASTを視覚化することができます。

Exp1

ノードの種類を確認する

見ている要素の種類を知ることはあなたに非常に役に立つインサイトを与えるかもしれません。必要なのはControl + Shift + Tを押すことだけで、MPSはcarretの要素のタイプでダイアログウィンドウをポップアップするでしょう。

Type

carretのノードの概念を確認してください

Control + Shift + S/Cmd + Shift + Sキーボードショートカットを使用すると、現在見ているノードまたは選択したノードの概念を定義できます。

carretのノードのエディターを確認してください

Control + Shift + E/Cmd + Shift + Eキーボードショートカットを使用すると、現在見ている概念または選択した概念に対応するエディターの定義にアクセスできます。概念の具体的な構文とそれがあなたに与えるすべてのオプションに慣れたいなら、これは特に役に立つかもしれません。

GTE

型システムトレース

型に関する課題に遭遇したとき、型システムトレースツールは型がどのように計算されているかについてのインサイトをあなたに与えるでしょう、それで課題の根本を発見するのを手助けすることができました。型システムデバッグで詳細をチェックしてください。

構造を調べる

新しい言語を学んでいるとき、その言語の構造的な側面はほとんどの場合調査を始めるのに最も良い場所です。概念を簡単にナビゲートして使用方法を検索するためのショートカットは確かに便利です。

GoTo

Control + B / Cmd + B(定義へ移動)、Control + N / Cmd + N(概念へ移動)、、Ctrl + Shift + S / Cmd + Shift + S(概念宣言への移動)、Alt + F7(使用方法の検索)に慣れ親しみましょう。
GoToConcept

近道を覚える前に、ナビゲートメニューでそれらのほとんどを見つけることができます。
NavigateMenu

要素をインポートする

You are trying to use an element or a language feature, however, MPS doesn't recognize the language construct or doesn't offer that element in the code completion dialog. So you cannot update your code the way you want. This is a simptom of a typical beginer's problem - missing imports and used languages.

  • 言語から言語構成要素を使用するには、その言語が使用言語にリストされている必要があります。

  • モデルから要素を入力できるようにするには、最初にモデルをインポートする必要があります。

  • また、あなたの言語が他の言語の機能を強化するためには、その言語が拡張言語の中にリストされていなければなりません。

Prop1

To quickly and conveniently add models or languages to the lists, you may use a couple of handly keyboard shortcuts in addition to the プロパティー dialog:
ModelShortcuts

過渡モデルを保存

ジェネレータからエラーが発生した場合は、過渡モデルを保存機能をオンにすることを検討してください。これはあなたのインスペクションのためのコード生成のすべての中間段階を保存します。

TransientOnOff

Transient

一体なぜこのエラーや警告が出ますか?

Warning Report

MPSがコードの一部に不満を持っているのを見、その理由を知りたいです。Control + Alt + Click / Cmd + Alt + Clickを使用して詳細を含むダイアログを開きます。

Warning Dialog

ルールへボタンはエラー/警告を引き起こすルールにあなたを導きます。

最終更新日: 2019年7月5日