Project Explorer

From LabVIEW Wiki
Jump to: navigation, search
The 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:

  1. Code
  2. Dependencies
  3. 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.

Menu Bar

Consists of the Standard Basic Menu Bar. See LabVIEW IDE Menu Bar.

Toolbars

The standard toolbars include:

Icon Description
Standard Toolbar
Project Explorer-New.png
New - opens the "New..." dialog (see New Dialog)
Project Explorer-Open.png
Open - opens a file dialog. Allows opening any LabVIEW file type. (See LabVIEW File Extensions)
Project Explorer-Save All (This Project).png
Save All (this Project) - saves all items in the project
Project Explorer-Cut.png
Cut
Project Explorer-Copy.png
Copy
Project Explorer-Paste.png
Paste
Project Explorer-Remove From Project.png
Remove from Project - Deletes item from the project. All child items, if a folder or library, are also removed from the project.
Project Toolbar
Project Explorer-Open Project.png
Open Project - opens a file dialog. Similar to the open button but limits selection to LabVIEW Project (*.lvproj) files.
Project Explorer-Save Project.png
Save Project - save the project file. Similar to Save All, but only saves the LabVIEW Project (*.lvproj) file.
Project Explorer-Filter Project View.png
Filter Project View - toggle Dependencies or Build Specification visibility.
Project Explorer-Resolve Conflicts.png
Resolve Conflicts... - opens conflict resolution dialog.
Build Toolbar
Project Explorer-Build All.png
Build All - builds all items in Build Specification
Project Explorer-Build Selected.png
Build Selected - builds the selected item in Build Specification
Project Explorer-Run From Build.png
Run From Build - builds and then the selected item in Build Specification
Source Control Toolbar
Project Explorer-Check Out.png
Check Out - checks out the file from Source Code Control if SCC integration has been turned on.
Project Explorer-Undo Check Out.png
Undo Check Out - checks in the file to Source Code Control without any changes if SCC integration has been turned on.
Project Explorer-Check In.png
Check In - checks in the file to Source Code Control with the changes if SCC integration has been turned on.
Project Explorer-Add to Source Code Control.png
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
Project Explorer-Run Unit Test.png
Run Unit Test - runs the unit test. Requires the Unit Test Framework.
Project Explorer-Unit Test Framework Results.png
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)
LabVIEW 8.5 In LabVIEW 8.5, with the introduction of Auto-populating Folders, the Items and Files tabs were added.
LabVIEW 8 First introduced in LabVIEW 8.

See Also

External Links