LabWindows/CVI Idea Exchange

Community Browser
About LabWindows/CVI Idea Exchange

Do you have a feature idea for how to improve LabWindows/CVI? Submit and vote on ideas now!
  1. Browse by label or search in the LabWindows/CVI Idea Exchange to see if your idea has previously been submitted. If your idea exists, be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click New Idea to submit a product idea. You should submit a separate post for each idea. Watch as the community gives your idea kudos and adds their input.
  3. Give kudos to other ideas that you would like to see implemented!
  4. NI R&D will review ideas that have been submitted and update the status.

Note: the LabWindows/CVI Idea Exchange is not the appropriate forum to submit technical support questions.

The LabWindows/CVI R&D team is committed to reviewing every idea submitted via the LabWindows/CVI Idea Exchange. However, we cannot guarantee the implementation of any LabWindows/CVI Idea Exchange submission.

Top Kudoed Authors
User Kudos Count
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Using CVI I can't find an easy way of moving inside a source code file.

Based on my experience with other C editors, I suggest these 3 little features that I think are really useful:

  • a shortcut to jump to the beginning of previous function in the same source file (CTRL + PGUP, for example)
  • a shortcut to jump to the beginning of next function in the same source file (CTRL + PGDWN, for example)
  • the current function where the caret is, displayed in the toolbar. It will be nice if you use a combo so that the user can jump to a different function with a simple mouse click (see attachment)

I have thease features in an open source C/C++ editor (Code::Blocks) I use for other projects, and I think they're really useful to reduce the coding time.

When you have large source files with a lot of functions, with CVI is't difficult to easily see where you are inside the file; moreover it's quite common scrolling the file jumping from a function to another.

While developing code, having correct indentations is very helping in making sure you have all the right brackets and to see where your structures are nested easily.  Sometimes, whether by copying and pasting or just rapidly getting out a section of code, a whole segment might have incorrect indentation, which is tedious to correct.


This is where an auto indent tool could be a big time saver.  From somewhere like the Edit menu, where similar functionality is located in other development environments, you could select Format Selection to do a highlighted section or Format File to do the whole file.  Then, CVI can format the tabs for you:




Although this is a simple example, auto indent becomes even more useful when you have multiple nested structures and decide, for instance, to add or remove another nested loop.



imho the nice tool tips feature provided by the Programmer's Toolbox leads a miserable existence, because it is extra effort integrating it into a GUI.


I would love to see the tool tips integrated into the IDE, that is, when editing a control in the GUI editor, I would like to be able to also set the tool tips text and if it is initially enabled, just like it is possible to enter a control label text. This would include moving the tool tips from the Toolbox to the regular user interface library.


Many Thanks!



It has been suggested much earlier here, but obviously passed out of mind:


When using 'Go to Definition' (CTrl+I) while in release configuration, CVI tells that no source code information was found for the identifier '...', because 'Browse information is not available in the Release configuration'... (still true for CVI2010)


This can and should be improved!


And it might be a good opportunity to also add the reverse process, 'Goto Declaration', suggested here

At present, the only option to jump to a panel callback is Ctrl-P shortcat from the UIR editor (or Code >> View >> Panel callback menu selection). Even longer is to generate a panel callback, which can only be done via Code >> Generate >> Panel callback menu chain.


I'd like to have added two options to panel context menu in the UIR editor: Generate Panel Callback and View Panel Callback, in the same way as those options are present in a control context menu; something like this:


CVI Idea Exchange 1.PNG



following the discussion here I suggest to (more clearly) indicate the number of allocated rows and columns in the UI table editor.


I imagine something like



where the left number indicates (as now) the currently selected row, and the right number (11 in my quick example) indicates the number of all table rows.


The same might also be added for the number of total columns.



I want the batchbuilt window sizeable.


My cws consits of 51 projects, and the configurations-list is no longer useable. I just can see the project names, but not able to see the "release/debug/..." additional informations of the projects to be built. The list looks like

" c:/../../Task_AutomaticMeasurement.prj - D"

" c:/../../Task_FullAutomaticMeasurement ..."

In the project window you can organize the project files into some "virtual" folders (Source Files, Include Files, ...)

If you right-click on the project name, you can add a folder with the item "Add Folder...".

If you right-click on one of these folders, you can add one or more files files.


But it's impossible to create a subfolder of one of these folders.


Every large project has a lot of files (sources, ini-files, images, icons, ...), so I think it's quite common having them saved into different "real" folders and subfolders. If you don't explicitly add these files to the project, you can add them to the distribution kit browsing your hard disk "real" folders, but in this situation the absolute path of the files is used. And if you move all your project from a PC to another one you won't be able to recreate the distribution kit without errors if you don't save the whole project to the same folder you use in the first PC.

And this is a really big problem.

For files explicitly added to the project, instead, the relative path is used, and this is OK, so the best situation is to add all the files in the project window.

So it's necessary create a full structure of virtual folders and subfolders.

We're currently in the era of the large widescreen monitor.  Can we have the title bar in the IDE show the full path name of opened instead of abbreviating it with '...' if the window is large enough to show the full path name?  Thanks.



