LabWindows/CVI Idea Exchange

Community Browser
Top Authors
Showing results for 
Search instead for 
Did you mean: 
Post an idea

This X just closes out of the tab that is on top.


CVI window.PNG


Pretty much every other program with tabs has the X on the tab you’re closing out of. The current placement makes me hesitate every time, because it feels like you’re X-ing out of the entire code-viewing pane, not just the single file you want to close.


It’s also not consistent with the rest of the environment.

For example, in the pane on the bottom in the screenshot above, “Threads” and “Wa tch” look like two tabs, but clicking the X in that pane causes the entire pane to disappear rather than just closing the tab that is on top.

Allow you to select multiple lines and then go to Edit>>Block Comment/Uncomment to be able to comment or uncomment multiple sections of code at once.

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!



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

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



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.





Doing a CTRL+F and finding all instances of a word works, but is a lot of steps.  I tend to use Notepad++ a lot for my IDE and it has this really handy feature.  If you double-click a word, it will highlight that and all other instances of that word inside that one open file.  This is like a "quick find" that saves a lot of time.  See attached image to get the idea.  The darkest highlight is the one instance that was double-clicked.

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.