IntelliJ IDEA 2018.2 Help

Customize Data Views

Debug tool window | Variables tab | context menu | Customize Data Views


Use this dialog to configure the debugger data view options. Note that the same settings can be alternatively configured on the Debugger page in the Settings dialog.

Java tab

Item

Description

Autoscroll to new local variables

Select this option to automatically scroll to new variables that appear in the scope when stepping.

Show value tooltip

Select this option to enable automatic display of tooltips for values.

A tooltip in this context is a pop-up that provides an alternative, sometimes a more convenient presentation of values in the Variables pane of the Debug Tool Window.

To illustrate, let's assume that there is a statement like this in your code:


String s = "Hello, World!\nHello, World!";

When this statement is executed in the debugger, you'll see a line looking similar to this in the Variables pane:


s = {java.lang.String@62} "Hello, World!\nHello, World!"

with the line break shown as\n.

If the Show value tooltip option is on and you click this line and then hold the mouse pointer on it, you’ll see a yellow area (the "tooltip") in which the value of s is shown as

Hello, World!
Hello, World!

with a real line break in place of\n.

If this option is disabled, press Alt to display a value.

Show

In this section, select which elements you want the Debugger to display:
  • Declared type

  • Synthetic fields

  • $val fields as local variables

  • Fully qualified names

  • Object id

  • Static fields

  • Static final fields

Show hex value for primitives

Select this option if you want numeric variables to be displayed in the hexadecimal format.

Hide null array elements

Select this option if you want null array elements to be omitted.

Enable alternative view for Collection classes

Select this option to display collections and maps in a more convenient format.

Enable toString() object view

In this section, you can select classes if you need them and their descendants to be presented as a result of the toString() method call while debugging. Use the following controls:
  • For all classes that override toString() method: select this option to show all classes as toString().

  • For classes from the list: populate the list of classes to be shown as toString(), using the icons toolbarDecorator addClass, icons toolbarDecorator addPattern and the icons general remove svg buttons. Use the checkboxes next to the class names to temporarily enable or disable particular filters.

  • icons toolbarDecorator addClass: click this button to add a class to the list using the Choose Class dialog.

  • icons toolbarDecorator addPattern: click this button to add a custom class filter using the New Filter dialog. To define a filter, enter a string pattern, e.g. *.Test, javax.swing.*, etc.

  • icons general remove svg: click this button to remove a filter from the list.

Java Type Renderers tab

On this tab, you can create and customize rendering schemes for data presentation in the debugger Frame view.

If no rendering scheme is currently defined, start by clicking icons general add svg.

Item

Description

icons general add svg

Click this icon to add a new rendering scheme to the list.

icons general remove svg

Click this icon to remove the selected scheme from the list.

icons actions copy svg

Click this icon to create a copy of the selected scheme.

icons actions previousOccurence svgicons actions nextOccurence svgClick these icons to move the selected item one line up or down in the list.

Note that the order determines which renderer is used in case of ambiguity stemming of class inheritance.

Renderer name

Specify the name of a new renderer, or edit an existing renderer name.

Apply renderer to objects of type (fully-qualified name)

Specify the object type that will be represented by this renderer. Enter a fully qualified object name, or click Browse browseButton and choose the desired type from the list in the Renderer Reference Type dialog.

When rendering a node

This option determines how an object is displayed in the debugger when nodes are collapsed:
  • Show type and object id: if cleared, types are shown without class information or id.

  • Use default renderer: select this option to display the node in the default way.

  • Use following expression: enter the Java expression you want to use to identify an object. You can use object properties, constants, and even a string math as part of your renderer.

    Note that you can use code completion (Ctrl+Space) when defining expressions.

    All method calls and member variable access are relative to the object you're rendering. Use this to refer to an instance to which the renderer applies.

When expanding a node

This option determines how an object is displayed in the debugger when nodes are expanded.

Normally, expanding a node in the debugger lists the object's member variables (using the renderer appropriate for the corresponding object types). This option lets you override this behavior and select a single expression or a series of expressions to be displayed. You may use this to limit the amount of information displayed, or to be more precise in how the information is presented.

  • Use default renderer: select this option to display the node children in the default way.

  • Use following expression: enter the Java expression you want to use to identify an object.

    Test if a node can be expanded (optional): enter a Boolean expression. If it is true, the renderer displays expandable nodes for the defined objects. Otherwise, no nodes are displayed.

  • Use list of expressions: create a list of separate expressions to be calculated and presented as node children. Use:

    icons general add svg (Alt+Insert) to create a new expression.

    icons general remove svg (Alt+Delete) to remove the selected expression from the list.

    icons actions previousOccurence svg (Alt+Up) to move the selected expression one line up in the list.

    icons actions nextOccurence svg (Alt+Down) to move the selected expression one line down in the list.

If you select the checkbox in the On-demand column next to a renderer, the evaluation of this expression will be done on demand. Simply click this expression when you need to evaluate it in the Variables, Watches or other view instead of having it evaluated automatically.

Append default children

Select this checkbox to add default children to the list of expressions. This checkbox is only available when the checkbox Use list of expressions is selected.

Last modified: 20 November 2018

See Also

Reference: