MPS 2019.2ヘルプ

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 : 〜/ライブラリー/アプリケーションのサポート/ Idea_version /またはIDEA_HOME / plugins

zipファイルにはいくつかのMPSプラグインが含まれていますが、そのうち3つが不可欠です。

  • mps-core - コアMPS機能を保持

  • mps-java - BaseLanguageとその拡張機能を有効にする

  • mps-vcs - IntelliJ IDEAでMPSモデルのためのVCSを可能にする

インストール後、プラグインディレクトリーは次のようになります。

Plug1

再起動すると、MPSと主要な言語セットをIntelliJ IDEA内で使用できるようになります。

MPSをオン/オフにする

IntelliJ IDEAのプラグインマネージャーに、いくつかのMPSプラグインがリストされているはずです。これらのプラグインは、必要に応じてオンとオフを切り替えることができます。

Plug2

IntelliJ IDEA内でBaseLanguageを試す

IntelliJ IDEAプロジェクトに対してMPSファセットを有効にすることができます。

Iplug3

ファセットにはいくつかの設定ポイントがありますが、最初の実験ではデフォルト設定を使用することをお勧めします。

Plug3

プロジェクトのモジュールにMPSファセットを追加すると、プロジェクト・ビューモデルノードが作成され、MPSモデルを作成できるようになります。そうでない場合は、ソースタブで作成してください。

Plug4

それをモデルフォルダーとしてマークする必要があります。( モデルフォルダーの隣のアイコンは青に変わるはずです):

Plug5

最後のステップは、modelsフォルダーをモジュールのソースディレクトリーとしてマークすることです。

Plug6

MPSモデルで遊ぶ

MPSファセットが構成され、ソース・フォルダーと同様にモデルとマークされた1つ以上のモデルルートがあれば、その中にモデルを作成することができます。

plug7

新しいモデルを作成するときは、その名前を指定して、新しいモデルを作成ダイアログから利用可能なモデル種類の1つを選択する必要があります。

plug8

この場合の各モデル種類は、モデル用に事前構成された使用済み言語のセットを表します。これは、プロジェクト・ビュー内のモデルノードでF4またはAlt+Enterを押すことによって、モデル特性ダイアログを通していつでも手動で使用言語のリストを調整することを可能にする便利な省略形です。種類のリストは現在これら2つのオプションのみを含む(EmptyとJava)、しかし将来のリリースで設定可能になるでしょう。

モデルを右クリックすると、インポートされたモデルと使用言語が表示されます。

plug9

MPSモデルでは、MPS自体と同じ方法でインポート言語から新しいノードを作成できます。プロジェクト・ビュー内のモデルノードはMPSモデルの内容を表し、MPSと同様にjavaパッケージに似ています。その中にモデル要素(Roots)を作成することができます。

plug10

新しいMPSモデルを作成したときと同様に、各ルート要素に名前と種類を付けます。これは、そのMPS コンセプトを意味します。

plug11

ルートノードはプロジェクト・ビューに表示され、IntelliJ IDEAで他のリソースやファイルがどのように見えるかと非常によく似ています。ルートノードの投影エディターは、ルートノードをダブルクリックするかF4を押すことで開くことができます。

plug12

コード生成

MPSモデルのコードプロセスは、IntelliJ IDEAの作成/再構築プロジェクトアクションに関連付けられているため、自動的にトリガーされます。
生成されたソースコードをどこに格納するかを設定することが可能です。これはMPSファセット設定ダイアログを通して設定されます。選ぶことができる3つのオプションがあります:

  • 生成されたコードはメモリ内にのみ残ります。それはコンパイルプロセスの間だけ利用可能で、ディスクに全く保存されることは決してありません。

  • それはこのモジュールの設定されたソースフォルダーに保存することができます

  • ディスク上の任意の場所に保存できます

3 SetGeneratorOutputPath

言語プラグインをインストールする

おそらくIntelliJ IDEAの中で独自の言語を試すのを待つことができません: 必要なのは私達が以前にコアのプラグインを解凍したのと同じIntelliJ IDEAのpluginsフォルダーにプラグインのzipファイルを解凍することです:

Iplug6

さらに、プラグインの多くはIntelliJ IDEAプラグインリポジトリ(英語)を通して共有されているため、IDEAのプラグインマネージャーを通して快適にダウンロードすることができます。

IntelliJ IDEAを再起動した後、使用される言語のリストにプラグインを通して来たあなたの言語を追加することができるでしょう:

plug14

これはあなたのカスタム言語がIntelliJ IDEAの中で使用できるようにするのに十分なはずです。

ランタイムライブラリーを追加する

言語は通常他の言語や解決策への実行時の依存関係があります。これらは通常、プラグインのzipファイル内にjarファイルとしてバンドルされていますが、モジュール依存関係としてIntelliJ IDEAにインポートする必要があります。MPSファセットでは、ランタイム依存の言語を追加すると自動的にそれが行われます。

plug15

JavaとBaseLanguageの間の相互運用性

MPS IDEAプラグインは、MPSコードを他のJavaプロジェクトに密接に統合します。MPSコードはIDEAの構築と作成にシームレスに参加します。JavaとBaseLanguageの間の使用箇所や定義にクロスナビゲートでき、リファクタリングにはすべてのソースが正しく含まれます。

JavaコードからBaseLanguageへの変換

MPSを使用すると、JavaコードをBaseLanguageにすばやく変換してMPSモデルに移行することができます。目的のJavaパッケージを右クリックしてJavaをMPSに変換するを選択します。

Convert

MPS設定オプション

MPS自体と同様に、MPSプラグインは設定ダイアログを使用して設定およびカスタマイズできます。ダイアログはメニュー、ツールバー、またはキーボードショートカット(Ctrl + Alt + S / Cmd +)から呼び出すことができます。MPSは、IntelliJ IDEAの設定ダイアログにいくつかの設定画面を追加しました。これにより、MPSの動作のいくつかの側面を設定できます。


EditorConfig

StyleConfig

ジェネレータを設定する

また、IDEAコンパイラ設定の外部ビルドを使用するフラグがオフになっていることを確認する必要があります。そうしないと、プロジェクトを再構築できません。

genImg2

最終更新日: 2019年8月30日