Rider 2024.1から追加されたCollections Visualizerが便利

2024年4月、各種JetBrains IDEのバージョン2024.1がリリースされました。

https://blog.jetbrains.com/ja/blog/2024/04/11/your-jetbrains-coding-tools-are-ready-to-be-updated-to-2024-1/

.NET IDEであるRiderも、魅力的な新機能と共にバージョン2024.1がリリースされています。

https://blog.jetbrains.com/dotnet/2024/04/09/rider-2024-1/

この投稿では、Rider 2024.1で追加されたCollections Visualizerを紹介します。

# Collections Visualizerとは？

Collections Visualizerは、Debug時、配列やリストなどの様々な列挙可能な型のデータを表計算ソフトのようなUIで確認できる機能です。要素の展開と折りたたみやページネーション、並び替え、フィルタリング、グラフへのプロット、様々なフォーマットでの出力も可能です。

公式ドキュメント「Visualize data structures」

https://www.jetbrains.com/help/rider/Visualize_data_structures.html


Rider 2024.1のブログ内の「New features for the debugger」

https://blog.jetbrains.com/dotnet/2024/04/09/rider-2024-1/#new-features-for-the-debugger

# どうやって使うの？

Debugを実行し、Threads & Variablesタブ内の確認したい対象に注目します。今回は下図の変数「enemies」の中身をCollections Visualizerで確認してみましょう。次の図中赤枠線で囲ったenemiesの右にある「Explore」というボタンをクリックします。

![スクリーンショット 2024-04-15 21.16.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/4ed01d83-a137-4e1a-7705-b0f910a1076b.png)

注） 公式ドキュメントだと「Explore」でなく「View」になっています。↑の図はMac版のJetBrains Rider 2024.1のスクリーンショットです。

すると、次の図のようなCollections Visualizerが開きます。

![スクリーンショット 2024-04-15 21.18.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/e8dc0d26-1c09-d6a7-daa9-101eae098829.png)

注） Window名はCollection View

# 操作いろいろ

Collections Visualizerの操作やできることを簡単に紹介します。

次の図赤線枠で囲った部分により表示数の変更したり、次ページ・前ページへの送りができます。

![スクリーンショット 2024-04-15 21.27.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/67f76a6c-a1a1-c49b-aad6-079b427308ae.png)

---

次の図の赤線枠で囲った部分にラムダ式を記述して、行をフィルタリングできます。

![スクリーンショット 2024-04-15 21.29.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/4b889d51-507e-2513-9ea8-222e09c7aaf8.png)

---

次の図、赤枠線で囲ったような列名をタップすることで、指定列による並び替えができます。

![スクリーンショット 2024-04-15 21.31.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/b1210273-ddc8-336b-4c47-7c9f43b63c90.png)


---

タブを切り替えて、行の中身やセルの中身を異なる形式で確認することができます。

次の図は、.NET Valueタブ。

![スクリーンショット 2024-04-15 21.32.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/c248f5c0-09b5-2d80-18b8-25eafe3efc8b.png)

次の図は、Recordタブ。

![スクリーンショット 2024-04-15 21.32.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/e3564548-805f-5256-287c-145e1168f813.png)

---

次の図中の赤枠線で囲ったボタンを押すと

![スクリーンショット 2024-04-15 21.09.07のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/9f5afb5f-b9c0-21cc-1eca-84b4ab5c3866.png)

次のようにグラフ表示ができます。

![スクリーンショット 2024-04-15 21.26.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/94ab0b90-9cde-07bc-d4a3-69898ccae5bc.png)

---

次の図中の赤枠線で囲ったボタンを押すと、Export Data Windowを開きます。

![スクリーンショット 2024-04-15 21.09.07のコピー.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/2fc2fda8-4c95-d6eb-b2ff-920c28aa323b.png)

Export Data Windowでは、CSVやTSVをはじめ、様々なフォーマットでファイルを保存したり、クリップボードに保存したりできます。

![スクリーンショット 2024-04-15 21.08.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4125/e5be12cd-0da5-97bb-c587-f424913c399e.png)

# まとめ

Collections Visualzerにより、量が多いコレクションを確認する際のデバッグが捗りそうですね。