<type>documentation</type>
<domain>scripting</domain>
<id>scripting</id>
<title>Scripting and Extending Wing</title>
<date>$Date$</date>
<version>$Revision$</version>
<product>per+</product>

Wing Pro and Wing Personal provide an API that can be used to extend the IDE's
functionality with scripts written in Python. Scripts add to the IDE's command set, which
is accessible from menus, the toolbar, and key bindings.

Wing finds and loads scripts at startup, and reloads them when they are edited within Wing
and saved to disk. The API allows scripts to access the editor, debugger, project manager,
search tools, source code analysis engine, asynchronous task manager, and a range of other
functionality. The scripting API also provides access to all of Wing's `preferences
<ref:preferences/index>`__ and `commands <ref:commands/index>`__.

Simple scripts can be developed and debugged using error messages displayed in the ``Scripts``
channel of the `Messages <script:show_panel#panel_type="messages">`__ tool. It is also
possible to configure a project that supports auto-completion and integrated documentation
for the scripting API, and that allows debugging extension scripts within Wing.

More advanced scripting, including the ability to add new tools, is available as well.
