LabWindows/CVI Idea Exchange

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

LabWindows/CVI lags behind the more recent developments in its programming language, C. At present, it only partially supports the C99 standard, not to mention the improved Unicode support of the current standard, C11.

Since odds are that Unicode finally will be supported in a future version of LabWindows/CVI, this might be a good opportunity to also ask for support of the current standard of CVI's programming language, C11, allowing the use of UTF encoded strings and also including updated libraries (e.g., supporting complex or long long) and debugging tools (data tooltips and variable view supporting complex numbers, for example). It also would help to improve C/C++ compatibility for programs that use complex floating-point values.


I really would appreciate it if the LabWindows/CVI project will show some strong signs of development and accompany us for the next 30 years, too.

It appears that cvi.exe can run into serious memory problems for larger projects due to a memory-hungry generation of source code browse information.

The solutions suggested (* don't generate browse information for larger projects or * don't use larger projects) are not too helpful. In my opinion, a much better solution would be to provide cvi.exe as a 64 bit application.

Because a crashing CVI is a serious limitation I hope this wish will make it soon.


support of Unicode character set would be most welcome

On high resolution monitors, the icons in the toolbar, project tree, and library tree in CVI are really tiny. Font sizes can be configured, but icon sizes cannot.

As usage of high resolution monitors becomes more common, I think it would be very helpful to provide some configuration options to optimize the appearance and usage of the CVI environment on monitors of varying resolution. Please refer to the attached screenshot for an example of this behavior.

As discussed here and here, CVI does not re-open workspace files in the order they were when CVI was closed; I am referring to confined workspace, not freely floating windows.


As a result, starting CVI one first has to locate all the files, where did the include file go...? If you happen to have some more tabs this is a waste of time.


Also, as Roberto mentioned, you can not easily use the short cut keys Ctrl-1 etc. because of the changing assignment.


So, in short, I am asking to improve this behavior and maintain the tab order of CVI workspace files, that is, re-arrange/re-open the tabs in the order they were when CVI was closed.



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



I would like to see an configuration of batchbuilt process. I have a big workspace with many projects; and would like to create different setups, like "compile only all server projects" or "compile all client projects". The workspace contains a big server-client -based software packages; some dll-projects used for server side only, some only client side.



It would be nice to be able to import and export custom environment and color settings.  This would allow users to transfer settings to another computer, and it would also allow the community to create color schemes that could be shared.  Creating a good color scheme from scratch is time consuming, so it would be nice for both the creater and the user to be able to share the work that is done.






Brandon V.



Starting from CVI2010, the User Interface Browser and the Attribute Browser are both located on the right of the UIR editor in the Workspace window.


I'd like to be able to hide these windows when required: when working on small screens like when you use a laptop these windows occupy a lot of space even if you reduce their size at the minimum.


In addition, the ability to choose which window to display on the bottom left could be a good option: up to version 2009 the bottom left side of the workspace window switched between the library tree (source editor) and the attribute browser (UIR editor).


Ideally, while in the UIR editor I would like to be able to:

  • Choose whether to show some window on the right side or not
  • In case nothing is shown on the right, choose whether to have the attribute browser, the library tree or the user interface browser in the bottom left angle



usually I work on my projects on two different computers (home/work or development/lab). I would like to see a possibility to more easily move my project back and forth, say by providing two new menu commands


File / Import Project and File / Export Project


I imagine that the Export command generates a zip file consisting of all files required to build the executable (and a distribution) and also exports the editor preferences (probably without the window positions because different computers may have different screen resolutions) etc. The Import command then should load the *c., .cds, .cws, *.fp, *.h, *.prj and *.uir files, import the editor settings, adjust the library menu and load any instruments.



Most user settings are kept in either the project or the workspace file. Unfortunately, this is not true for building a function tree (Options/Generate Function Tree). Starting CVI the previous entries are lost. Actually this is an old issue but may be not too old to be improved... Smiley Wink


