MPS の新機能

MPS 2018.2の新機能

ジェネレータテスト

既存のノードとエディタのテストファミリに加えて、我々はジェネレータをテストする新しい方法を実装しました。目的は、ジェネレータまたはジェネレータのセットが確実に作業をすることです。インプロセスとアウトプロセスの両方の実行モードがIDEからサポートされ、MPS Antビルドスクリプトからの実行もサポートされています。

生成計画のフォーク

生成計画には新しいステートメントがあります。別の世代を使用してforkを実行すると、ブランチにはある時点での変換シーケンスが計画されます。参照されたプランは、フォークステップにあった状態のモデルを受け取り、通常の変換として処理を進めます。この例では、まず、crossmodel.entityジェネレータを使用して入力モデルを変換し、状態を記録してから、crossmodel.property#prop2classジェネレータを使用して出力モデル#1を取得します。次に、crossmodel.property#prop2xmlジェネレータは、記録されたモデルを変換して、出力モデル#2を取得します。 ブランチが特定の順序で処理されるという約束はありません。ただし、最初の計画のものである「プライマリ」ブランチは、古いものから利用可能な「最初から唯一の」出力モデルを提供します互換性/移行目的でAPI(GenerationStatus#getOutputModel)を使用します。

生成テストにおけるフォーク

Generatorテストは、フォークステートメントを使用して生成プランをサポートし、すべての出力モデルを提供されたリファレンスモデルと照合します。

新しいVCSの側面

新しいVCS言語を導入しました。概念宣言に注釈を書くのではなく、今度はそのための言語面を作成します。アスペクトは特定のランタイムコードに生成されます。 VCSアスペクトがMergeHintsアノテーションを置き換え、移行が含まれています。

GitHubプラグイン

GitHubプラグインが実装されました: あなたはVCS - >バージョンコントロールからのチェックアウト - > Git - > GitHubへのログインからログインできます...

移行通知

移行通知を実装して、何が起こっているかをよりよく伝えるようにしました。プロジェクトが何らかの理由でロードできなかった言語に依存している場合、または移行が延期された場合に通知を受け取ります。