Tutorial: Other IDE Features
By now you have seen many of the IDE's features. Before we call it a day, let's look at a few other major features that are worth knowing about.
Wing's PyLint tool, available in the Tools menu, provides a simple integration with the command line code inspection tool pylint. To use this, you need to download and install pylint separately. Then right-click on the PyLint tool in Wing to configure the integration and update the tool's contents for the current file or package. Clicking on errors, warnings, and informational messages takes you to the source code that pylint is flagging.
Note that this screenshot was taken with User Interface > Display Style preference set to Match Palette using the Linen color palette. Each of the screenshots that follows uses a different display style.
The OS Commands tool can be used to set up, execute, and interact with external commands, for building, deployment, and other tasks. The Build Command field in the Debug/Execute tab of Project Properties can be used to configure and select one command to execute automatically before any debug session begins.
For details see OS Commands Tool.
Wing IDE Professional includes a Source Browser that can be used to inspect and navigate the module and class structure of your source code.
By default, the browser will display classes, methods, attributes, functions, and variables defined in the currently displayed source editor. The popup menu at the top left of the source browser can be used to alter the display to include all classes or all modules in the project. The Options menu in the top right allows filtering by origin, accessibility, and type of source symbols. The Options menu also allows sorting the view alphabetically, by type, or in the order that symbols occur in the source file.
Double clicking on items in the Source Browser opens them into an editor. When Follow Selection is enabled in the Options menu, Wing also opens files that are single-clicked or visited by keyboard navigation in the Source Browser. In this case, files are opened in non-sticky mode.
Notice that the Source Assistant tool is integrated with the Source Browser, and will update its content as you move around the Source Browser tree as it does for the editor, shells, and Project tool.
Wing allows you to create named sets of files which you can open as a group or search with the Search in Files tool. File sets can be created and opened from the File Sets item in the File menu, by selecting items and right-clicking in the Project tool, by right-clicking in the Open Files tool, and from the Filter and Options menus in the Search in Files tool.
Note that the Open Files tool is also useful for closing particular files or closing all files except a selected set.
Files can be created, deleted, moved, and renamed from the Project tool by right-clicking, dragging, and clicking on names in the tree. Deleted files are moved to the system's trash or recycling bin. When files are in a revision control system, Wing will also issue the necessary revision control commands to create, delete, move, or rename the file.
Perspectives are a way to store and later revisit particular arrangements of the user interface. For example, you may set up one set of visible tools to use when testing, another for working on documentation, and still another for debugging.
Perspectives are accessed from the Tools menu.
Optionally, Wing can automatically switch perspectives whenever debugging starts or stops, so that the user interface differs according to how the tools were left when last editing or debugging. This is done by selecting Enable Auto-Perspectives in the Tools menu.
For more information see Perspectives.
Extending the IDE
Wing IDE can be extended by writing Python scripts that call into the IDE's scripting API. This is useful for adding everything from simple editor commands and debugger add-ons to new tools (although the latter is for advanced users only; the PyLint tool mentioned above is an example of a tool implemented by a script).
There is a collection of user-contributed scripts for Wing IDE on the Wingware Wiki.
See also Scripting and Extending Wing IDE.