LabWindows/CVI Idea Exchange

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

Hello NI,

CVI permits us to use different tab fit modes, e.g., Single Row Scroll or Multiple Rows, in software developed with CVI. Unfortunately, the IDE itself only has one mode, Single Row Scroll.

Now, if I am working in a slightly larger project with say 12 or 15 files open typically only ten tabs fit on my screen, for all the other files I would need to scroll using the tabs. In such a situation I would prefer having the option to have tabs in multiple rows, allowing accessing all files/tabs with just one mouse click.

The project tree does not always help in this case if one is also using files temporally, i.e., not in the project (for example, if I compare/copy routines from different projects)

Thanks!

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

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.

Thanks...

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.

Hello,

whereas it is possible to add, remove and rename a folder in the project tree via a right-click popup menu it is unfortunately not possible to rename a file.

Instead one has to remove the file (plus its accompanying include file) from the project, rename it in Windows File Explorer, and then add it to the project again.

It would be more convenient being able to do so within the project tree, similar to the ability to rename folders.

Hello,

I would like a zoom (Ctrl + mouse wheel) when creating .uir panel.

Regards.

I recognized it's not possible any more to view a constant while debugging since CVI 2015.

Example: #define CONSTANT1      1

For example if I have a constant defined, I can then right click “view variable value”.

Normally CVI then shows me the value.

 

Since CVI 2015 this doesn’t work anymore. I also tried with CVI 2017.

In our code we use many structs where the fields are defined by a constant.

Now when the debugger can’t view the constant any more it also won’t view the value of the struct.

Example: #define CONSTANT1      1

Int struct[10];

struct[CONSTANT1]  = 5;

 

This is the main reason why I didn't upgrade from CVI 2010 to 2015.

I miss it every time I try to replace a parameter or start typing a long function name and realize it's not the function I want. Or even just when I want to delete a single line and don't want to select the whole line, or sit there holding the backspace key while life passes me by.

 

It's especially annoying because CTRL+[arrow] navigates word by word. So this is half implemented already.

If a file is listed in a project, but it is doesn't exist anymore on the filesystem, CVI doesn't mark it in any way in the project tree.

If the file is an .uir, this brings to a strange behavior with "Find UI object" (see here).

I think that files non-existent on the filesystem should be marked mark in some way (color, special icon, ...) in the project tree.

The check can be done when the user opens and closes the project.

Under labwindows CVI 2015, I develop a program using a state machine. For this I use a "switch".
The program is voluminous, and in order to browse it more quickly, it would be very interesting to allow the collapse and the expansion of the boxes in a structure "switch"

Other text editors such as UltraEdit have the capability to trim white space from the end of lines.  This would be a useful feature, as sometimes extra white space can end up at the end of lines, and is annoying when copy/pasting, etc.  I would expect to find it under Options->Editor Preferences, similar to the tab/space settings.

If you open a project with many sources and edit a file named zero.c, it takes ages until the browsing information for this file is created.

 

Suggestion: prioritize (all) opened source files when gathering the browsing information.

Hello,

 

it was very nice to see clang updated to version 3.3 in CVI2015; I wish this support of current versions of clang will be continued in the future, so I am hoping that with CVI2017 we might get clang 3.9 or 4.0 because of the following issues:

- many many bug fixes in clang

- improved diagnostics

- support of C11

- full support of OpenMP 3.1 and beyond

 

Thanks!!

At present, when you double-click on a .cws or .prj file the most recent version of the CVI IDE is launched with the selected .prj or .cws file loaded.

However, both project and workspace files include the release of CVI they are developed on, so it would be possible to search in the system whether that release is installed and open it instead of the most recent one. This is crucial when you need to modify a program already deployed to a customer but do not want / is not possible to update the target machine configuration installing a newer Run-Time module than the one already installed.

At present you have no control over this event, but consider also that in case you make modifications to the UIR files also, it may become difficult to revert to the original IDE format; for this reason when I need to update an old program I need firstly to open the project file in notepad to see which CVI release to use for this.

 

If automating the launch in the correct release is not possible, at least issue a warning stating the difference in the IDE release used with respect to the original one.

In the last few years JSON came out as new format for data objects consisting of attribute-value pairs, largely replacing XML.

LabVIEW has functions to handle JSON data, and LabVIEW Community has been developing a JSON Toolkit.

In the CVI board of the forum this is the only result for a "JSON" search (at the present).

 

I suggest to integrate into CVI a JSON library (for example JANNSON).

I think this is better than develop a proprietary library.

Hello,

 

working with larger UIs may result in scrollbars showing up in the UI editor. Hence it would be nice if hitting the 'PageUp' or 'PageDown' keys would scroll the page up or down, respectively. Also 'Home', 'End' and the four cursor keys should be supported, similar to their functionality in the text editor. 

 

Thanks!

I would consider it useful if the Build Output would state the total number of errors in a file - right now it says: 1 file with errors, but especially if you start with many errors I find it helpful to see if a change in code reduces the error count.

 

To my knowledge earlier versions of CVI provided this information, which disappeared with clang integration.

 

Related posts are here and here

The integration of some SCC software is officially supported in CVI (see this KB).

Unfortunately GIT is not officially supported, but its popularity has been increasing very much.

LabVIEW has a specific User Group in the community (Git User Group) and I think CVI should support the same integration

 

The most recent version of the C runtime that comes with the Phar Lap ETS is msvcr90 from 2008. That really restricts the usage of more recent third-party libraries on real-time targets shipping this operating system.

 

Support for msvcr{100,110,120,140}, even with stubs for most of their functions, would be greatly appreciated.

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