LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
tst

Add Intellisense support to the property node

Status: New

 

I really hate having to dig through a long hierarchy of menus when I know what I want:

 

 

DrillDown.png

 

 

 

 

 

Visual Studio (and other MS and non-MS products) have a feature called Intellisense, which is meant to make this easier. Basically, as you type, it pops up a list of matching objects, based on context, so you can quickly select what you want:

 

 

Intellisense.png

 

 

 

 

It would be nice if LV had a similar feature - click on a property in the property node using the text tool (or Ctrl+click if using the auto-tool) and now you can type in the property name and you will get an Intellisense-like pop-up, which will have all the relevant properties.

 

Specific features it could have:

 

  1. It should know all the relevant names - full names with the hierarchy (Boolean Text.Font.Color), long names (Mechanical Action) and short names (MechAction). This could probably be similar to how Quick Drop handles shortcuts or they could simply appear as separate items.
  2. It should be context sensitive. If the class is Boolean, then there's no need to have Listbox properties in the list.
  3. It should match all the properties which include the search string (so "in" on a boolean would match both "Indicator" and "Strings[]") and only them.
  4. It should have the ability to use caps for acronyms (e.g. in the above screenshot you could use "BT" instead of "Boolean Text", similar to what appears in this video).
  5. It could probably also work on the invoke node, although there it's less needed.
  6. It could probably also be used to quickly select a class if you have a class specifier using the same basic mechanism.

This example (LV 2009) shows how useful this could be. You don't need anything installed. Just run the VI and start changing properties.

 

Caveats:

  1. It will only work on the last property in the node.
  2. It doesn't have the proper list of names and it doesn't implement all the features in the idea, as this is just a basic example.

 

Note - this is similar to this idea, but I think that it's much more usable. Also note that the second idea refers to a QDKS which ships with 2010, but that is far from perfect.


___________________
Try to take over the world!
19 Comments
AristosQueue (NI)
NI Employee (retired)

Is the property browser (ctrl+shift+B) not enough? It has search (and partial search) capabilities.

tst
Knight of NI Knight of NI
Knight of NI

No, it's not enough. This needs to be easily accessible in the diagram and in the node itself.


___________________
Try to take over the world!
tst
Knight of NI Knight of NI
Knight of NI

Here's a more detailed response.

 

Browser:

 

  1. Click Ctrl+Shift+B.
  2. Get a new window. Great. Just lost a little bit of focus on what I was doing.
  3. Find the search button. Oh, there it is. It's that little button.
  4. Oh, another window popped up. What did I want? ...   ...   ... Ah, yes. It was that property.
  5. Search for it. OK, that was easy. Now Enter.
  6. Oh, I'm back to the original browser window, but the property is highlighted.
  7. OK, so now I can drag the property into the BD and get a new property node with that property, but that's not actually what I wanted. I wanted to set a property on an existing node.

So, to summarize: A key combo, some mouse activity, 3 window changes and we still didn't get what we want.

 

 

Compare that to:

 

  1. Ctrl+Click on the property you want to replace.
  2. Start typing.
  3. The intellisense popup appears as part of the current window, already navigable with the up and down keys.
  4. Press Enter.

 

And two additional points:

 

  1. Imagine working in VS without intellisense. What if you had to use something similar to the browser (or the menu hierarchy) every single time you wanted to get a property?
  2. You encourage people to work with LV classes. Property nodes offer a productivity enhancement when working with classes and this offers another one, so you not only not be questioning it. You should be evangalizing it.

 

 

 

And for those who survived this far, a bonus. This example (LV 2009) shows how useful this could be. You don't need anything installed. Just run the VI and start changing properties.

 

Caveats:

  1. It will only work on the last property in the node.
  2. It doesn't have the proper list of names and it doesn't implement all the features in the idea, as this is just a basic example.

___________________
Try to take over the world!
Knight of NI

I wholly support this idea. About 40% of my coding is in Visual Studio, and Intellisense is a GODSEND. It's even smart enough to select the last property I used if I just press the period key. Definitely a great time saver. And it's definitely one of the things I miss when coding in LabVIEW. I agree that the property browser is not a viable alternative.

jdunham
Member

That sounds great.  I hate the various multilevel right-click menus.  I find myself hunting around trying to steal property nodes set up for the right class and property rather than dropping a new one on the diagram, even though it probably takes longer. 

AristosQueue (NI)
NI Employee (retired)

> Imagine working in VS without intellisense.

 

I don't have to imagine. I have to do it often because of a marvelous quirk in LV's build system fighting with VS that wipes out the intellisense info regularly. Let me just say that I would much rather have intellisense than not have it! My question was only to clarify whether we needed a whole new feature in LV or whether we should be strengthening an existing feature.

parthabe
Trusted Enthusiast

After reading all through this, I can only say, "What a great idea?!" Smiley Happy

 

Fully understand the necessity & fully support its introduction/inclusion in the next LV release.

- Partha ( CLD until Oct 2024 🙂 )
tst
Knight of NI Knight of NI
Knight of NI

There is a related idea (related in the sense that it suggests a similar mechanism for another list) here - http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Property-Node-Link-to/idi-p/1671246


___________________
Try to take over the world!
Darren
Proven Zealot

I agree that this would be great functionality to add directly to the text field of property/invoke nodes.  And while we're at it, the currently non-editable text fields of other diagram objects as well (Event Structure frame names comes to mind).  Kudos!

 

Since I hate browsing the right-click menu hell of VI Server as much as the next guy, I added a feature to Quick Drop in LabVIEW 2010 to be able to specify the class name of a property node, invoke node, or class specifier constant.  The same feature can be used to set the property/method name in a property/invoke node.  It has some limitations (no dotted properties, no auto-completion), but it's the best I can do with what I have right now in scripting.  I use this feature on a daily basis to quickly change VI Server class names.  See here for more information on this feature.

tst
Knight of NI Knight of NI
Knight of NI

Darren, AQ has already demonstrated that when the two of you want an idea implemented, you can get its Kudos count to triple itself. I understand it's too late for 2012, but maybe you can convince him to do the same for 2013.

 

And you're probably right that this could also be useful in other places where you have a list of options.


___________________
Try to take over the world!