LabVIEW Idea Exchange

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

It would be nice if there was some option to configure the separator behavior of combo boxes. Currently, entering a hyphen (-) as an item turns into a separator automatically, and there is no way to configure that. What I think would be best in terms of configuration options is a "Separator Value" property in the Edit Items tab of the Properties dialog. The hyphen could be the default value, and it could be changed to an alternate character or character sequence if the developer needs the hyphen to appear as just that for whatever reason. If the value of the property is empty, there are simply no separator lines created.

 

FireFistRedhawk_0-1779113435039.png

 

There is also a bug involving the hyphen as the separator value. When a combo box has the Allow Undefined Strings property unchecked and also has a separator as one of the items, a hyphen is still treated as a valid entry since it is technically one of the values present. This bug exists in the most up-to-date version of 2026 at time of writing, 26.1.2f2. I think the existence of this bug warrants taking a look at the separator behavior in general, but also possibly adding this idea as an enhancement to it.

Windows Clipboard History is a very useful tool in Windows to manage copied data. But it doesn't work with LabVIEW content. Right now, when pasting copied VI content from the clipboard history, it is pasted as a regular image.

 

I am not sure how copy paste VI content works under the hood, but since VI snippets are regular png images, I guess this should be feasible. 

 

Having consistent (and therefore predictable) right-click menus is essential for maximizing coding efficiency.

 

Most structures have the following right-click menu items:

 

Visible Items
Help
Examples
Description and Tip...
---------------------------
Add Breakpoint
---------------------------
Structures Palette
Auto Grow
Exclude from Diagram Cleanup
<specific menu 1>

<specific menu N>
Replace with <other structure type 1>

Replace with <other structure type N>
Remove <structure type>
---------------------------
<other specific menus>

 

The right-click menu however has some inconsistencies regarding item order and menu separators for certain structure types:

 

1. "In Place Element Structure" has "Replace" and "Remove" items reversed:

raphschru_0-1778671181846.png

The "Remove" item should always be the last one in the item group (right before the separator) since it is a very common action and the separator offers a quick visual reference point.

 

2. Depending on whether you click on the structure border, the frame name label or the subdiagram label, sometimes an extra item separator appears for no reason:

raphschru_3-1778673447637.png  raphschru_6-1778673672106.png  raphschru_5-1778673565395.png

 

The grouping of the generic items shouldn't vary depending on where you click on the structure. Here we sometimes have 4 item groups instead of 3, which hinders quick menu identification and selection.

 

3. This is more a general remark, but I think items specific to a structure type shouldn't be mixed with the generic ones in the first 3 groups (except maybe for the "Replace" items, since they are related to the "Remove" action).

 

So any specific menu item should belong after the first 3 groups:

raphschru_2-1778672934373.png  raphschru_7-1778673846675.png

raphschru_8-1778673934000.png  raphschru_9-1778673982744.png

 

This last remark could be subject to discussion though, as configuring iteration parallelism and shared clone allocation could be considered a "primary" action (therefore requiring to be closest to the top), even if it is specific to certain structure types.

 

Regards,

Raphaël.

Many SW vendors still keeps supporting the DDE interface, it would be nice to go with newer versions of LabVIEW but now we need to use 2024 Q1 which is the latest version with working DDE VIs. INI-file mods to support CodeInterfaceNodes not work.

Quiztus2_0-1777992326142.png


The layering of values shown during highlight execution mode should take the data type into account. I suggest moving types whose values do not change—such as refnum or lvclass—to the back of the display stack. This should also apply to ordinary VIs, similar to how property nodes are already handled. Otherwise values worth to know are hidden by actually useless info.

Customer received this error after trying to send J1939 frames on XNET Bus Monitor,  once user select J1939 database , there is no option to transmit frames ,  not sure why XNET Bus monitor does not have that tab,  xnet does it support it, using a labview code is possible but xnet bus monitor is something very practical for Customer to use before going to code.

Also when this type of error occurs need to have better description as J1939 and CAN FD not supported in XNET Bus Monitor.

Even citadel database is not 64-bit.  64-bit version of LabVIEW Data Logging and Supervisory Control is needed.

Not too long ago i learned of the excellent Quickdrop command "Remove Unconnected" (ctrl+shift+r) on Build array and (un)bundle.

However it doesn't work with Index array and i wish it did. 🙂

That's all!

Yamaeda_0-1777370033284.png

Ctrl+space -> ctrl+shift+r ->

Yamaeda_1-1777370073167.png

 

Suggestion, it should work in this case also!

Yamaeda_2-1777370165875.png

 

Recent improvements to editing string constants on the block diagram—such as enabling Ctrl+A to select all text—have been very helpful. When testing parsers, I frequently work with large string constants, and smooth navigation becomes important.

Currently, scrolling inside a string constant always moves by a single line, regardless of the operating system’s configured “number of lines to scroll per mouse wheel notch.” 

 

Please update LabVIEW so that scrolling within a string constant honors the OS-level scroll-wheel configuration. This would make navigating large constants more consistent with user expectations and system-wide behavior.

