MPS の新機能

MPS 2019.1の新機能

エディター

クライアントスポンサー

完成品のカスタムスタイルと優先順位

言語デザイナーは、完成メニューの項目のスタイルと優先順位を設定できます。背景とテキストの色、太字と斜体の書式を変更することも、項目を非表示にすることもできます。この機能は実験的なものであり、その設計は将来変更される可能性があります。それについてのさらに学習したい方に。

ジェネレータ言語

新しいVARマクロに導入された自動型推論のサポート

VARマクロは、ジェネレータ言語でマクロごとに複数の変数宣言をサポートするようになりました。上書きされない限り、型は宣言クエリから推測されます。

プラグインのサポート

クライアントスポンサー

マイグレーションAntタスクからMPSプラグインを使用する

プロジェクトを移行するためにプラグインが必要な場合は、これを<migrate> antタスクで指定できます。対応するプラグインは、その依存関係とともに有効になります。私達はまた顧客サポート要求に従って2018.3.5にこの機能を統合しました。

クライアントスポンサー

「ソリューションからコードを実行する」ビルドスクリプト命令でのプラグインデプロイサポート

「ソリューションからコードを実行」命令を使用すると、コードを実行するMPSインスタンスのプラグインを有効にできます。プラグインの依存関係が含まれます。この機能は、クライアントサポート要求に従って2018.3.5にも統合されました。

IDEの改善

カスタムUIテーマを作成する

日に色のタッチを追加してください! IntelliJプラットフォームはこのクールな機能を導入したばかりで、MPSはそれをベースにしているため、IDEのUIテーマもカスタマイズできます。

定義済みの新しいテーマをプラグインとしてインポートするか、IntelliJ IDEAを使用して最初から独自のテーマを作成します。新しいシアンライトのテーマ (英語)ダークパープルのテーマ(英語)をお試しください。

JUnit実行設定はデプロイするプラグインを受け入れます

MPSインスタンスの実行設定と同様に、テスト実行時にデプロイするIntelliJ IDEAプラグインのリストを提供できるようになりました。「起動前」のタスクである「Assemble プラグイン」はJUnitの実行設定でも利用できます。デプロイされているプラグインを自動的に構築し、アーティファクトを設定ディレクトリーにコピーします。

クライアントスポンサー

ProjectPaneでの並べ替え

ProjectPaneツリー内のMPSTreeNodeの子を完全に制御できるChildComparatorProviderコントリビューションを管理するためにTreeNodeSortServiceを追加しました。ユーザは、プラグインのアプリケーションまたはプロジェクト部分からプロバイダを登録/登録解除するようになりました。

受信および発信コミットの表示

IDEは、ブランチポップアップ内の個々のブランチに対して受信および発信のコミットが使用可能かどうかを示します。環境設定/設定 | バージョン管理 | Git で新しいブランチポップアップに送受信のコミットがあるブランチをマークするオプションを有効にするだけです。

BaseLanguage

baseLanguageインターフェースの静的メソッド

MPSは今インターフェースで静的メソッドを作成することを可能にします。

その他

さようならConfluence、こんにちはヘルプセンター!

いつまでも、ConfluenceはMPSドキュメントの本拠地です。今度は成長して私たち自身の場所に移動する時が来ました。ヘルプセンターにすべてのドキュメントを移行しています。ユーザーガイドとFast Track Tutorialはすでにアクセス可能です。今後のリリースでさらにドキュメントが改善される予定です。

スタブメソッドのシグネチャ

メソッドの戻り型は、Javaスタブモデルで作成されたMPSノードIDから削除されます。今後は、Java言語仕様で定義されている真のメソッドシグネチャを使用してメソッドを識別します。戻り値の型がライブラリーの新しいバージョンで変更された場合は、サブモデルからメソッドを参照してすべてのモデルを保存し直す必要はありません。自動移行はすべてのMPSモデルを再保存し、スタブモデルメソッドへのすべての既存の参照を修正します。

「MPSでコンパイル」チェックボックスの新しい意味

モジュールプロパティーの[MPSでコンパイル]チェックボックスが選択されていない場合、これはコードコンパイルを実行するための接続されたIntelliJ IDEAインスタンスがあることを意味しなくなりました。チェックボックスは、「MPSでコンパイルするか、まったくコンパイルしないかのどちらか」と理解することができます。

MPSは自動的に集約言語を表示します

構造的側面は現在、集約によって組み込まれている言語を明示しています(つまり、子ロールで外部概念を使用しています)。集約された言語を使用するモデルにそのような言語を明示的にインポートする必要はなくなり、編集中に自動的に使用されます。