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
- An Items Page
- A Files 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:
- Build specifications
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.
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.
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 are individual items as they appear in the tree in the Project Explorer. They can be:
- build specifications
- and more
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 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.
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.
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 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.
Consists of the Standard Basic Menu Bar. See LabVIEW IDE Menu Bar.
The standard toolbars include:
|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|
|Remove from Project - Deletes item from the project. All child items, if a folder or library, are also removed from the project.|
|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 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:
|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 are the way to add functionality to the Project Explorer. They allow additions to the Toolbar and Right-click menus, allow the creation of special ProjectItem types, creation of additional dialogs and wizard, and creation of addition overlays. To learn more see Project Providers.
|In LabVIEW 8.5, with the introduction of Auto-populating Folders, the Items and Files tabs were added.|
|First introduced in LabVIEW 8.|
- LabVIEW Project
- LabVIEW Project Library
- LabVIEW Class
- LabVIEW LINX
- Unit Test Framework
- Project Providers
- Using LabVIEW Projects (NI LabVIEW 8.6 Help)
- Incompatibility of Auto-Populating folders and LabVIEW libraries