mirror of
https://github.com/python/cpython.git
synced 2024-12-12 03:04:15 +08:00
ccb416fee2
Patch by Al Sweigart.
369 lines
17 KiB
Plaintext
369 lines
17 KiB
Plaintext
[See the end of this file for ** TIPS ** on using IDLE !!]
|
|
|
|
IDLE is the Python IDE built with the tkinter GUI toolkit.
|
|
|
|
IDLE has the following features:
|
|
-coded in 100% pure Python, using the tkinter GUI toolkit
|
|
-cross-platform: works on Windows, Unix, and OS X
|
|
-multi-window text editor with multiple undo, Python colorizing, smart indent,
|
|
call tips, and many other features
|
|
-Python shell window (a.k.a interactive interpreter)
|
|
-debugger (not complete, but you can set breakpoints, view and step)
|
|
|
|
Menus:
|
|
|
|
IDLE has two window types the Shell window and the Editor window. It is
|
|
possible to have multiple editor windows simultaneously. IDLE's
|
|
menus dynamically change based on which window is currently selected. Each menu
|
|
documented below indicates which window type it is associated with. Click on
|
|
the dotted line at the top of a menu to "tear it off": a separate window
|
|
containing the menu is created (for Unix and Windows only).
|
|
|
|
File Menu (Shell and Editor):
|
|
|
|
New File -- Create a new file editing window
|
|
Open... -- Open an existing file
|
|
Open Module... -- Open an existing module (searches sys.path)
|
|
Recent Files... -- Open a list of recent files
|
|
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
|
|
---
|
|
Print Window -- Print the current window
|
|
---
|
|
Close -- Close current window (asks to save if unsaved)
|
|
Exit -- Close all windows, quit (asks to save if unsaved)
|
|
|
|
Edit Menu (Shell and Editor):
|
|
|
|
Undo -- Undo last change to current window
|
|
(a maximum of 1000 changes may be undone)
|
|
Redo -- Redo last undone change to current window
|
|
---
|
|
Cut -- Copy a selection into system-wide clipboard,
|
|
then delete the 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
|
|
Expand Word -- Expand the word you have typed to match another
|
|
word in the same buffer; repeat to get a
|
|
different expansion
|
|
Show Calltip -- After an unclosed parenthesis for a function, open
|
|
a small window with function parameter hints
|
|
Show Parens -- Highlight the surrounding parenthesis
|
|
Show Completions -- Open a scroll window allowing selection keywords
|
|
and attributes. (see '*TIPS*', below)
|
|
|
|
Format Menu (Editor window only):
|
|
|
|
Indent Region -- Shift selected lines right by the indent width
|
|
(default 4 spaces)
|
|
Dedent Region -- Shift selected lines left by the indent width
|
|
(default 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.
|
|
(Note: We recommend using 4 space blocks to indent Python code.)
|
|
Untabify Region -- Turn *all* tabs into the corrent number of spaces
|
|
Toggle tabs -- Open a dialog to switch between indenting with
|
|
spaces and tabs.
|
|
New Indent Width... -- Open a dialog to change indent width. The
|
|
accepted default by the Python community is 4
|
|
spaces.
|
|
Format Paragraph -- Reformat the current blank-line-separated
|
|
paragraph. All lines in the paragraph will be
|
|
formatted to less than 80 columns.
|
|
---
|
|
Strip trailing whitespace -- Removed any space characters after the end
|
|
of the last non-space character
|
|
|
|
Run Menu (Editor window only):
|
|
|
|
Python Shell -- Open or wake up the Python shell window
|
|
---
|
|
Check Module -- Check the syntax of the module currently open in the
|
|
Editor window. If the module has not been saved IDLE
|
|
will prompt the user to save the code.
|
|
Run Module -- Restart the shell to clean the environment, then
|
|
execute the currently open module. If the module has
|
|
not been saved IDLE will prompt the user to save the
|
|
code.
|
|
|
|
Shell Menu (Shell window only):
|
|
|
|
View Last Restart -- Scroll the shell window to the last Shell restart
|
|
Restart Shell -- Restart the shell to clean the environment
|
|
|
|
Debug Menu (Shell window only):
|
|
|
|
Go to File/Line -- Look around the insert point for a filename
|
|
and line number, open the file, and show the line.
|
|
Useful to view the source lines referenced in an
|
|
exception traceback. Available in the context
|
|
menu of the Shell window.
|
|
Debugger (toggle) -- This feature is not complete and considered
|
|
experimental. Run commands in the shell under the
|
|
debugger.
|
|
Stack Viewer -- Show the stack traceback of the last exception
|
|
Auto-open Stack Viewer (toggle) -- Toggle automatically opening the
|
|
stack viewer on unhandled
|
|
exception
|
|
|
|
Options Menu (Shell and Editor):
|
|
|
|
Configure IDLE -- Open a configuration dialog. Fonts, indentation,
|
|
keybindings, and color themes may be altered.
|
|
Startup Preferences may be set, and additional Help
|
|
sources can be specified.
|
|
|
|
---
|
|
Code Context (toggle) -- Open a pane at the top of the edit window
|
|
which shows the block context of the section
|
|
of code which is scrolling off the top or the
|
|
window. This is not present in the Shell
|
|
window only the Editor window.
|
|
|
|
Window Menu (Shell and Editor):
|
|
|
|
Zoom Height -- Toggles the window between normal size (40x80 initial
|
|
setting) and maximum height. The initial size is in the Configure
|
|
IDLE dialog under the general tab.
|
|
---
|
|
The rest of this menu lists the names of all open windows;
|
|
select one to bring it to the foreground (deiconifying it if
|
|
necessary).
|
|
|
|
Help Menu:
|
|
|
|
About IDLE -- Version, copyright, license, credits
|
|
---
|
|
IDLE Help -- Display this file which is a help file for IDLE
|
|
detailing the menu options, basic editing and navigation,
|
|
and other tips.
|
|
Python Docs -- Access local Python documentation, if
|
|
installed. Or will start a web browser and open
|
|
docs.python.org showing the latest Python documentation.
|
|
---
|
|
Additional help sources may be added here with the Configure IDLE
|
|
dialog under the General tab.
|
|
|
|
Editor context menu (Right-click / Control-click on OS X in Edit window):
|
|
|
|
Cut -- Copy a selection into system-wide clipboard,
|
|
then delete the selection
|
|
Copy -- Copy selection into system-wide clipboard
|
|
Paste -- Insert system-wide clipboard into window
|
|
Set Breakpoint -- Sets a breakpoint. Breakpoints are only enabled
|
|
when the debugger is open.
|
|
Clear Breakpoint -- Clears the breakpoint on that line
|
|
|
|
Shell context menu (Right-click / Control-click on OS X in Shell window):
|
|
|
|
Cut -- Copy a selection into system-wide clipboard,
|
|
then delete the selection
|
|
Copy -- Copy selection into system-wide clipboard
|
|
Paste -- Insert system-wide clipboard into window
|
|
---
|
|
Go to file/line -- Same as in Debug menu
|
|
|
|
|
|
** TIPS **
|
|
==========
|
|
|
|
Additional Help Sources:
|
|
|
|
Windows users can Google on zopeshelf.chm to access Zope help files in
|
|
the Windows help format. The Additional Help Sources feature of the
|
|
configuration GUI supports .chm, along with any other filetypes
|
|
supported by your browser. Supply a Menu Item title, and enter the
|
|
location in the Help File Path slot of the New Help Source dialog. Use
|
|
http:// and/or www. to identify external URLs, or download the file and
|
|
browse for its path on your machine using the Browse button.
|
|
|
|
All users can access the extensive sources of help, including
|
|
tutorials, available at docs.python.org. Selected URLs can be added
|
|
or removed from the Help menu at any time using Configure IDLE.
|
|
|
|
Basic editing and navigation:
|
|
|
|
Backspace deletes char to the left; DEL deletes char to the right.
|
|
Control-backspace deletes word left, Control-DEL deletes word right.
|
|
Arrow keys and Page Up/Down move around.
|
|
Control-left/right Arrow moves by words in a strange but useful way.
|
|
Home/End go to begin/end of line.
|
|
Control-Home/End go to begin/end of file.
|
|
Some useful Emacs bindings are inherited from Tcl/Tk:
|
|
Control-a beginning of line
|
|
Control-e end of line
|
|
Control-k kill line (but doesn't put it in clipboard)
|
|
Control-l center window around the insertion point
|
|
Standard keybindings (like Control-c to copy and Control-v to
|
|
paste) may work. Keybindings are selected in the Configure IDLE
|
|
dialog.
|
|
|
|
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 spaces (in the Python Shell window one tab), number depends on
|
|
Indent Width. Currently tabs are restricted to four spaces due
|
|
to Tcl/Tk limitations.
|
|
|
|
See also the indent/dedent region commands in the edit menu.
|
|
|
|
Completions:
|
|
|
|
Completions are supplied for functions, classes, and attributes of
|
|
classes, both built-in and user-defined. Completions are also provided
|
|
for filenames.
|
|
|
|
The AutoCompleteWindow (ACW) will open after a predefined delay
|
|
(default is two seconds) after a '.' or (in a string) an os.sep is
|
|
typed. If after one of those characters (plus zero or more other
|
|
characters) a tab is typed the ACW will open immediately if a possible
|
|
continuation is found.
|
|
|
|
If there is only one possible completion for the characters entered, a
|
|
tab will supply that completion without opening the ACW.
|
|
|
|
'Show Completions' will force open a completions window, by default the
|
|
Control-space keys will open a completions window. In an empty
|
|
string, this will contain the files in the current directory. On a
|
|
blank line, it will contain the built-in and user-defined functions and
|
|
classes in the current name spaces, plus any modules imported. If some
|
|
characters have been entered, the ACW will attempt to be more specific.
|
|
|
|
If string of characters is typed, the ACW selection will jump to the
|
|
entry most closely matching those characters. Entering a tab will cause
|
|
the longest non-ambiguous match to be entered in the Edit window or
|
|
Shell. Two tabs in a row will supply the current ACW selection, as
|
|
will return or a double click. Cursor keys, Page Up/Down, mouse
|
|
selection, and the scroll wheel all operate on the ACW.
|
|
|
|
"Hidden" attributes can be accessed by typing the beginning of hidden
|
|
name after a '.', e.g. '_'. This allows access to modules with
|
|
'__all__' set, or to class-private attributes.
|
|
|
|
Completions and the 'Expand Word' facility can save a lot of typing!
|
|
|
|
Completions are currently limited to those in the namespaces. Names in
|
|
an Editor window which are not via __main__ or sys.modules will not be
|
|
found. Run the module once with your imports to correct this
|
|
situation. Note that IDLE itself places quite a few modules in
|
|
sys.modules, so much can be found by default, e.g. the re module.
|
|
|
|
If you don't like the ACW popping up unbidden, simply make the delay
|
|
longer or disable the extension. Or another option is the delay could
|
|
be set to zero. Another alternative to preventing ACW popups is to
|
|
disable the call tips extension.
|
|
|
|
Python Shell window:
|
|
|
|
Control-c interrupts executing command.
|
|
Control-d sends end-of-file; closes window if typed at >>> prompt.
|
|
Alt-/ expand word is also useful to reduce typing.
|
|
|
|
Command history:
|
|
|
|
Alt-p retrieves previous command matching what you have typed. On OS X
|
|
use Control-p.
|
|
Alt-n retrieves next. On OS X use Control-n.
|
|
Return while cursor is on a previous command retrieves that command.
|
|
|
|
Syntax colors:
|
|
|
|
The coloring is applied in a background "thread", so you may
|
|
occasionally see uncolorized text. To change the color
|
|
scheme, use the Configure IDLE / Highlighting dialog.
|
|
|
|
Python default syntax colors:
|
|
|
|
Keywords orange
|
|
Builtins royal purple
|
|
Strings green
|
|
Comments red
|
|
Definitions blue
|
|
|
|
Shell default colors:
|
|
|
|
Console output brown
|
|
stdout blue
|
|
stderr red
|
|
stdin black
|
|
|
|
Other preferences:
|
|
|
|
The font preferences, highlighting, keys, and general preferences can
|
|
be changed via the Configure IDLE menu option. Be sure to note that
|
|
keys can be user defined, IDLE ships with four built in key sets. In
|
|
addition a user can create a custom key set in the Configure IDLE
|
|
dialog under the keys tab.
|
|
|
|
Command line usage:
|
|
|
|
Enter idle -h at the command prompt to get a usage message.
|
|
|
|
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:
|
|
1. If -e is used, arguments are files opened for editing and sys.argv
|
|
reflects the arguments passed to IDLE itself.
|
|
2. Otherwise, if -c is used, all arguments are placed in
|
|
sys.argv[1:...], with sys.argv[0] set to -c.
|
|
3. 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.
|
|
|
|
Running without a subprocess: (DEPRECATED in Python 3.4 see Issue 16123)
|
|
|
|
If IDLE is started with the -n command line switch it will run in a
|
|
single process and will not create the subprocess which runs the RPC
|
|
Python execution server. This can be useful if Python cannot create
|
|
the subprocess or the RPC socket interface on your platform. However,
|
|
in this mode user code is not isolated from IDLE itself. Also, the
|
|
environment is not restarted when Run/Run Module (F5) is selected. If
|
|
your code has been modified, you must reload() the affected modules and
|
|
re-import any specific items (e.g. from foo import baz) if the changes
|
|
are to take effect. For these reasons, it is preferable to run IDLE
|
|
with the default subprocess if at all possible.
|
|
|
|
Extensions:
|
|
|
|
IDLE contains an extension facility. See the beginning of
|
|
config-extensions.def in the idlelib directory for further information.
|
|
The default extensions are currently:
|
|
|
|
FormatParagraph
|
|
AutoExpand
|
|
ZoomHeight
|
|
ScriptBinding
|
|
CallTips
|
|
ParenMatch
|
|
AutoComplete
|
|
CodeContext
|