Currently converting a string to an array loses the "Size To Text" property, this should be preserved to maintain the desired display after conversion

change to array size to text.png

The interpolate 1D array function has a powerful but under appreciated feature of being able to do segmented linear interpolation when the array input is an array of points.  (For example in an array of PID profile setpoints).  The interpolate function will directly produce the correct interpolated y value for any 'segment' in the array which is very cool.  However it does not expose the threshold index which would be very useful and is most certainly already computed internally.  In the use case of traversing an array of PID profile setpoints, it would be good to know what segment is being interpolated at any given time.

Add a context menu option to open class private data directly from block diagram / panel.   Currently need to select "Show Class Library" then expand and open control from Project Explorer.   During initial development I'm needing to modify private data frequently and this is how I'd expect to do so based on Typedef behavior (right click - Open Typedef)

 

class private data.png

Add a note here if the VI is dynamic dispatch to aid in code readability:

avogadro5_0-1776205743247.png

 

When creating a Polymorphic VI, please let us add VIs more easily.

 

Intaris_2-1776154590598.png

 


Either allow multi-selection of VIs when choosing "Add" (Button in Red) or allow drag and drop of multiple VIs from a project or explorer (Blue area is a target for drag and drop).

 

While I'm at it, please allow selecting and editing the "Menu Name" and "Selector Name" in place. Having to go through a button press and a dialog for each and every VI is tedious.

Currently, a malleable VI will not show coercion dots for any case (that I can find). It would be nice if it would show a coercion dot if it leads to one inside the vim:

 

BertMcMahan_0-1775166268652.png

 

 

(taken from avogadro5's post here)

 

I would propose that ANY coercion happening inside the VIM would lead to the dot, so even if the wire split and went to one non-coerced terminal and one coerced terminal, you'd still see the dot.

The default cursor color in the Fuse palette is yellow, which is nearly impossible to see:

 

cursorcolor.png

 

Since we can't set a default cursor color for a graph, and there are no events exposed that let us know when the user creates one, can we at least get the default color to be somewhat visible? Maybe dark gray?

Wiki link: https://en.wikipedia.org/wiki/Memoization

 

I have a lot of "stuff" that gets created dynamically from config files at runtime. The "stuff generation" process is pretty quick, but often I need to create a LOT of these objects, and most are identical. The "stuff creation" process is quick and painless when I design my app to work with, say, 1000 "data objects", but then a user comes along and says they need a million of 'em, and now that fraction of a second takes forever.

 

One easy way to handle this is to bundle up all of my config data and use it as a key for a map, then look up that key prior to running the "generate" function. If it already exists, return the cached value, otherwise, run the code and add it to the cache.

 

For example, here's what a wrapper looks like around "slow.vi":

 

This is simple enough on the block diagram, but I have to do it for each function. It would be nice if LabVIEW could do this for me.

 

I propose that this gets implemented as a VI setting as an option for Run VI or possibly as a checkbox in the Execution menu. Alternatively, you could make it like a VI Refnum where you drop an existing VI into a "box" that handles this wrapping.

 

 

cache2.png

 

There would need to be a bit more to it than a simple checkbox- for example, you'd likely want a way to programmatically force a re-compute for a given input, or clear the cache entirely. And you'd need to decide how you handle shared or preallocated clones, (probably) prevent inlining, that sort of thing.

 

I would think implementing this at a "core" level would offer speed benefits over making a bunch of wrappers. I think you could probably make an Xnode that does this, but that's far beyond my comfort level, and I'm gunshy on them anyway, especially since I'll be using this mostly with objects.

 

If I'm working with a class in my development code base, and I right-click on it (or one of its wires), I have access to the full menu of class methods. This is super convenient, and it saves me from navigating the project tree or remembering the exact method name when using quick drop.

 

However....if my class is defined in a PPL, this menu simply doesn't exists.  I'm not sure if this is a bug or a feature request, but, I would really like to have access to this menu when working with classes in PPLs.

 

Untitled.jpg

In large-scale LabVIEW projects, performing a text search across the entire project hierarchy can take a significant amount of time to complete, especially when the codebase contains numerous VIs, libraries, and dependencies. Currently, the search results can be browsed(doble click and locate the search result in the code) only after the entire search operation has finished.

It would be highly beneficial if the search results could be browsed incrementally while the search is still in progress. In many practical cases, the desired result appears early in the search process. Allowing users to review and navigate through the partial results as they are discovered would enable them to quickly locate the needed item without waiting for the full search to complete. If the relevant result is found early, the user could simply stop the search operation, thereby saving valuable time and improving overall productivity when working with large LabVIEW codebases.

 

Sample.png

 

Please add your opinion.

 

Regards,

Adarsha Pakala

LabVIEW from 2006

CLA From 2014 

 

 

It would be helpful if we could display a nice looking cluster array on the front panel with column titles. I mean something like a multicolumn listbox, but without having to extract data and from the cluster array to fill a multicolumn listbox for display. The cluster element names should be displayed only once, as column titles.