The IDL Workbench > Project Explorer

# The Project Explorer

The IDL Workbench's Project Explorer is similar to many file browsers in other graphical user interfaces - it is an intuitive way to organize your files in a hierarchical tree-type view.

The screenshot below shows an example of the Project Explorer, with "closed" and "open" projects delineated.

### What Is a Project?

Many programmers create directories on their computers or networks that hold related source code and supporting files. Think of a Project in the Workbench as being equivalent to these directories - logical groupings of related files.

### Advantages of Projects

The advantages of using individual projects rather than storing all of your files under one project:

- Stay organized: keep related code and supporting files together.
- Cleaner, more efficient builds: build an entire project at once rather than compiling .PRO files individually.
- Can set the compile order for the project, as well as other preferences used during the build process.
- Make it easier to export/share related files.
- You can use Projects to manage IDL's path. An open project is in the path and a closed project is not. This also gives you a visual indication of what is in the current IDL path.

## Right-Click Project Menu

If you right click on a project name you can perform many operations on the project. These same options are also available from the Workbench's Menubar and Toolbar. Some of the operations available for the project are: opening/closing , importing/exporting, building, etc.

The full list of options available from Project Explorer's right-click menu:

New File - Creates a new file for editing in the Editor View.

New Project - Creates a new project either in your default IDL Workspace or in a directory that you specify.

New ENVI Extension - Creates a new project that holds a user-defined ENVI extension.

New Task - Creates a new Task for use with ENVI Services Engine and generates the template JSON and PRO code.

New Folder - Brings up a dialog that allows you to create a new folder within a project.

Go Into - Shows only the current project files. All other projects are hidden.

Copy - Copies selected project, file, or folder (<CTRL><C>).

Paste - Used to "paste" whatever you just copied using the Copy button, <CTRL><C>, or EDIT>Copy (<CTRL><V>).

Delete - Removes selected item (<DELETE>).

Move - Brings up a dialog allowing you to move the selected file or project to a new location in the Project Tree.

Rename - Allows you to rename a file or project (<F2>).

Import - Brings up a dialog allowing you to designate a directory as a project in the Project Explorer.

Export - Allows you to push the project out to another location as a cohesive grouping.

Run Project - Executes the selected project.

Build Project - Compiles all of the files in the selected project (<CTRL><B>).

Refresh - Updates the contents of the selected project or folder.

Close/Open Project - Closes or opens the selected project.

Close Unrelated Projects - Pretty much does what it says - closes any project that does not have a reference to the selected project.

Set Selection as Current Working Directory - Changes the current working directory of the IDL Console to the selected project's location.

Team - Holds commands for version control (SVN, CVS, Git, Perforce).

Compare With - Allows you to compare two selected files. Alternatively, when a project is under version control, it allows you to compare the current file with an older version of the file.

Restore from Local History - Allows you to recover deleted project files.

Properties

- Resource - Shows path and location of the project on your computer, file encoding, and delimiter information.
- IDL Build Properties - Options for executing .RESET_SESSION, pre-process commands, compiling files, and creating Save files.
- IDL Compile Order - Set the order of compilation that will be used during your project's build.
- IDL Project Properties - Updating the IDL path, executing .RESET_SESSION, JSON validation, and building the project before running the result.
- Project References - Allows you to specify projects that are referenced from the current project.

## Right-Click File Menu

Right-clicking on the name of a file will bring up a dialog that is essentially the same as the Project Menu except:

- Project-specific options are not available in the menu.
- Properties - only a very abbreviated set of properties for file permission and text file encoding are available.
- Toggle Exclude from Build - allows you to exclude/include a particular file from the project's build process.

## See Also

Class Hierarchy, Command History, Console View, Preferences, Editor View, Menubar and Toolbar, Outline View, Problems View, Profiler View, Workbench Overview, Variables View