MPS 2024.3 の新機能

MPS 2024.3 では UI の改善と多数のコンポーネント内部の改良が行われ、バイナリ対応の TextGen が導入されています。また、アイコンのサポート強化や多数のプラットフォーム関連の更新も反映されています。

以下で機能の強化リストを詳しくご覧ください。

Logical View(論理ビュー)のルート

一時的なモデルとチェックポイントモデル用の最上位フォルダー

ProjectView(プロジェクトビュー)ツールウィンドウに最上位フォルダーを 3 つ追加し、プロジェクトの構造表示を分かりやすくしました。

  • プロジェクト名
  • Modules Pool
  • Checkpoints and Transient Models

Checkpoints and Transient Models フォルダーは常に Modules Pool の下に表示され、一時的またはチェックポイントモデルがない場合は空になります。これらのモデルは以前のように最上位ではなく、このフォルダーの下に表示されます。

新しい Checkpoints and Transient Models フォルダーを実装した結果、ProjectView(プロジェクトビュー)ツールウィンドウのプロジェクト構造でサブツリーの展開と折りたたみの状態が MPS を再起動した後も維持されるようになりました。

プレビュータブの有効化

Enable Preview Tab(プレビュータブの有効化)オプション

IntelliJ Platform が提供する以下の Preview Tab(プレビュータブ)の有効化/無効化オプションが MPS でも考慮されるようになったため、他の JetBrains ツールのエディターと確実に同じ動作をするようになりました。

  • Settings(設定)| Editor(エディター)| General(一般)| Editor Tabs(エディターのタブ)| Opening Policy(開くポリシー)| Enable Preview Tab(プレビュータブの有効化)
  • Logical View(論理ビュー)| Behavior(動作)| Enable Preview Tab(プレビュータブの有効化)
ツールチップのダイアログデザインの更新 2

launchtests: レポートディレクトリのパスのオプション

ビルドスクリプトtest configuration の options セクションに reports dir オプションが追加されました。ユーザーは生成された JUnit テストレポートが格納される出力ディレクトリを指定できます。

Inspector(インスペクター)

クイックフィックスの適用条件の制御

新しい applicable というセクションがクイックフィックスの定義に追加され、クイックフィックスの適用を制御できるようになりました。デフォルト値は <always> で、無制限の適用が保証されます。

アイコンの処理

モジュールの相対パスを使用するアイコンと画像を生成する際、それらが個々の使用箇所の横にコピーされなくなりました。代わりにそれらを画像ファイルとして配布モジュールにいったんコピーし、その場所のみで使用できるようにしました。この変更には直接的なメリットが 2 つあります。画像ファイルの重複を回避してディスクの空き容量を節約できることと、配布物とソースモジュールの両方から画像にアクセスできることです。

定数のアイコン

定数のアイコン

既存の TextIconFileIcon の概念に加えて、新しい ConstantFieldIcon 概念を使用できるようになりました。これにより、javax.swing.Icon のインスタンスを保持する具体的な static フィールド宣言への参照を使用してアイコンを指定できます。

TextGen のバイナリ出力

アイコンファイルの処理に対する改善要望があったため、テキスト生成プロセスでテキストの代わりにバイナリ出力を生成する新しい仕組みを追加しました。新しい API は、データを byte[] のインスタンスとして直接操作する write 操作で構成されています。

ProjectComponent から移行されたツールウィンドウ

Inspector(インスペクター)、HierarchyView(階層ビュー)、Usages(使用箇所)などのすべてのツールウィンドウが改良され、以前から非推奨となっていた IntelliJ Platform のプロジェクトコンポーネント(ProjectComponent)の仕組みに従わなくなりました。 API への変更は最小限ですが、一部のツールウィンドウについてはコードからの取得方法が変更されています。

  • Project.getComponent() メソッドはどのツールウィンドウも返さなくなりました。
  • MPS ツール概念として実装されているツールは com.intellij.openapi.project.Project.tool <ToolConcept> を使用して取得できます。
  • Java からよく使用されるツールには、以下の静的な getInstance() メソッドが備わっています。
    • UsagesViewTool.getInstance()
    • InspectorTool.getInstance()
  • Inspector(インスペクター)ツールは従来通り、EditorContext.inspectorTool() からも使用できます。

IntelliJ Platform のコンポーネントとサービス

ツールウィンドウに加えて、MPS の主な機能のほとんどが改良され、IntelliJ IDEA の ApplicationComponentProjectComponent を使用しなくなりました。

MPS は完全なアプリケーションを作成するために IntelliJ Platform ファシリティに大きく依存していました。現在ではほとんどの既存コンポーネントが最近の MPS または IntelliJ IDEA API(IntelliJ IDEA の アプリケーション/プロジェクトサービスと拡張ポイント、MPS の CoreComponents と拡張機能など)を使用するようにリファクタリングされています。依然として残っているコンポーネントもいくつかありますが、MPS チームは次のリリースでそれらを完全に廃止する予定です。

