IntelliJ IDEA 内で MPS を使用する
このドキュメントでは、IntelliJ IDEA 内で MPS 言語を使用する方法を説明します。このトピックを網羅するスクリーンキャスト(英語)をチェックアウトするのを好むかもしれません。
メモ: IntelliJ があることを確認してください インストールされています。Community と Ultimate エディションの両方が機能します
MPS コア IntelliJ IDEA プラグインを入手
MPS ダウンロードページ(英語)から MPS IntelliJ IDEA プラグインをダウンロードするか、IntelliJ IDEA のプラグインマネージャーを使用して直接インストールしてください。手動でインストールする場合は、ダウンロードしたプラグインの zip ファイルを IDEA のプラグインフォルダーに解凍する必要があります。
Windows および Linux: 通常 USER_HOME/IDEA_version/config/plugins または IDEA_HOME / plugins
MacOS: ~/Library/Application Support/Idea_version/ または IDEA_HOME / plugins
zip ファイルにはいくつかの MPS プラグインが含まれていますが、そのうち 3 つが不可欠です。
mps-core - コア MPS 機能を保持
mps-java - BaseLanguage とその拡張機能を有効にします
mps-vcs - IntelliJ IDEA で MPS モデルのための VCS を可能にします
インストール後、プラグインディレクトリは次のようになります。
再起動すると、MPS と主要な言語セットを IntelliJ IDEA 内で使用できるようになります。
MPS をオン / オフにする
IntelliJ IDEA のプラグインマネージャーに、いくつかの MPS プラグインがリストされているはずです。これらのプラグインは、必要に応じてオンとオフを切り替えることができます。
IntelliJ IDEA 内で BaseLanguage を試す
IntelliJ IDEA プロジェクトに対して MPS ファセットを有効にすることができます。
ファセットにはいくつかの設定ポイントがありますが、最初の実験ではデフォルト設定を使用することをお勧めします。
プロジェクトのモジュールに MPS ファセットを追加すると、プロジェクトビューにモデルノードが作成され、MPS モデルを作成できるようになります。そうでない場合は、ソースタブで作成してください。
それをモデルフォルダーとしてマークする必要があります(モデルフォルダーの隣のアイコンは青に変わるはずです):
最後のステップは、models フォルダーをモジュールのソースディレクトリとしてマークすることです。
MPS モデルで遊ぶ
MPS ファセットが構成され、ソースフォルダーと同様にモデルとマークされた 1 つ以上のモデルルートがあれば、その中にモデルを作成することができます。
新しいモデルを作成するときは、その名前を指定して、新しいモデルを作成ダイアログから利用可能なモデル種類の 1 つを選択する必要があります。
この場合の各モデル種類は、モデルに使用される事前構成済みの言語セットを表します。これは便利な省略形であり、プロジェクトビュー内のモデルノードで F4 または Alt+Enter を押すことにより、モデル特性ダイアログからいつでも手動で使用言語のリストを調整できます。種類のリストには現在、これら 2 つのオプションのみが含まれるように設定されています。(空および Java)ですが、将来のリリースで構成可能になる予定です。
モデルを右クリックすると、インポートされたモデルと使用言語が表示されます。
MPS モデルでは、MPS 自体と同じ方法でインポート言語から新しいノードを作成できます。プロジェクトビュー内のモデルノードは MPS モデルの内容を表し、MPS と同様に java パッケージに似ています。その中にモデル要素(Roots)を作成することができます。
新しい MPS モデルを作成したときと同様に、各ルート要素に名前と種類を付けます。これは、その MPS コンセプトを意味します。
ルートノードはプロジェクトビューに表示され、IntelliJ IDEA で他のリソースやファイルがどのように見えるかと非常によく似ています。ルートノードの投影エディターは、ルートノードをダブルクリックするか F4 を押すことで開くことができます。
コード生成
MPS モデルのコードプロセスは、IntelliJ IDEA の作成 / 再構築プロジェクトアクションに関連付けられているため、自動的にトリガーされます。
生成されたソースコードをどこに格納するかを設定することが可能です。これは MPS ファセット設定ダイアログを通して設定されます。選ぶことができる 3 つのオプションがあります:
生成されたコードはメモリ内にのみ残ります。それはコンパイルプロセスの間だけ利用可能で、ディスクに全く保存されることは決してありません。
それはこのモジュールの設定されたソースフォルダーに保存することができます
ディスク上の任意の場所に保存できます
言語プラグインをインストールする
おそらく IntelliJ IDEA の中で独自の言語を試すのを待つことができません。必要なのは私達が以前にコアのプラグインを解凍したのと同じ IntelliJ IDEA の plugins フォルダーにプラグインの zip ファイルを解凍することです:
さらに、プラグインの多くは IntelliJ IDEA プラグインリポジトリ(英語)を通して共有されているため、IDEA のプラグインマネージャーを通して快適にダウンロードすることができます。
IntelliJ IDEA を再起動した後、使用される言語のリストにプラグインを通して来たあなたの言語を追加することができるでしょう:
これはあなたのカスタム言語が IntelliJ IDEA の中で使用できるようにするのに十分なはずです。
ランタイムライブラリを追加する
言語は通常他の言語や解決策への実行時の依存関係があります。これらは通常、プラグインの zip ファイル内に jar ファイルとしてバンドルされていますが、モジュール依存関係として IntelliJ IDEA にインポートする必要があります。MPS ファセットでは、ランタイム依存の言語を追加すると自動的にそれが行われます。
Java と BaseLanguage の間の相互運用性
MPS IDEA プラグインは、MPS コードを他の Java プロジェクトに密接に統合します。MPS コードは IDEA の構築と作成にシームレスに参加します。Java と BaseLanguage の間の使用箇所や定義にクロスナビゲートでき、リファクタリングにはすべてのソースが正しく含まれます。
Java コードから BaseLanguage への変換
MPS は、Java コードを BaseLanguage にすばやく変換し、MPS モデルに移行するための便利なオプションを提供します。目的の Java パッケージを右クリックして、Java を MPS に変換するを選択するだけです。
MPS 設定オプション
MPS 自体と同様に、MPS プラグインは、メニュー、ツールバー、またはキーボードショートカット Ctrl+Shift+Alt+S を使用して呼び出すことができる設定ダイアログを使用して構成およびカスタマイズできます。MPS は、IntelliJ IDEA の設定ダイアログにいくつかの構成画面を追加しました。これにより、MPS の動作のいくつかの側面を構成できます。
ジェネレーターを設定する
また、IDEA コンパイラー設定の外部ビルドを使用するフラグがオフになっていることを確認する必要があります。そうしないと、プロジェクトを再構築できません。
関連ページ:

IntelliJ IDEA 言語プラグインの構築
それで、一連の言語を作成しました、IntelliJ IDEA の中の Java 開発者に利用可能にしたいです。この文書では、おそらくそれらが依存するランタイムと共に、一連の言語を有効な IntelliJ IDEA プラグインにパッケージする方法を見ていきます。ビデオが好きですか?それならIntell...

MPS 言語プラグインの構築
MPS のプラグインとして言語を配布することは、IntelliJ IDEA のパッケージ言語と非常によく似ています。2 つの重要な違いがありますが、IntelliJ IDEA 言語プラグインの構築と同じ手順に従ってください。添付のスクリーンショットでわかるように、ビルドスクリプトはmps に依存する...