NI is not a C/C++ Editor-Debugger company. And, it will never be able to invest the man power needed to get there. NIs strengths are its Instrument UIs, its libraries, and it's visual application UI pieces. The LabWindows/CVI tool looks and feels like tools from the mid 90's (ie. like an old Borland C editor, but even less featured). It lacks the toolset found in VisualStudios, NetBeans, and Eclipse. And, it will always be behind.
The Verigy93k tester was like this several years ago. They wrote their own C/C++ editor, and it was at a mid 80's level. When a team was asked to rewrite the UI and bring it up to date, they made a novel choice (they recognized that they were not a UI platform / editor company), and they moved their product under Eclipse. Teradyne Flex did something similar a year or two later moving under Excel and Visual Studio. The thing is this, both companies realized that they could make more money focusing on their real strength. They added libraries and apis to work in the platforms framework, and changed/adapted the platform framework to work for them. ie. Teradynes Flex test tool does not say "Excel/Visual Studio", it says it is a Teradyne product based on MS Excel and VS. And, they have adapted the platform to their needs adding on the extra Windows/UIs/... to meet their needs. Same with the Verigy 93K.
In Teradynes case, they went back to the drawing board. So, we will ignore this (even with their success). In Verigys case, all their existing APIs worked in the new platform, and the user didn't need to change anything when they upgraded. But, suddenly the Editor and Debugger were up to date, with latest greatest features. It was a huge change overnight.
LabWindows really should make a shift to Eclipse. Keep your old legacy stuff at first, but working under Eclipse. Add in "Views" and "Tools" to supplement what Eclipse doesn't give you for free. And, remove unwanted or confusing plugins from the eclipse base. (This is what advantest did.) Leave in features that make Eclipse great, like error view, and the ability to have several "perspectives". And really focus the man power into making a product that will blow the others out of the water. NI has what it takes to make great Instrument editing/debugging windows in Eclipse. But, NI doesn't have the 1,000's of people and millions of man hours required to make an Editor/Debugger that will compare to the Eclipses/VisualStudios of the world. As a business they should focus on what will make them a differentiator, and reuse what is accepted and common.
Anyway. My 2 cents on how you could really improve LabWindows in a few short months. (Note: Verigy spent all of 9 months and 9 engineers on their C/C++ integration into eclipse... I know... I was there at the time.) If you took the LabWindows team, and a year or two... Imagine how much better of a job you could do.
sometimes vertical buttons or toggle buttons fit better to the rest of the UI than the standard horizontal buttons. In such cases I would like to have the possibility to have the button text aligned vertically. Hopefully the attached figure can explain my wish...
Data Tooltip should also display the name of the function, when displaying the value of a function pointer variable.
While debugging a CVI application, when hovering the mouse cursor over a function pointer variable, the Data Tooltip displays the address of that function, referenced by the variable.
It would be very useful in cases when you have multiple function pointer variables referencing several different variables, to have the Data Tooltip not only display the address of those functions, but the name of the functions as well.
sometimes it woud be useful to have plot symbols available that are larger than the fixed standard size. Hence I suggest providing a plot attribute ATTR_TRACE_POINT_SIZE where one could set the point size (e.g. in pixels)
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.
I noticed that LabVIEW has two ways to download instrument drivers: direct downloads from IDNET and through the NI Instrument Driver Finder.
[NI Instrument Driver Finder Menu Option Image]
[Alternative NI Instrument Driver Finder Menu Option Image]
When downloading drivers directly from IDNET, the file must first be unzipped and then placed in the <National Instruments>/labview xxxx/instr.lib folder.
The easier option when working with LabVIEW, the NI Instrument Driver Finder, downloads the files, unzips them, and instantly gives you access to example code or palette of VIs for communicating with said instrument.
If possible, could we add a similar tool to LabWindows CVI? It would be nice to have a menu option which would open a CVI Instrument Driver Finder.
The interface could then allow users to easily find a driver, download it to their Instruments Folder, see example code and start work.
Since probably 30% of all LabVIEW adoption comes from driver downloads and driver development, maybe this is an investment of resources worth looking into?
[Image of NI Instrument Driver Finder]
[Image of Instrument Driver Finder example code, project access, and palette access]
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.
Over the years the look of CVI's control elements got closer to native Windows controls, e.g. by the direct use of native Windows controls such as the File Select Popup, which I would consider a welcome visual improvement.
What still is not available is a control element providing a Windows-like status bar, e.g. like the one of CVI's IDE.
I imagine a status bar which is similar to use as a menu bar, i.e. with a LoadStatusBar command, similar editing capabilities and the possibility to define the number and type of elements (text, image,...). Also the lower right part should resemble the typical Windows 'triangle', see figure below.
It has been discussed a few times in the forum so it might be appropriate to also ask here for the implementation of a native polar plot, i.e. plot r versus theta, with radial grid lines and all the corresponding ingredients.
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.
Right now it is possible to set the color, and since CVI 2013 also the line style, of all grid lines collectively.
I would like to distinguish between major grid lines and minor grid lines, e.g., draw major grid lines with dashed lines / light grey, and minor grid lines with dotted lines / dark grey.
It has been suggested earlier (here) to provide the LabVIEW feature of a display format 'SI notation' allowing to directly enter 100 kHz (instead of 100000 or 1e5)
In CVI 2013 the array display has changed (for the worse, in my opinion).
There are two minor inconveniences and one acute shortage I would like to see improved (hopefully prior to CVI2020 )
First, the right click context menu: If I want to see values of a numerical array, it offers a 'Graphical Array View' but no 'Array View', so one first has to chose 'View Variable Value' and then 'Array Display' - maybe one could save one step and already provide the 'Array Display' in the first case...?
Second, the new Array View table still is very slow, not extremely slow as prior to SP1 but still very slow...
Most importantly, at present it is impossible to debug large arrays, large meaning arrays with more than 10000 elements. The current implementation requires to select a slice of data - but this makes it impossible to check or compare say array indices 5, 10005, and 20005...
Of course I agree that there is no need to simultaneously see more than 10000 data values - but why not have a table with say 100 rows that can be turned over, e.g. displaying either elements 1-100, 101-200, ... this way one could access and inspect all array values...
When designing a new user interface it would be very helpful to have the ability to lock a control's position within a panel. It is far to easy to inadvertently select and move a control that you have already spent time precisely positioning within a panel.
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.
Using CVI 2010 you can create different Custom Configurations
But I think that if a developer creates a new Custom Configuration (debug or release, x86 or x64), he wants to distribute it to a target machine. I don't create a Custom Configuration to have it run on my developer machine!
I've already asked to NI Support, and this can't be done in an automatic way.
So I suggest a new feature in the "Edit Installer" window to specify which Configuration (Default or Custom) to include into the installer (see attachments)
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.