8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【RubyKaigi2023】Ruby対応されたDebug Visualizerを試してみた

Last updated at Posted at 2023-05-12

この記事は何

RubyKaigi2023 2日目のセッションの内容を自分でも試してみた記事になります!
セッションはこちらになります!

こちらで紹介されていたDebug Visualizerを実際に使えるようにする方法を書いていきます。

Debug Visualizerとは

Visual Studio Code(以下VS Code)の拡張機能になります。

テーブル形式だけではなく、グラフなどいろいろなビジュアライゼーションの方法が提供されているのが特徴に感じます。

こちらの拡張機能ですが、昨年の11月にRuby Debug Gemと組み合わせることで、Rubyにも対応されました:tada:

使い方

筆者はRuby3.2の環境で実際に試しています。

Gemのインストール

debugと、debugvisualizerをインストールします。
Gemfileに下記を記載して、bundle installを実行します。

Gemfile
# frozen_string_literal: true

source "https://rubygems.org"

gem "debug"
gem "debugvisualizer"

.rbファイルの作成

雑にapp.rbを書きます。
Integer、Array、Hashのデータを用意して、これを表示するようにしてみます。

app.rb
# frozen_string_literal: true

NUM = 5

num_array = [2, 3, 5, 1, 4]

test_hash = [
  { id: 1, name: 'taro' },
  { id: 2, name: 'jiro' },
  { id: 3, name: 'saburo' },
  { id: 3, name: 'shiro' },
]

puts 'Hello, World'

VS Codeの拡張機能のインストール

2つの拡張機能をインストールします。

これで利用のための準備は整いました。

Debug Visualizer を使ってみる

  • ブレークポイントを設定し、debuggerを起動する

スクリーンショット 2023-05-13 0.46.03.png

  • Debug Visualizerを表示する
    • コマンドパレットから、> Debug Visualizer: New View を選択する

下記のような画面がVS Codeの右半分くらいに表示されます。

スクリーンショット 2023-05-13 0.45.44.png

  • 変数の値をVisualizeしてみる

入力ウィンドウに変数名/定数名を入力することで、その変数の値を表示することができます。

Integer、定数も表示できる

スクリーンショット 2023-05-13 0.49.23.png

Arrayはデフォルトで、線形で表示されます。

スクリーンショット 2023-05-13 0.50.20.png

Hashの場合は、テーブルの形で表示されます。
Debug Visualizerの方で、ソートしたり、表示する順番を変えることができます。
Filterなどは、自分の環境では動かすことができませんでした...

スクリーンショット 2023-05-13 0.57.23.png

セッションのデモでは、ActiveRecordで取得した値をテーブル形式でvisualizeするなども行っていました。

終わりに

実際にセッションで紹介された、debug-visualizerを触ってみました。
データがvisualiseされるので、とてもわかりやすくて面白いですね。
Ruby以外にもさまざまな言語で適用することができるので、プログラミングを始めたばかりの方などは使ってみると理解しやすくなるのかなと思いました。

Railsのアプリケーションにも組み込んだりして、もっと試してみたいなと思います。
また、同セッションでは、ruby-debug拡張機能のTrace Inspectorという機能がメインで紹介されていました。
こちらも便利だなと思ったので、試して記事にしたいと思います!

8
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?