スクリプト
スクリプトアスペクトを使用すると、モデルへの変更をバッチで実行できます。使用可能なスクリプトは、ツール -> スクリプトメニューに表示されます。
スクリプトには 2 つのタイプがあります。
拡張 - 指定した基準に基づいてモデルに変更を加えます
移行 - 言語バージョン間の移行に使用されていた非推奨のタイプ。言語の移行がこの機能を処理するようになったため、移行スクリプトは使用できなくなりました。
スクリプトを定義するには、ご使用の言語でスクリプトアスペクトを作成してから、拡張スクリプトを作成します。
名前と説明的なタイトルを付けます。
次に、1 つ以上のアップデーターを指定します。それらにはいくつかの種類があります。
コンセプトインスタンスアップデーター
「コンセプトインスタンスアップデータ」を使用すると、クエリを指定して関心のあるノードを取得し、見つかったインスタンスを更新するコードを提供できます。
「インテンションとして表示」フラグ
クエリを満たすノードのすぐ横にあるエディターのインテンションメニューでスクリプトを提供します。
ファクトリメソッドアップデーター
このアップデーターは、BaseLanguage のフィルタリングおよび拡張機能を実装する AbstractMigrationRefactoring クラスのインスタンスを返すことになっているファクトリメソッドを呼び出します。
インターフェースアップデーターの抽出
クラスのメソッドへの参照を別のクラスまたはインターフェースのメソッドに置き換える場合、extract interface updater が役立ちます。
現在のターゲットクラスと目的のターゲットクラスの両方を指定し、「プルアップメソッド」ステートメントで、どのメソッドを変更し、何を変更するかの参照を指定します。
関連ページ:
VCS マージヒント
VCS マージ言語の側面:VCS マージヒントを定義する VCS マージアスペクト言語アスペクトは、ノード、その子、参照、プロパティのマージ競合を自動的に解決するための戦略を定義します。これは通常、ダイアグラムの座標など、ビジネス以外の値に役立ちます。私たちや彼らの戦略は、選択された要素に適用するかどうかを指定することができます。要素に対して戦略が選択されていない場合、マージの競合が発生した場合、手動で解決されます。フィードバックスクリプト...
付属品
アクセサーリーモデルは、言語の側面(推奨)として、またはソリューションでの通常のモデルとして、2 つの場所に保存できます。どちらの場合も、モデルを使用できるように、モデルを言語ランタイム言語設定に追加する必要があります。典型的なユースケースは、言語が使用される任意の場所で利用できるコンセプトインスタンスのデフォルトライブラリです。サンプル:入門図形チュートリアルの一部として作成され、サンプルプロジェクトとして MPS ディストリビューションにバンドルされている図形サンプルプロジェクトを変更して...