MPS 2020.2の新機能

MPS 2020.2 では VCS の外観が更新され、クイックフィックスのテスト、Generation Plans の機能強化、その他さまざまな改善が行われています。

VCS の UI 改善

VCS の UI 改善

バージョン管理システムの外観を改善しました。 エディター領域の幅が固定されなくなったため、分割線を両方向に動かせるようになりました。 変更のハイライト方法も改善されました。 変更のツールチップがエディター領域と分割線領域の両方に表示されるようになりました。 また、分割線領域の三角形と台形をギザギザのないポリゴンに置き換えました。

VCS のルートとノードの履歴を改善

VCS のルートとノードの履歴を改善

VCS の既存の "Show Root History" アクションでは、常に正しい結果が表示されるとは限りませんでした。 この修正によってソースファイルの代わりにモデルが比較されるようになり、常に有効な出力結果を取得できるようになりました。 また、ルートノードに限らず任意のノードの履歴を表示できるようになり

VCS での新しい変更タイプ

VCS での新しい変更タイプ

MOS が BaseLanguage モデルの参照不可能な部分を構造的に比較/マージできるようになりました。 参照ターゲットではない任意の BaseLanguage コンセプト(BlockStatementForStatement など)の場合、MPS の比較/マージアルゴリズムはノードの ID を無視し、代わりに実際のノード構造を比較します。 これにより、MPS ユーザーがマージエラーの原因となる構造的に同一の変更に悩まされるのを防ぐことができます。

詳細情報

次の兄弟を選択

Shift+左/右矢印キーを使用して複数の兄弟ノードを選択できるようになりました。 このショートカットは、メソッドのパラメーター、配列リテラルの値、またはステートメントの兄弟に使用できます。

エディターのテストケースでのクイックフィックスのテスト

エディターのテスト言語が ApplyQuickFix コンセプトで拡張されました。 これは、インテンションをテストしているかのようにテストケースのコードセクションで使用できます。 選択したノードで使用できるクイックフィックスを実行するか、実行する具体的なクイックフィックスを明示的に選択することができます。

特定のフィックス

選択したノードで使用できるフィックス:

カラースキームスイッチャーとフォント設定

カラースキームスイッチャーとフォント設定

IDE のテーマを変更せずにエディターのカラースキームを切り替えられるようになりました。 また、IDE のテーマやカラースキームを切り替える際、変更を反映させるために IDE を再起動する必要はなくなりました。

詳細情報

Generation Plans の機能強化

Generation Plans の機能強化

'Show Generation Plan' アクションは、モデルの変換に関連する正確な手順を理解するのに役立つリソースを提供します。 また、変換手順のほか、このアクションは生成計画の出処(カスタムモジュールファセットや devkit など)を識別し、その名前と生成計画ノードのリンクを提供します。

詳細情報

ビルド言語の改善

ビルド言語の改善

idea branding(BuildMps_Branding)のバージョン部分にマクロを使用できるようになりました。 ${version.major} / ${version.minor} / ${version.bugfixNr} / ${version.eap} マクロが MPS ビルドスクリプトに追加されました。 旧バージョンの書式は引き続き使用できますが、非推奨です。 ビルドスクリプトで新バージョンに切り替えるには、「Convert deprecated branding version to the new format」インテンションを使用してください。

その他の改善

GitHub プルリクエストの完全サポート

GitHub プルリクエストの完全サポート

プルリクエストの詳細をワンクリックで独立したツールウィンドウに表示できるようになりました。 メインのエディターウィンドウに会話が表示され、コメントをそこで直接追加できます。 プルリクエストを管理する権限がある場合は、プルリクエストの閲覧 / 割り当て / 管理 / マージ、コメントの表示と送信、変更の承認を IDE 内で直接行えるようになりました。

Git 操作ダイアログの改善

Git 操作ダイアログの改善

このリリースでは Merge / Pull / Rebase ダイアログを改修して外観を統一しました。 また、実行予定の Git コマンドを明確に識別できるようにダイアログを改修し、不足していた一部のオプションを含めました。 さらに、--rebase と --no-verify を Pull ダイアログと Merge ダイアログにそれぞれ追加しました。

ログからローカルコミットを squash / drop

ログからローカルコミットを squash / drop

ローカルブランチから複数のコミットを選択し、それらに対して squash を実行できるようになりました。 Git ツールウィンドウで Log タブを開き、ローカルコミットを選択して Squash Commits を選択します。 コミットメッセージを変更すると、そのコミット内のすべての変更が更新されたメッセージと共に単一のコミットにまとめられます。 さらに、Git ログからコミットを drop(削除)できるようになりました。

Compare Branches アクションの結果表示を改善

MPS 2020.2 で 2 つのブランチを比較する際は、エディター内で各ブランチのログが開かれて単一のビューにすべてのコミットが表示されます。 VCS ツールウィンドウとは対照的に、このビューには各ブランチのコミットと影響を受けたファイルの詳細なレポートを表示できるだけのスペースがあります。

認証

GitHub の認証をまもなく非推奨になり、機能しなくなるパスワードベースのシステムから OAuth に切り替えました。