RubyMine 2024.3 Help

Customize views

During a debugging session, RubyMine shows you information about your variables, types, threads, frames, and more. However, you may want to focus on specific runtime details and have the data filtered or rendered in a specific format. In this scenario, RubyMine lets you customize the how the debugger's output appears Debug tool window and the editor.

Customize data view

RubyMine allows you to configure which information about the variables you want to get.

Unless explicitly specified, these preferences apply to all the places where the variable values are displayed (the Variables tab, inline values view, tooltips, and so on).

Sort variables alphabetically

If required, you can enforce alphabetic ordering for items in the Variables tab.

  1. Press Ctrl+Alt+S to open settings and then select Settings | Build, Execution, Deployment | Debugger | Data Views.

  2. Select the Sort Variables Alphabetically option.

Configure automatic expression evaluation

The debugger analyzes the statement at the breakpoint and its nearest surrounding statements to find various expressions in the source code, such as myvar.myfield.

If they don't contain explicit method invocations, the debugger evaluates them and shows the corresponding values in the Variables view.

To disable automatic evaluation of expressions:

  1. Press Ctrl+Alt+S to open settings and then select Settings | Build, Execution, Deployment | Debugger | Data Views.

  2. Clear the Enable auto expressions in Variables view option.

Custom type renderers

RubyMine allows you to provide a custom display format for various types. This can be achieved by using renderers. A renderer is a special expression associated with a particular type, which controls how the instances of this type are displayed during a debugging session.

Renderers support all types including primitives and arrays. Also, renderers disregard all access modifiers, so you can access any field irrespective of whether it is encapsulated.

Renderers are particularly useful when you are working with custom collections, whose contents aren't easily readable, and you need to identify their contents at a glance.

Add a renderer

  1. Right-click anywhere in the Variables tab and select Customize data views.

  2. Apply the changes and preview the updates in the Debug tool window and the editor.

  3. On the Ruby Type Renderers tab, click Alt+Insert and configure the renderer expression.

    Add Ruby Type Renderers
  4. Apply the changes and review the updated presentation in the Variables tab.

Renderer properties

Item

Description

Renderer name

The name of the renderer. This name is used for managing renderers and doesn't affect how actual data is displayed.

Apply to objects of class (fully-qualified name)

The object type to which this renderer applies. Enter the fully qualified name of the class.

Use the following expression when rendering an instance

Lets you use the return value of an expression for displaying the object.

Remove a renderer

  1. Right-click anywhere in the Variables tab and select Customize data views.

  2. On the Ruby Type Renderers tab, select the renderer that you are going to remove and click Delete. Then, apply the changes.

Mute renderers

You can temporarily disable renderers without removing them altogether:

  • To mute a single renderer, right-click anywhere in the Variables tab and select Customize data views. On the Ruby Type Renderers tab, clear the box against the renderer you are going to mute and apply the changes.

When required, you can unmute the renderers using the same procedure.

Last modified: 13 November 2024