<type>documentation</type>
<domain>proj</domain>
<id>navigating-to-source</id>
<title>File Operations</title>
<date>$Date$</date>
<version>$Revision$</version>
<product>per+</product>

~~~if WINGPRO:
The ``Project`` tool's right-click context menu can be used to execute, debug, and 
search files, interact with the active revision control system, and define named
sets of files to edit and search.  
~~~
~~~if not WINGPRO:
The ``Project`` tool's right-click context menu can be used to execute, debug, and 
search files, and define named sets of files to edit and search.  
~~~
The set of operations that will be shown in the context menu are configurable 
from the menu, with ``Configure Menu``. 

**Executing**

You can execute Makefiles, Python source code, and any executable files
by right-clicking on the ``Project`` tool and selecting ``Execute Selected``.  
This executes outside of the debugger with any input/output occurring in the 
`OS Commands <ref:oscommands/index>`__ tool, where the runtime environment for 
the execution can be configured.

**Debugging**

Python files listed in the ``Project`` tool can be debugged by right-clicking
and selecting ``Debug Selected``.  A particular file can be marked
as the main entry point by selecting ``Set as Main Entry Point``.  Once this is
done, the file will be debugged when starting debug from the ``Debug`` menu
or toolbar.  For more information on debugging, see `Debugger <ref:debug/index>`__.

**Searching**

The contents of files and directories may be searched from the ``Project`` tool by
right-clicking on them and selecting ``Search in Selected``. This displays the `Search in
Files <ref:edit/search-in-files>`__ tool and sets the ``Look in`` search scope to the
selected item. Focus is placed on the ``Search`` field so the search string can be
entered.

~~~if WINGPRO:
**Version Control**

In Wing Pro, the ``Project`` tool will show version control status superimposed
on the file and directory icons, and version control operations are available 
in the right-click context menu.  See `Integrated Version Control 
<ref:versioncontrol/index>`__ for details.
~~~

**File Sets**

Arbitrary sets of files can be selected on the ``Project`` tool by clicking,
shift-clicking, and ctrl-clicking (or command-clicking on OS X).  When this is
done, the set of files can be named for later reference by right-clicking on 
one of the selected items and choosing ``Name Selected File Set``.  The file
set will then appear in the ``File > File Sets`` menu.  See `File Sets <ref:edit/file-sets>`__
for details.

