01-13-2009 07:42 AM
Sadly, I don't know the first thing about using Project Explorer. Why do there seem to be two parallel systems for organizing my work?
Should I focus on logically organizing all the parts of a project as Items? or as Files?
Or should I have two different approaches to organization, using one with Items and the other with Files?
Or if I organize one of these, will Project Explorer automatically organize the other to match that? For example do I organize Items and then let Project Explorer create or manage autopopulating folders to mimic it?
I've read things like "Best Practices for Managing NI LabVIEW Applications Using the Project Explorer" but I keep getting lost in details like dealing with conflicts, and am not seeing the forest for the trees.
I'm either working by myself or, occasionally, with one other person. We're not using source control. I frequently create copies of everything and archive them outside LV's search scope so I can go back to older versions if needed. What I know I want to do with Project Explorer includes creating executables and things I can distribute (which so far I've done on tiny projects with no real organization, having every file in the same folder), and also housekeeping chores like removing all the obsolete vis that no longer have any callers. I hear people praise Project Explorer so no doubt if I got the point of it I'd get much more out of using it.
So, if any Project Explorer fans could point me in the right direction, I'm all ears and would be most appreciative! Thanks!
Solved! Go to Solution.
01-13-2009 07:48 AM
My advise is to never ever (even on Halloween) use Auto-Populating folders. (see this discussion, or this one).
What I normally do on disk, is one folder per function/library/toolset/module
In the project I manage all the files, on disk I dump everything in those sub-folders.
The project is your friend my friend.
Ton
01-13-2009 09:13 AM
01-13-2009 09:54 AM
I want to make sure I understand what you are saying:
>never ever (even on Halloween) use Auto-Populating folders
OK, this I understand!
>In the project I manage all the files
You mean when you organize everything in your project, you are using Project Explorer and looking at the "Files" view? You are not doing anything with "Items"?
>on disk I dump everything in those sub-folders
You mean the disk folders have many many items in them and the logical way you think of the components of your project is represented elsewhere, not in disk folder organization? Or the subfolder organization is simple, maybe one layer deep, and your logical project organization is elsewhere, like in the "Items" view?
Sorry if I am being slow. I've never been primarily a programmer or worked in a programming shop, but still hope to learn a basically sound if simple approach to this. I hope that if you put "Friends don't let friends code without LabVIEW Project Explorer" in your signature, you're more enthusiastic than most about promoting it.
01-13-2009 09:58 AM
Smercurio, how do you do your organizing, then? Do you organize in the "Items" view of Project Explorer, or the "Files" view, or both?
Can you just organize in the Items view, in which you are also seeing things that aren't files, and with the Files view you just put everything into one big folder? It sounds like it's a bad idea to have multiple vis with the same name, so assuming we don't do that, you could put all your files into one folder, right?
Is there going to be an opportunity somewhere to cull out all the vis that have no callers? So far, that is the only organizational activity I've wished for.
01-13-2009 10:32 AM - edited 01-13-2009 10:35 AM
Yes I only use the items view. I have never seriously looked at the files view.
Looking for all files without callers will be programmatic task. A project has methods to return all the files within the project.
Here is a little discussion on possible improvements for the project explorer.
Ton
01-13-2009 11:30 AM
cebailey wrote:Smercurio, how do you do your organizing, then? Do you organize in the "Items" view of Project Explorer, or the "Files" view, or both?
I'm using 8.2 - I don't have this option. However, the 8.2 version is basically the "Files" view. I would most likely use this view due to the number of VIs that I have and the way the files are organized. The "auto-populating" would be the closest that would match what happens with the Visual Studio Solution Explorer, but then, the consensus seems to be to not use "auto-populating". So much for that.
01-14-2009 11:31 AM
It's up to you to find the best method for using the Project Explorer. What I have found to be the most helpful for basic information is the following:
1. I save the VIs I am working with in one local folder on disk
2. In Project Explorer, I usually stick to the Items view
3. I add my high level VIs (Right-Click My Computer >> Add >> File...) and the Project Explorer will automatically populate the Dependencies with my subVIs
This gives me a small window (Project Explorer) that holds an organized list of my high level VIs, and I can access any subVIs in the dependencies folder. I might create virtual folders (Right-Click My Computer >> New >> Virtual Folder) in order to categorize and organize my VIs further.
This leaves me with all my VIs saved in one location on disk, and one central access point from which I can manipulate them.
I usually only use the File view in order to find the physical location of my files, but since I saved them all to the same folder, it's usually not a big consideration.
01-14-2009 01:12 PM
>It's up to you to find the best method for using the Project Explorer.
Good. What did they picture us doing with it? "What's it for?"
I guess there are enough different ways of using it that this is a hard question to just answer.
Your 1. 2. 3. is a very useful starting point, thanks! I am doing that and watching what turns out useful.
01-14-2009 01:33 PM - edited 01-14-2009 01:34 PM
The Project Explorer is used for many different applications. Mainly, it is a central place where you can keep and manage all of the parts to a large project, including VIs, Global Variables, custom menus, custom controls, etc. In addition, it is where you define what VIs and executables are loaded onto a real-time target, if you are putting together a deterministic real-time system.
So it ends up being a pretty useful tool once you get used to it.