So I suggest to save the information about Instrument name, Function prefix, Default qualifier, and Output function tree in the appropriate configuration file (prj or cws)


Thanks Smiley Wink

Following the discussion with Luis here I want to suggest


  1. a possibility to confine the variable view
  2. allowing to move confined windows within the IDE, i.e. position the source code browser to the left (or right) of the code window, similar to the workspace window.


Right now, it is possible to add a readme file to the distribution (Build / Distribution / Edit...). Unfortunately, the file type of a readme file (and the license agreement file) is limited to *.rtf. 


It might be useful to distribute a more 'complex' readme file, e.g. including figures. Hence I would prefer to distribute readme.pdf instead of readme.rtf


While it is possible to add, remove and replace files in a CVI project it is not possible to rename or duplicate a file.


This is useful for example if a large source code file shall be split to speed up compilation. Although this file operation could be done outside of CVI associated tags would be lost.


A workaround has been offered here but a more elegant and simple solution would be welcome. Hence I suggest to provide two more commands to add and duplicate a file including its associated tags and breakpoints...



CVI provides the ability to use syntax coloring (which is nice Smiley Happy)

Right now, C keywords share one color - these keywords include the data types int, double, ...


Unfortunately, the boolean types (bool defined by stdbool.h), including the macros true and false, and the size and pointer difference types are not included, e.g. size_t, intptr_t, ...


This is not a problem because CVI also allows adding user-defined tokens for coloring, it even provides the option to add the VISA types.


In that sense we have the possibility to have core and extra types marked in two different colors - which is also nice.


Now I'd like to mark (my) constants as well, in a different color, and this is not possible.


My suggestion thus is to add a second group of user tokens, which can be colored differently.


Thanks Smiley Happy

The option tooltip is very good feature what is the problem is it is only for the controls. If I want to show tooltip for listbox then it is fine but what if someone wants to show tooltip for active rows. It simply doesn't. 


This is very basic but one of the disadvantage of labview over .NET.


This needs to be fixed

I would like to suggest a function tree view in CVI.  I feel this is sorely missing.  Many times, I want to jump right to a function, but I don't remember where it is.  In a single C file with 1,000+ lines, this can be very aggravating.


For this reason, I tend to use Notepad++ for the heavy lifting, along with the Source Cookifier plugin.  See attached screenshot of that plugin.


There are options in the plugin to enable certain features, such as the global and local variables in addition to the function names.  When you are inside a function in the souce editor, the tree updates with a selection to show that you are inside that function.  This is very helpful with functions that have more lines than available veritcal screen space.  This way, I don't have to scroll up to see what function I'm looking at.  I simply look at the tree with a glance and I know.

CVI2013 does not seem to save debug information, instead it has to generate it every time a project is loaded. For large projects this can take some time...

Prior to CVI2013 we were used to a large *.cdb file with browse information which is now gone.


I suggest to save debug information (function list,...) to a file that is loaded on starting CVI so one can make use of this information 'immediately'.




even today source code needs to be printed (to paper, to PDF...). So for a given font and font size there is a maximum number of characters per line that can be printed without forcing a line break.

Accordingly, I have arranged my source code that none of the lines exceeds this limit. I would consider it convenient to have a faint grey vertical line indicating this limit. So I suggest adding a 'ruler' with user settable vertical guides.


Thanks for consideration.



sorry for the strange title, I couldn't find a better one:


Right now, if I toggle a tag or set a breakpoint, these actions cannot be undone using 'Undo (CTRL+Z)'.


Similarly, if I want to discard any changes I have made in a project this may not be especially simple... If I simply close CVI then I am asked if I want to save or discard my changes - this is fine - unfortunately this does not include breakpoints, tags, etc. So even if I select 'discard', tags, breakpoints etc. are not undone.


I'd like to have a possibility to close a project in the state I have opened it.