Showing results for 
Search instead for 
Did you mean: 

How to organize project items?

Go to solution

@Michael_Munroe wrote:

I would also suggest auto-populating virtual folders.  You can drag item directly from Dependencies into your virtual folder, but if they are in the auto-populating folder it saves this step.

I never use auto-populating folders. While I'm a proponent of not having a very flat hierarchy on disk but rather structure the source code into logical directories and sub directories, I seldom have a 1:1 matching of the disk layout with the project view. And auto-populating folders have a few nasty habits that I never got comfortable with. I can hardly retain from disabling auto-population from projects I inherited. 😁 And hate with a passion inherited projects, which contain little more than the top level VI, leaving everything else in the Dependencies. 😠 Really? What did that developer think? 😵


What I sometimes do is to import a folder from disk into the project (and then make arrangements to have it more logical in the project than on disk). And yes, not all VIs are always generated from scratch in a project. I have in my carrier developed more than 200 projects for sure and worked on many more, so creating everything from scratch again each time is definitely not normal. And then you tend to have to import more or less complex libraries into a new project rather than creating everything from scratch again inside the project.


Of course there are two distinctive situations here:


1) Libraries that exist in a different project but were never formalized as a library. These are copy-pasted into the new disk hierarchy and live from there on as an independent entity from the original library. Quick and simple but any improvement to them in the new project is usually limited to that project and lost for other projects that use this library too. These libraries you want to have present in the project view too.


2) Formalized libraries that have their own installer and install into some project or development specific location. These you do normally not want to have present in the project view, and modifications to the VIs in such a library are a capital crime (unless the project manager puts the gun at your head and tells you to fix the problem now or else ... Self preservation prevails above proper software development rules 😁). Of course you do want to have a copy of the library installer (and any other driver libraries and such) present in the disk tree for that project. It's very annoying to have to go back to an old project and find out that you are missing a specific library installer and the location where you can download it from has long ago went into the realms of internet history.

Rolf Kalbermatter
DEMO, TU Delft
My Blog
0 Kudos
Message 11 of 12

@billko wrote:

@crossrulz wrote:

@billko wrote:

@Michael_Munroe wrote:

I would also suggest auto-populating virtual folders.  You can drag item directly from Dependencies into your virtual folder, but if they are in the auto-populating folder it saves this step.

I'm curious... why would you want to drag dependencies into your project?  I would leave them where they are because the chances are almost 100% that you don't really want them as part of your project.

You drag items from the dependencies when you find dependencies that actually should be in your project.  Alternatively, you find dependencies you need to refactor out of your code.

I understand this reason, but I think if you are regularly doing this, it might be time to rethink your workflow and/or your LabVIEW organization.  Everything that I can think of generating, be it creating subVIs from existing code, or using the rename dialog to creat a duplicate vi - always results in the new VI being at least in the project.  That's what I meant by "almost 100%".  I rarely move things in and out of my dependency folder.  But then again, I fully admit that most of my LabVIEW tasks are quite mundane and maybe unless projects get truly complicated, I wouldn't see this often.

LearningLabVIEW stated that he had "stuff in dependencies."  As a consultant, I regularly inherited poorly organized projects developed by beginners.  They don't realize that LabVIEW does not arrange items in the project for you or even put them in the project folder.  Dependencies can suddenly appear when something is added to the project and the subVIs were not.  Adding a virtual folder can be a single step to fix the problem. 


"most of my LabVIEW tasks are quite mundane"

I have worked on projects with over 20K items in the project and have developed a tool to wholesale replace the LabVIEW Project Explorer.  Automating the most basic tasks that LPE omits is a game-changer for productivity.  Just watch my Window Manager video.

Michael Munroe, CLD, CTD, MCP
Automate 1M+ VI Search, Sort and Edit operations with Property Inspector 4.1, now with a new Interactive Window Manager!
Review the top 24 Impossible with LabVIEW Categories
0 Kudos
Message 12 of 12