IntelliJ IDEA 13.1.0 Web Help

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.

Data Views tab

Item Description
Sort alphabetically Show the nodes in the alphabetical order.
Autoscroll to new local variables Automatically scroll to new variables that appear in the scope when stepping.
Auto tooltips for values Select or clear the check box to enable or disable showing tooltips for values.

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

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


String s = "Hello, World!
                  \n
                  Hello, 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!
                  \n
                  Hello, World!"
                        

with the line break shown as \n.

If the Auto tooltips for values 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 the option is off, to show or hide such a tooltip, you should press the Alt key.

Value tooltips delay Specify the delay in milliseconds between the moment when the mouse pointer hovers over an object in the Variables pane, and the moment when a tooltip with the object's value is displayed.
Show declared type Enable showing declared type.
Show synthetic fields Enable showing synthetic fields (automatically generated by the Java compiler).
Show object id Enable showing object IDs.
Show static fields Enable showing static fields.
Show static final fields Enable showing static final fields.
Array start/end index Define the range of array elements to be shown.
Show maximum <number> array elements Define the maximum number of array elements to be shown.

This and the previous setting depend on one another. For example, if the range is 0-100 and the maximum number of elements is 50, IntelliJ IDEA will show elements 0 to 25 and 75 to 99 omitting those in between.

Hide null array elements If selected, the null array elements are omitted.
Enable auto expressions in Variables view The auto expressions mentioned in this option work like this:

The debugger analyzes the context near the breakpoint (the current statement, and one statement before and one after). It does so to find various expressions in the source code (if available) such as, for example, myvar.myfield.

If such expressions don’t contain explicit method invocations, the debugger evaluates the expressions and adds the corresponding values to the debugger tree view (shown in the Variables pane) assuming that these values may be of interest.

In languages such as Groovy, just by looking at an expression, it’s not possible to conclude whether any methods are invoked when evaluating the expression. And such method invocations often cause unwanted side effects. So you may want to turn this option off when debugging Groovy code.

Enable alternative view for Collection classes Present Collections and Maps in a more convenient form.
Enable toString() object view In this group you can select classes if you need them and their descendants to be presented as a result of the toString() method call while debugging.
For all classes that override toString() method Show all classes as toString().
For classes from the list Define the list of classes to be shown as toString(), using the Add Class, Add Pattern and the Remove buttons. Use the check boxes next to the class names to temporarily enable or disable particular filters.
Add class Add a class to the list using the Choose Class dialog.
Add pattern Add a custom class filter using the New Filter dialog. To define a filter, enter a string pattern e.g., *.Test, javax.swing.*, etc.
Remove Remove a file or filter from the list.

Data 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 add.

Item Description
add Add Add a new rendering scheme to the list.
delete Remove Remove the selected scheme from the list.
copy Copy Clone the selected scheme.
arrowUp Move Up

arrowDown Move Down

Move the selected item up or down in the list.

The order of items in the list defines which renderer is used when class inheritance is ambiguous.

Renderer name Edit or view name of the selected renderer.
Apply renderer to objects of type Define the type of objects to be affected by the renderer. Type the fully qualified name of the object, or click the ellipsis button and choose the desired type from the list in the Renderer Reference Type dialog.
When rendering a node This option determines how the object is displayed in the debugger:
  • Use default renderer: Select this option to display the node in a default IntelliJ IDEA way.
  • Use following expression: Type in the java expression you want to use to identify the object. You can use object's properties, constants, and even string math as part of your renderer.

    Tip

    When defining expressions, you can use IntelliJ IDEA's code-completion features to help you (Ctrl+SpaceCtrl+SpaceCtrl+SpaceCtrl+SpaceAlt+SlashCtrl+SpaceCtrl+SpaceCtrl+Space or Ctrl+Back SlashCtrl+SpaceControl SpaceControl SpaceControl Space). All method calls and member variable access is relative to the object you're rendering. Use this to refer to the instance, to which the renderer is applied.

    Warning

    • Using heavy expressions in renderers may slow down data rendering in views.
    • Method calls should be used with caution because of possible side-effects.
When expanding a node Define how the children information is presented.

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

  • Use default renderer: information for the selected node children is presented in a default way.
  • Use expression: enter a Java expression to calculate information to be presented for the node.

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

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

Tip

When defining expressions, you can use IntelliJ IDEA's code-completion features to help you (Ctrl+SpaceCtrl+SpaceCtrl+SpaceCtrl+SpaceAlt+SlashCtrl+SpaceCtrl+SpaceCtrl+Space or Ctrl+Back SlashCtrl+SpaceControl SpaceControl SpaceControl Space). All method calls and member variable access is relative to the object you're rendering.

Add / Remove Use these buttons to add and remove the expressions.
Move Up / Move Down Use these buttons to change the order of items in the list.

See Also

Procedures:

Reference:

Web Resources: