<type>documentation</type>
<domain>debug</domain>
<id>shell-options</id>
<title>Python Shell Options</title>
<date>$Date: 2006-12-28 17:21:05 -0500 (Thu, 28 Dec 2006) $</date>
<version>$Revision: 14455 $</version>
<product>all</product>

The ``Options`` menu in the ``Python Shell`` contains some settings that control how 
the shell works:  

**Enable Debugging** controls whether code run in the ``Python Shell`` will be debugged.

~~~if WINGPRO:
**Enable Recursive Prompt** in Wing Pro can be used to cause the ``Python Shell`` to present a new
prompt when debugging, even if the previous prompt invocation has not completed because
the debugger is paused or at a breakpoint or exception.  Execution returns to the 
previous prompt when the debug process is continued.
~~~

**Enable Auto-completion** controls whether Wing will show the auto-completer
in the ``Python Shell``.

**Wrap Lines** causes the shell to wrap long output lines in the display.

**Pretty Print** causes Wing to use Python's ``pprint`` module to format output.

**Filter History by Entered Prefix** causes up/down arrow key traversal of history
to match only items that start with the string between the prompt and the caret.  
If no string was typed before pressing the up arrow then all history items are traversed.

**Evaluate Only Whole Lines** causes Wing to round up the selection to the
nearest line when evaluating selections, making it easier to select the
desired range.

**Auto-restart when Evaluate File** causes Wing to automatically restart
the shell before evaluating a file, so that each evaluation is made within a 
clean new environment.

**Auto-restart when Switch Projects** causes Wing to automatically restart
the shell after switching projects, so that the shell environment will
match the project's configuration.

**Prompt to Confirm Restart** controls whether Wing will prompt before
restarting the ``Python Shell``.
  
~~~if not WING101:
**Use Environment** in Wing Pro and Wing Personal selects the runtime environment,
including initial working directory, for the ``Python Shell``. This may be `Project
Properties <ref:proj/project-properties>`__ or a selected `Launch Configuration
<ref:proj/launch-configs>`__.  When this is changed, the shell must be restarted
from its ``Options menu`` before a newly selected environment takes effect.

**Edit Environment** in Wing Pro and Wing Personal edits the runtime environment selected
with ``Use Environment``. This highlights the initial working directory property, but all
of the properties may be changed. The shell must be restarted from its ``Options`` menu
before the edited environment takes effect.
~~~

**Prompt on Stale Environment** controls whether Wing will display a dialog
indicating that the ``Python Shell`` is no longer using a Python environment 
that matches the configured environment.
  
