(Difference between revisions)
(Test Results)
(Test Results)
Line 38: Line 38:
Reuses tabs per checkout (VCS root).
Reuses tabs per checkout (VCS root).
===Test Results===
====Test Results====
Reuses tab per project.
Reuses tab per project.

Revision as of 15:16, 23 February 2012

Date: 23 FEB 2012 Author: Petr Somol, Ralph Ruijs



Open in New Tab option allowing to choose between reusing whole window area and auto-creation of tabs
With Open in New Tab checked, a new tab is created inside host window to accomodate new output
With Open in New Tab unchecked, each new output replaces the previous one (alternatively appends to the previous if applicable) to fill completely the host window area

An inconsistency has been identified in internal tab creation behavior inside windows that by default reside under the main editor area (Search Results, Usages, Output...). Bugzilla issue 208638 points out that Find Usages reuses the Usages window by default, although before 7.1 it produced new tab under the Usages window for each find. Other similar windows, however, follow a different convention. To summarize (please add other cases not listed):

Search Results

Each search creates new tab. There is no way to request tab reuse.


Each Find Usages call by default reuses the whole area of the Usages window. Tab creation can be requested by a checkbox Open in New Tab in Find Usages dialog. The checkbox state is persistent across sessions. The default value is unchecked.


Complicated. Each IDE feature which writes to the Output Window has its own logic for handling reuse (if any); there is no system for reusing tabs across features.

Ant Builds

By default, reuses its area whenever possible (repeated builds, repeated runs, runs + tests). Creates tabs when necessary for parallel builds. But user may uncheck "Reuse Output Tabs from Finished Processes" in Ant settings.

Maven Builds

Like Ant's default behavior, reuses tabs from finished builds.

XML Validation



Reuses tabs per checkout (VCS root).

Test Results

Reuses tab per project.

New tab for results from a Hudson build.


Database and Java EE servers, ...?

Refactor - Inspect and Transform...

First call uses the whole Refactor window area, subsequent calls open tabs. Reuse can not be requested. Note that it multiple Inspect and Transform.. sessions open at once may be actually incorrect - please review.


It is clear that consistency can and should be improved with respect to tab creation inside these windows. However, it is also clear that this must be done with caution as the variety of windows is such that "one solution may not fit all".

Proposed Solution

Promote more widely the option to choose between auto-tab creation and window area reuse. This can be meaningfully accomplished in windows:

Search Results

Add to dialog Find in Projects the checkbox Open in New Tab. Changing the checkbox state would change the behavior persistently.


Remain as it is now in 7.1. (default state to be decided)

Other windows

(Please review all that may apply.)

Whenever possible, add the Open in New Tab option as suggested for Find in Projects. Changing the checkbox state would change the behavior persistently.

TBD where such UI would be for tabs opened from some UI gesture which is not the OK or Finish button in a dialog or wizard: builds, XML validation, etc.


  • option to save vertical space, valuable with the current proliferance of wide-screen LCDs
  • option to keep working with the keyboard, user needs to use a mouse to close tabs in some cases
    • though Output Window tabs can be closed via KB: Ctrl-4 to focus, Ctrl-PageUp/Dn to cycle, Ctrl-F4 to close
  • consistency


  • users not aware of Open in New Tab control may get confused, because tab creation is generally expected


  1. With respect to possible user confusion it should be considered whether to set Open in New Tab in all relevant cases to true. This would result in default behavior being the same as before.
  2. If the user disables Open in New Tab while already having tabs opened, then the output is redirected to reuse the last focused tab.

(comments to be reflected in the proposal above)

Comment by Vladimir V.:

Even in case of 'reuse' mode => each tab still can be set as "sticked" which prevents it from reusing:

  • it is important sometimes when user prepared Find Usages query and then start to refactor code and it's impossible to "refresh" Fins Usages without lost of information, due to not yet compilable code.
  • or user want to keep results of one slow "Find", while reuse other tabs for Finds and safe space

In fact with general support from window system, approach can be simplified to the following:

  • In case of global "reuse" make visible "pin" pressing on which file became non-reusable.
  • In case of global "no reuse" always create new tab.

Comment by Jarda H.:

What about adding action like "Pin" (or "Keep") to Output Window Tab context menu? It could be used generally whenever users want to prevent a particular output from being erased and reused.

Question is whether it is more useful or confusing.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo