Features
IDLE has the following features:
- coded in 100% pure Python, using the Tkinter GUI toolkit (i.e. Tcl/Tk)
- cross-platform: works on Windows and Unix (on the Mac, there are
currently problems with Tcl/Tk)
- multi-window text editor with multiple undo, Python colorizing
and many other features, e.g. smart indent and call tips
- Python shell window (a.k.a. interactive interpreter)
- debugger (not complete, but you can set breakpoints, view and step)
Menus
File menu:
- New window
- create a new editing window
- Open...
- open an existing file
- Open module...
- open an existing module (searches sys.path)
- Class browser
- show classes and methods in current file
- Path browser
- show sys.path directories, modules, classes
and methods
- Save
- save current window to the associated file (unsaved
windows have a * before and after the window title)
- Save As...
- save current window to new file, which becomes
the associated file
- Save Copy As...
- save current window to different file
without changing the associated file
- Close
- close current window (asks to save if unsaved)
- Exit
- close all windows and quit IDLE (asks to save if unsaved)
Edit menu:
- Undo
- Undo last change to current window (max 1000 changes)
- Redo
- Redo last undone change to current window
- Cut
- Copy selection into system-wide clipboard; then delete selection
- Copy
- Copy selection into system-wide clipboard
- Paste
- Insert system-wide clipboard into window
- Select All
- Select the entire contents of the edit buffer
- Find...
- Open a search dialog box with many options
- Find again
- Repeat last search
- Find selection
- Search for the string in the selection
- Find in Files...
- Open a search dialog box for searching files
- Replace...
- Open a search-and-replace dialog box
- Go to line
- Ask for a line number and show that line
- Indent region
- Shift selected lines right 4 spaces
- Dedent region
- Shift selected lines left 4 spaces
- Comment out region
- Insert ## in front of selected lines
- Uncomment region
- Remove leading # or ## from selected lines
- Tabify region
- Turns leading stretches of spaces into tabs
- Untabify region
- Turn all tabs into the right number of spaces
- Expand word
- Expand the word you have typed to match another
word in the same buffer; repeat to get a different expansion
- Format Paragraph
- Reformat the current blank-line-separated paragraph
- Import module
- Import or reload the current module
- Run script
- Execute the current file in the __main__ namespace
Windows menu:
- Zoom Height
- toggles the window between normal size (24x80)
and maximum height.
The rest of this menu lists the names of all open windows; select one
to bring it to the foreground (deiconifying it if necessary).
Debug menu (in the Python Shell window only):
- Go to file/line
- look around the insert point for a filename
and linenumber, open the file, and show the line.
- Open stack viewer
- show the stack traceback of the last exception
- Debugger toggle
- Run commands in the shell under the debugger
- JIT Stack viewer toggle
- Open stack viewer on traceback
Basic editing and navigation:
- Backspace deletes to the left; DEL deletes to the right
- Arrow keys and Page Up/Down to move around
- Home/End go to begin/end of line
- Control-Home/End go to begin/end of file
- Some Emacs bindings may also work, e.g. ^B/^P/^A/^E/^D/^L
Automatic indentation:
After a block-opening statement, the next line is indented by 4 spaces
(in the Python Shell window by one tab). After certain keywords
(break, return etc.) the next line is dedented. In leading
indentation, Backspace deletes up to 4 spaces if they are there. Tab
inserts 1-4 spaces (in the Python Shell window one tab). See also the
indent/dedent region commands in the edit menu.
Python Shell window:
- ^C interrupts executing command
- ^D sends end-of-file; closes window if typed at >>> prompt
Command history:
- Alt-p retrieves previous command matching what you have typed
- Alt-n retrieves next
- Return while on any previous command retrieves that command
- Alt-/ (Expand word) is also useful here
Syntax colors:
The coloring is applied in a background "thread", so you may
occasionally see uncolorized text. To change the color scheme, edit
the [Colors] section in config.txt.
- Python syntax colors:
- Keywords:
orange
- Strings :
green
- Comments:
red
- Definitions:
blue
- Shell colors:
- Console output:
brown
- stdout:
blue
- stderr:
dark green
- stdin:
black
Command line usage:
idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...
-c command run this command
-d enable debugger
-e edit mode; arguments are files to be edited
-s run $IDLESTARTUP or $PYTHONSTARTUP first
-t title set title of shell window
If there are arguments:
- If -e is used, arguments are files opened for editing and
sys.argv reflects the arguments passed to IDLE itself.
-
Otherwise, if -c is used, all arguments are placed in
sys.argv[1:...], with sys.argv[0] set to '-c'.
-
Otherwise, if neither -e nor -c is used, the first
argument is a script which is executed with the remaining
arguments in sys.argv[1:...] and sys.argv[0] set to the
script name. If the script name is '-', no script is
executed but an interactive Python session is started; the
arguments are still available in sys.argv.