LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
Darren

Improved Window Management While Debugging

Status: New

While debugging LabVIEW, we often have many VI windows open. It can sometimes be difficult to manage these windows, especially once the debugging session is over. I think we can improve this situation greatly with a minor change to the All Windows dialog. This dialog (launched from the 'Window' pull-down or by pressing Ctrl-Shift-W) currently shows a list of all LabVIEW windows that are currently open:

allw.png

There are several columns of information describing all the open windows, and the list is sortable by clicking a column header. You can multi-select in the list and click 'Close Window(s)' to close multiple windows at once.

 

Idea: If we add a "Time Opened" column that lists time stamps of when the windows were first opened, it would be easy to sort by that column, then close all the windows that were opened during a span of time, i.e. while debugging. 

 

While we're at it, there are several other usability enhancements that could be made to this dialog that seem to be low-hanging fruit:

  • Make the window a non-modal floater, with the list dynamically updating as windows open and close.
  • Add a 'Minimize Window(s)' button.
  • Give useful key navigation to the 'Close Window(s)' button (and any other buttons we may add).

I know there are other ideas about making debugging easier (don't show panels, etc.). I'm scoping this idea to improvements we can make specifically to the All Windows dialog to make debugging easier.

8 Comments
wiebe@CARYA
Knight of NI

How about making the MC listbox a treecontrol? Then group (recursively) by project (app. instance), library and class. Removing the Application Instance column instance is optional...

 

That would make the tool usable even if you have 60+ VI open. Of course close\show should work on a parent tree item.

Cloedu72
Member

I think the idea with Trees is great. I can well imagine that this implementation fully covers the problem!

CLA / CTD
wiebe@CARYA
Knight of NI

I'm not sure how the tree would work with a sort on a column. That seems pretty useful as well.

 

Maybe we'd need a switch between tree and list?

Petru_Tarabuta
Member
  1. I support the primary idea: adding a "Time Opened" column. It will significantly improve my experience with the "All Windows" dialog.
  2.  I support the three secondary ideas in the "While we're at it" section of Darren's post. Each would be a useful addition.
  3.  I support Wiebe's ideas of being able to view items as a tree (grouping/minimising by lvlib would be useful to me) and of having a switch to switch between MC listbox and tree views. I would be happy if the tree view has no sorting capability.
  4. I would find useful a button whose Boolean text is "Close most recently opened VI". When pressed, the FP and BD of the most recent VI would close. The button should be enabled only when there is at least one VI that's been opened, otherwise should be Disabled and Greyed Out. After a debugging session where we explored subVIs of subVIs of subVIs, pressing the button several times in a row would bring us back to the surface.
dgdgomez
Member

I think there are many ideas, which in one way or another, aim to improve the debugging of the code: Debugging (Probe and Breakpoint), Close Project, Easy Error Handling while debugging, Debug window lost, Highlight or blinking breakpoints,... Many of these ideas relate to the number of VIs that are running, and how to access them.

 

I think this might be a good idea, because when it comes to debugging code, all help is little and especially when you are working with a lot of VIs. Although I would consider being able to group in a single window, the functionalities of: All Windows, Probe Watch Window, Breakpoint Manager and Monitored Actors.

Mads
Active Participant

Sub-idea: Add a search and filter function, which can operate on all columns (file name and window title as least) and accepts wildcards.For efficiency let the search be the active field when the window opens, that way you could just write the start of the title or file name you are looking for and the list would auto-update with the matches. 

Phily
Member

I want to use the 'All Windows' window selection with the Powertoys FancyZones to make a pseudo LV IDE. The only thing holding me back is the modal behavior of the 'All Windows' Dialog. 

 

https://docs.microsoft.com/en-us/windows/powertoys/fancyzones

wiebe@CARYA
Knight of NI

>The only thing holding me back is the modal behavior of the 'All Windows' Dialog. 

 

You might be able to get it's hWindow (FindWindow, FindWindowEx), and change the behavior. Probably with SetWindowLong, GWL_STYLE. Haven't tried though.