ほとんどのユーザーは起動時間が短縮されたこと以外の変化には気づかないと思われます。

コードで古い検索メカニズムが使用されているためにプラットフォームコンポーネントの場所を特定できない場合は、移行ガイドをお読みください。

新しい UI への切り替え

MPS が新しい UI を使用するようになりました。古いバージョンの UI は Classic UI plugin をインストールすると有効化できます。

多数のバグ修正

これまで通り、このビルドでは多数のバグが修正されています。解決済みのすべての課題はこちらに掲載しています。

プラットフォーム関連の更新

JBR21 への移行

現在、JetBrains Runtime 17(JBR17)から JetBrains Runtime 21(JBR21)への移行が進められています。 IntelliJ IDEA 2024.2 からは IDE のすべてのアップデートに JBR21 が使用され、高度なセキュリティとパフォーマンス、および Linux での Wayland レンダリングサポートが提供されます。

新規ユーザーを対象にプロキシ設定の自動検出をデフォルトで有効化

IntelliJ IDEA がユーザーのマシンで構成されているシステムのプロキシ設定を自動的に検出してデフォルトで使用するようになりました。これにより、外部リソースやサービスとの連携が円滑になります。

Customize Main Toolbar(メインツールバーのカスタマイズ)ダイアログの改善

Customize Main Toolbar(メインツールバーのカスタマイズ)ダイアログのレイアウトと UI 要素の動作を改良したことにより、より直感的で整然としたデザインになりました。メインツールバーでより簡単にアクションの検索、追加、および削除を行えるようになりました。

デフォルトのタブ数上限の引き上げ

エディター内におけるデフォルトのタブの上限数を 30 に引き上げました。これにより、開いたままにできるタブの数を増やせるようになりました(ただし、最終使用時間が最も古いタブは IDE によって閉じられます)。この設定は、Settings(設定)| <0>Editor(エディター)| <0>General(一般)| <0>Editor Tabs(エディタータブ)で制御できます。

Markdown ファイルでの数学構文のサポート

IntelliJ IDEA で Markdown ファイルの数式をネイティブにレンダリングできるようになりました。 Markdown を使用する際は $ を使用してインライン数式を挿入し、$$ を使用して数学コンテンツを含むコードブロックを挿入できます。

Version Control(バージョン管理)ウィジェット内のタグ

Version Control(バージョン管理)ウィジェット内にタグ専用のノードを実装し、タグを簡単に確認できるようにしました。このノードはデフォルトで表示されますが、歯車アイコンをクリックし、Show Tags(タグを表示する)オプションをオフにすると非表示にできます。

Log(ログ)ツールウィンドウのユーザーエクスペリエンス改善

Log(ログ)ツールウィンドウに関連するすべての設定が専用の設定ページにまとめられました。Settings(設定)/Preferences(環境設定)| Version Control(バージョン管理)| Log(ログ)から、または Log(ログ)ツールウィンドウのツールバーにある新しいドロップダウンメニューからアクセスできます。

ようこそ」画面のブランチ名

「ようこそ」画面にブランチ名が表示されるようになりました。複数のプロジェクトバージョンを扱う場合でも混乱することなく、作業ディレクトリを簡単に切り替えることができます。

Graph Options(グラフオプション)の新しい First Parent(最初の親)および No Merges(マージなし)

新しい Git オプションを追加してブランチの履歴を簡単に参照できるようにしました。 First Parent(最初の親)オプションを使用すると、個々のコミットをマージから非表示にしてメインラインの変更に集中することができます。また、No Merges(マージなし)オプションを使用すると、マージコミットを完全に除外できます。ブランチの変更を追跡しやすくするため、どちらのオプションも Git ツールウィンドウの Graph Options(グラフオプション)アイコンの下に配置されています。

新しいターミナルの改善
ベータ

新しいターミナルでは、コマンド処理の強化と UI の位置合わせの向上により、よりスムーズで直感的なエクスペリエンスを得られるようになりました。ターミナルの応答性が高まり、プロンプトをより素早く処理できるようになっています。ワークフローが中断しないようにタブ全体で一貫した状態が維持されるようになったため、セッションの切り替えも円滑です。自動補完はコマンド名、フラグ、およびパスにより素早くアクセスできるようになったため、手動による入力量が削減されます。また、プロンプトのスタイル、セッション名、環境変数など、追加のカスタマイズオプションも導入されたため、ターミナル環境をより細かく制御できます。

移行ガイド

各メジャーリリースでは、旧バージョンの MPS から円滑に移行するための手順が用意されています。必要な手順をよく確認してください。