Project Explorer
The Project Explorer window is the window to view and edit LabVIEW Project (*.lvproj) files . The Project Explorer was first introduced in LabVIEW 8 as the means to organizes files, hardware configurations, Target configurations, and Build Specifications as a project.
The Project Explorer consists of:
- A Menu bar
- Toolbars
- An Items Page
- A Files Page
Items Page
The Items Page shows the contents of a project separated into Targets. Each target represents a platform on which the code will run, for instance, Real-Time modules, FPGA modules, or "My Computer" representing a Windows, Mac, or Linux OS.
Under each target three subdivisions are made:
- Code
- Dependencies
- Build specifications
Code
Items under a target represent links to actual files, these files can be rearranged inside the LabVIEW project to have a better separation like VIs, controls or libraries. Moving things around inside the LabVIEW project will not alter the files or their location except when the files are added or removed from a library-file.
Dependencies
Dependencies are files used by files inside the code section and not explicitly added to the project. LabVIEW 8.5 and up have separate categories for vi.lib, user.lib and instr.lib.
Build specifications
The build specifications contain settings for distributing the code in several forms as a toolkit (source distribution), executable (exe), shared library (DLL) or web-app.
These builds can be included in an installer.
Files Page
The Files Page shows the contents of a project by the directory structure on disk. It does not show the entire file system. Instead, it only shows the directory structure of where items in the project or in the dependencies exist on disk. If a mass file move needs to happen, it is better to do it here that using the files system because it allows LabVIEW to update and maintain any file linking.
Project Items
Project Items are individual items as they appear in the tree in the Project Explorer. They can be:
- VIs
- libraries
- classes
- folders
- targets
- build specifications
- and more
A list of valid ProjectItems types can be found on the ProjectItem page.
Folders
Elements in a project can be organized using folders. The original LabVIEW Project implementation from LabVIEW 8 to 8.2 only allowed for Virtual folders where there was no connection between the project folder or a disk folder. Upon user request, in LabVIEW 8.5 support was added for Auto-populating Folders. These folders are a shortcut to a folder on a disk and will include all the files inside that folder (including sub-folders). However, only LabVIEW Projects can have Auto-populating Folders. Other libraries can only have Virtual Folders. Note: Mixing Auto-populating Folders in a LabVIEW Project with Virtual Folders in other libraries is not recommended and might cause cross-linking issues.
Libraries
Libraries provide organization within a project as folders do. However, unlike folders, libraries provide namespacing and modularization. In a project VIs must have unique names to avoid cross-linking issues. A library allows for VIs with the same name by providing a namespace for them, the library name is prepended to the VI name.
Also, when libraries are added to a project only the library file is referenced by the project. This means that everything the library owns is known only to the library file and not to the project file. This is helps with modularization because adding to or modifying the library won't necessitate a change to the project file and wouldn't require the project file to be updated in Source Code Control.
Nested Libraries
Some library types allow for nesting libraries (a library inside of a library). LabIEW Project Libraries, LabVIEW Classes, LabVIEW StateChart Libraries, and XControls can be added to other LabIEW Project Libraries or XControls, only the nested library file is referenced in the parent library file, like with projects. Again, this helps with modularization by requiring only the modified library to be updated in Source Code Control and not the parent library. Note: LabVIEW Classes are not allowed to have nested libraries.
Targets
There are many types of targets (i.e. Real-time OSs, FPGAs, cRIOs, Raspberry Pi, etc. Code cannot be shared easily across targets. Trying to use a LabVIEW Class by two targets will cause the class to be locked for editing.
Overlays
Overlays are smaller icons that appear on the ProjectItem's icon that show status or other properties.
- For LabIEW Project Libraries and LabVIEW Classes colored key icons show the access scope of the item.
- For LabVIEW Classes and XControls a lock icon appears when the class or XControl is locked and won't allow editing.
- For some integrated Source Code Control programs, checkboxes and/or "X's" denote items checked-out or items that have edits that need to be checked-in or committed.
Menu Bar
Consists of the Standard Basic Menu Bar. See LabVIEW IDE Menu Bar.
Toolbars
The standard toolbars include:
Icon | Description |
---|---|
Standard Toolbar | |
New - opens the "New..." dialog (see New Dialog) | |
Open - opens a file dialog. Allows opening any LabVIEW file type. (See LabVIEW File Extensions) | |
Save All (this Project) - saves all items in the project | |
Cut | |
Copy | |
Paste | |
Remove from Project - Deletes item from the project. All child items, if a folder or library, are also removed from the project. | |
Project Toolbar | |
Open Project - opens a file dialog. Similar to the open button but limits selection to LabVIEW Project (*.lvproj) files. | |
Save Project - save the project file. Similar to Save All, but only saves the LabVIEW Project (*.lvproj) file. | |
Filter Project View - toggle Dependencies or Build Specification visibility. | |
Resolve Conflicts... - opens conflict resolution dialog. | |
Build Toolbar | |
Build All - builds all items in Build Specification | |
Build Selected - builds the selected item in Build Specification | |
Run From Build - builds and then the selected item in Build Specification | |
Source Control Toolbar | |
Check Out - checks out the file from Source Code Control if SCC integration has been turned on. | |
Undo Check Out - checks in the file to Source Code Control without any changes if SCC integration has been turned on. | |
Check In - checks in the file to Source Code Control with the changes if SCC integration has been turned on. | |
Add to Source Code Control - adds the file to Source Code Control if SCC integration has been turned on. |
Some optional toolbars, depending on the toolkits installed:
Icon | Description |
---|---|
Unit Test Framework Toolbar | |
Run Unit Test - runs the unit test. Requires the Unit Test Framework. | |
Unit Test Framework Results - open the Unit Test Framework results viewer. Requires the Unit Test Framework. |
Tips and tricks
- Select Arrange By from the right-click menu of a folder to choose between different sorting options.
- Drop any file into the Project Explorer to add it to the project. This also works for multiple files and folders.
Project Providers
Project Providers are the way to add functionality to the Project Explorer. They allow additions to the Toolbar and Right-click menus, the creation of special ProjectItem types, additional dialogs and wizards, and additional overlays. To learn more see Project Provider Framework.
History
Version | Change(s) |
---|---|
In LabVIEW 8.5, with the introduction of Auto-populating Folders, the Items and Files tabs were added. | |
First introduced in LabVIEW 8. |
See Also
- LabVIEW Project
- LabVIEW Project Library
- LabVIEW Class
- LabVIEW LINX
- FPGA
- Real-time
- Unit Test Framework
- Project Provider Framework
External Links
- Using LabVIEW Projects (NI LabVIEW 8.6 Help)
- Incompatibility of Auto-Populating folders and LabVIEW libraries