I have 2 suggestions for graph improvements.


1/ I suggested the first one a long time ago but it has never been implemeted so I try again trough this idea exchange board.

I would like to have the possibility to change the grid lines style to dash or dot. Today only solid is available.

I have written a routine to do it for printing graphs but as you can see it in the attachment it is not always working properly.


2/ It would be nice to have the possibility to set a percentage of transparency for the plots. In the example attached you can see if the green plot would have been behind the blue some parts would not have been visible. By setting the percentage of transparency of the blue one the green if behind the blue would become partly visible.


These 2 features are already available in the 3D graph so it would be nice to have them also on 2D plots.




One nice feature of menu bars is their capability of grouping different items using a separator.


Having ring controls with many text entries it would be nice from a user perspective if these many entries also could be grouped using one or more separators.


What would be also convenient is the ability to dim or hide a specified entry; right now it is possible to rebuild the ring programmatically with one or several entries less (or more), but this is some overhead that could be minimized by simply hiding or showing an indexed entry.

If you have a Numeric Indicator, and you set "Range checking" to Notify, CVI will show an ugly popup when you enter a value out of range.

If you set this property to "Coerce", the value you enter is coerced in range, but no specific event is generated.


I think that an EVENT_VAL_COERCED would be really useful: using this event you could easily show a message popup, for example.

Personally I don't like the "unsorted" look of the libs as it is now. I always create a libs branch and put them there. This way the branch can be collapsed and saves space I don't have to scroll when having multiple projects in one workspace. Libs are files I don't edit that often so I don't have to see them all the time.

For every other file type CVI "knows" at the Add Files to Project sub menu, there is automatically a branch created - but not for libs.

The additional columns of a tree can be hidden using SetTreeColumnAttribute() with ATTR_COLUMN_VISIBLE parameter. This is an easy and effective way.

For a table this attribute isn't supported, so you can use some workaround that requires more coding and have some disadvantages (for example if you set the width to the minimum value of 1, the user can increase it with the mouse...).

I think that the ATTR_COLUMN_VISIBLE parameter would solve this needs in the perfect way.



in my application, several panels exist. Their size is fixed and can not be changed by the user, but they can be minimized and restored by the user. It would be nice to have the possibility to programmatically react to these MINIMIZE and RESTORE events. Right now, I have to poll the panel zoom attribute.





It has been discussed here.

I suggest to add a note to the documentation, for example



_TARGET_PRODUCT_VERSION_ and _TARGET_FILE_VERSION_ values are updated only when the file that contains them is recompiled.

So be sure to include them only in files that are recompiled at every build.




Lets' assume a small structure or small array that one would like to have a look at during debugging. Selecting 'View Variable Value' (or Shift+F7) in the IDE puts the cursor on the corresponding line in the variable editor. If there are several variables, the variable of interest typically is in the last line of the variable editor. Now if one is interested in any element of the structure, it is always necessary to scroll down, which is quite inconvenient.


Hence I suggest to place the selected variable at the top of the variable view, allowing to see its first elements without scrolling.



This topic has been discussed insome threads:

Unfortunately CVI doesn't support this feature, but LabVIEW probably does.

I think that CVI should implement this feature too, because grouping scalar variables into folders and subfolders is an approach commonly used by OPC Servers, and the Network Variables are a simple way to create an OPC Server with a CVI application.



I am glad that the event EVENT_MOUSE_WHEEL_SCROLL was added some time earlier to CVI. In principle, now it is possible to operate numeric controls, ring controls, etc. not only via keyboard and mouse, but also via the mouse wheel. This allows very smooth operations, great!


However, the integration level is inconsistent: While pressing the ARROW_UP key on a selected control will increase the value displayed in the control automatically, i.e. without the need of the programmer to react to a specific event, achieving the same result with the mouse wheel requires adding code to each callback. This is possible, but inconvenient as it adds a lot of overhead.


Right now, in every callback of a numeric or ring control that shall support the mouse wheel I have the following lines:


    switch ( event )
            if ( eventData1 == MOUSE_WHEEL_SCROLL_UP )
                FakeKeystroke ( VAL_UP_ARROW_VKEY );
            else if ( eventData1 == MOUSE_WHEEL_SCROLL_DOWN )
                FakeKeystroke ( VAL_DOWN_ARROW_VKEY );

        case EVENT_VAL_CHANGED:


Hence I suggest

  • either to treat a mouse wheel on a selected control like an ARROW_UP or ARROW_DOWN keypress (personally preferred)
  • or to add one more attribute allowing to treat a mouse wheel on a selected control like an ARROW_UP or ARROW_DOWN keypress. In the UI editor, then there should be a checkmark (allow mouse wheel support), similar to the check marks initially dimmed etc. This attribute could be useful if there are concerns of backward compatibility - may be some users don't want to support the mouse wheel...



Ok, I guess everything is in the title

Open a source code where you fill an array

Put a breakpoint

Click on the name of the array


I would like to see the display in the bottom part of the IDE, not in a window


Regards, 40tude