blob: c248956f3a49877d032730737b5f127a0a898f14 [file] [log] [blame]
Georg Brandl116aa622007-08-15 14:28:22 +00001.. _idle:
2
Christian Heimes5b5e81c2007-12-31 16:14:33 +00003IDLE
Georg Brandl116aa622007-08-15 14:28:22 +00004====
5
6.. moduleauthor:: Guido van Rossum <guido@Python.org>
7
Georg Brandl116aa622007-08-15 14:28:22 +00008.. index::
Christian Heimes5b5e81c2007-12-31 16:14:33 +00009 single: IDLE
Georg Brandl116aa622007-08-15 14:28:22 +000010 single: Python Editor
11 single: Integrated Development Environment
12
Georg Brandlac6060c2008-05-17 18:44:45 +000013IDLE is the Python IDE built with the :mod:`tkinter` GUI toolkit.
Georg Brandl116aa622007-08-15 14:28:22 +000014
15IDLE has the following features:
16
Georg Brandlac6060c2008-05-17 18:44:45 +000017* coded in 100% pure Python, using the :mod:`tkinter` GUI toolkit
Georg Brandl116aa622007-08-15 14:28:22 +000018
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020019* cross-platform: works on Windows, Unix, and Mac OS X
Georg Brandl116aa622007-08-15 14:28:22 +000020
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020021* multi-window text editor with multiple undo, Python colorizing,
22 smart indent, call tips, and many other features
Georg Brandl116aa622007-08-15 14:28:22 +000023
24* Python shell window (a.k.a. interactive interpreter)
25
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020026* debugger (not complete, but you can set breakpoints, view and step)
Georg Brandl116aa622007-08-15 14:28:22 +000027
28
29Menus
30-----
31
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020032IDLE has two window types, the Shell window and the Editor window. It is
33possible to have multiple editor windows simultaneously. IDLE's
34menus dynamically change based on which window is currently selected. Each menu
35documented below indicates which window type it is associated with. Click on
36the dotted line at the top of a menu to "tear it off": a separate window
37containing the menu is created (for Unix and Windows only).
Georg Brandl116aa622007-08-15 14:28:22 +000038
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020039File menu (Shell and Editor)
40^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Georg Brandl116aa622007-08-15 14:28:22 +000041
42New window
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020043 Create a new editing window
Georg Brandl116aa622007-08-15 14:28:22 +000044
45Open...
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020046 Open an existing file
Georg Brandl116aa622007-08-15 14:28:22 +000047
48Open module...
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020049 Open an existing module (searches sys.path)
50
51Recent Files
52 Open a list of recent files
Georg Brandl116aa622007-08-15 14:28:22 +000053
54Class browser
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020055 Show classes and methods in current file
Georg Brandl116aa622007-08-15 14:28:22 +000056
57Path browser
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020058 Show sys.path directories, modules, classes and methods
Georg Brandl116aa622007-08-15 14:28:22 +000059
60.. index::
61 single: Class browser
62 single: Path browser
63
64Save
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020065 Save current window to the associated file (unsaved windows have a
66 \* before and after the window title)
Georg Brandl116aa622007-08-15 14:28:22 +000067
68Save As...
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020069 Save current window to new file, which becomes the associated file
Georg Brandl116aa622007-08-15 14:28:22 +000070
71Save Copy As...
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020072 Save current window to different file without changing the associated file
73
74Print Window
75 Print the current window
Georg Brandl116aa622007-08-15 14:28:22 +000076
77Close
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020078 Close current window (asks to save if unsaved)
Georg Brandl116aa622007-08-15 14:28:22 +000079
80Exit
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020081 Close all windows and quit IDLE (asks to save if unsaved)
Georg Brandl116aa622007-08-15 14:28:22 +000082
83
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020084Edit menu (Shell and Editor)
85^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Georg Brandl116aa622007-08-15 14:28:22 +000086
87Undo
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020088 Undo last change to current window (a maximum of 1000 changes may be undone)
Georg Brandl116aa622007-08-15 14:28:22 +000089
90Redo
91 Redo last undone change to current window
92
93Cut
Andrew Svetlov1bd7f022013-01-14 19:27:36 +020094 Copy selection into system-wide clipboard; then delete the selection
Georg Brandl116aa622007-08-15 14:28:22 +000095
96Copy
97 Copy selection into system-wide clipboard
98
99Paste
100 Insert system-wide clipboard into window
101
102Select All
103 Select the entire contents of the edit buffer
104
105Find...
106 Open a search dialog box with many options
107
108Find again
109 Repeat last search
110
111Find selection
112 Search for the string in the selection
113
114Find in Files...
115 Open a search dialog box for searching files
116
117Replace...
118 Open a search-and-replace dialog box
119
120Go to line
121 Ask for a line number and show that line
122
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200123Expand word
124 Expand the word you have typed to match another word in the same buffer;
125 repeat to get a different expansion
126
127Show call tip
128 After an unclosed parenthesis for a function, open a small window with
129 function parameter hints
130
131Show surrounding parens
132 Highlight the surrounding parenthesis
133
134Show Completions
135 Open a scroll window allowing selection keywords and attributes. See
136 Completions below.
137
138
139Format menu (Editor window only)
140^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
141
Georg Brandl116aa622007-08-15 14:28:22 +0000142Indent region
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200143 Shift selected lines right by the indent width (default 4 spaces)
Georg Brandl116aa622007-08-15 14:28:22 +0000144
145Dedent region
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200146 Shift selected lines left by the indent width (default 4 spaces)
Georg Brandl116aa622007-08-15 14:28:22 +0000147
148Comment out region
149 Insert ## in front of selected lines
150
151Uncomment region
152 Remove leading # or ## from selected lines
153
154Tabify region
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200155 Turns *leading* stretches of spaces into tabs. (Note: We recommend using
156 4 space blocks to indent Python code.)
Georg Brandl116aa622007-08-15 14:28:22 +0000157
158Untabify region
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200159 Turn *all* tabs into the correct number of spaces
Georg Brandl116aa622007-08-15 14:28:22 +0000160
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200161Toggle tabs
162 Open a dialog to switch between indenting with spaces and tabs.
163
164New Indent Width
165 Open a dialog to change indent width. The accepted default by the Python
166 community is 4 spaces.
Georg Brandl116aa622007-08-15 14:28:22 +0000167
168Format Paragraph
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200169 Reformat the current blank-line-separated paragraph. All lines in the
170 paragraph will be formatted to less than 80 columns.
Georg Brandl116aa622007-08-15 14:28:22 +0000171
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200172Strip trailing whitespace
173 Removes any space characters after the end of the last non-space character
Georg Brandl116aa622007-08-15 14:28:22 +0000174
175.. index::
176 single: Import module
177 single: Run script
178
179
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200180Run menu (Editor window only)
181^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Georg Brandl116aa622007-08-15 14:28:22 +0000182
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200183Python Shell
184 Open or wake up the Python Shell window
Georg Brandl116aa622007-08-15 14:28:22 +0000185
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200186Check module
187 Check the syntax of the module currently open in the Editor window. If the
188 module has not been saved IDLE will prompt the user to save the code.
Georg Brandl116aa622007-08-15 14:28:22 +0000189
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200190Run module
191 Restart the shell to clean the environment, then execute the currently
192 open module. If the module has not been saved IDLE will prompt the user
193 to save the code.
Georg Brandl116aa622007-08-15 14:28:22 +0000194
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200195Shell menu (Shell window only)
196^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Ned Deily2778d0d2012-10-20 13:25:34 -0700197
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200198View Last Restart
199 Scroll the shell window to the last Shell restart
200
201Restart Shell
202 Restart the shell to clean the environment
203
204Debug menu (Shell window only)
205^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Georg Brandl116aa622007-08-15 14:28:22 +0000206
207Go to file/line
Ned Deily2778d0d2012-10-20 13:25:34 -0700208 Look around the insert point for a filename and line number, open the file,
209 and show the line. Useful to view the source lines referenced in an
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200210 exception traceback. Available in the context menu of the Shell window.
Georg Brandl116aa622007-08-15 14:28:22 +0000211
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200212Debugger (toggle)
213 This feature is not complete and considered experimental. Run commands in
214 the shell under the debugger
Georg Brandl116aa622007-08-15 14:28:22 +0000215
Ned Deily2778d0d2012-10-20 13:25:34 -0700216Stack viewer
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200217 Show the stack traceback of the last exception
Georg Brandl116aa622007-08-15 14:28:22 +0000218
Ned Deily2778d0d2012-10-20 13:25:34 -0700219Auto-open Stack Viewer
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200220 Toggle automatically opening the stack viewer on unhandled exception
Georg Brandl116aa622007-08-15 14:28:22 +0000221
222.. index::
223 single: stack viewer
224 single: debugger
225
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200226Options menu (Shell and Editor)
227^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Georg Brandl116aa622007-08-15 14:28:22 +0000228
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200229Configure IDLE
230 Open a configuration dialog. Fonts, indentation, keybindings, and color
231 themes may be altered. Startup Preferences may be set, and additional
232 help sources can be specified.
Ned Deily2778d0d2012-10-20 13:25:34 -0700233
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200234Code Context (toggle)(Editor Window only)
235 Open a pane at the top of the edit window which shows the block context
236 of the section of code which is scrolling off the top of the window.
237
238Windows menu (Shell and Editor)
239^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
240
241Zoom Height
242 Toggles the window between normal size (40x80 initial setting) and maximum
243 height. The initial size is in the Configure IDLE dialog under the general
244 tab.
245
246The rest of this menu lists the names of all open windows; select one to bring
247it to the foreground (deiconifying it if necessary).
248
249Help menu (Shell and Editor)
250^^^^^^^^^^^^^^^^^^^^^^^^^^^^
251
252About IDLE
253 Version, copyright, license, credits
254
255IDLE Help
256 Display a help file for IDLE detailing the menu options, basic editing and
257 navigation, and other tips.
258
259Python Docs
260 Access local Python documentation, if installed. Or will start a web browser
261 and open docs.python.org showing the latest Python documentation.
262
263Additional help sources may be added here with the Configure IDLE dialog under
264the General tab.
265
266Editor Window context menu
267^^^^^^^^^^^^^^^^^^^^^^^^^^
268
269* Right-click in Editor window (Control-click on OS X)
Ned Deily2778d0d2012-10-20 13:25:34 -0700270
Andrew Svetlovd1837672012-11-01 22:41:19 +0200271Cut
272 Copy selection into system-wide clipboard; then delete selection
273
274Copy
275 Copy selection into system-wide clipboard
276
277Paste
278 Insert system-wide clipboard into window
279
Ned Deily2778d0d2012-10-20 13:25:34 -0700280Set Breakpoint
281 Sets a breakpoint. Breakpoints are only enabled when the debugger is open.
282
283Clear Breakpoint
284 Clears the breakpoint on that line.
285
286.. index::
Andrew Svetlovd1837672012-11-01 22:41:19 +0200287 single: Cut
288 single: Copy
289 single: Paste
Ned Deily2778d0d2012-10-20 13:25:34 -0700290 single: Set Breakpoint
291 single: Clear Breakpoint
292 single: breakpoints
293
294
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200295Shell Window context menu
296^^^^^^^^^^^^^^^^^^^^^^^^^
Ned Deily2778d0d2012-10-20 13:25:34 -0700297
298* Right-click in Python Shell window (Control-click on OS X)
299
Andrew Svetlovd1837672012-11-01 22:41:19 +0200300Cut
301 Copy selection into system-wide clipboard; then delete selection
302
303Copy
304 Copy selection into system-wide clipboard
305
306Paste
307 Insert system-wide clipboard into window
308
Ned Deily2778d0d2012-10-20 13:25:34 -0700309Go to file/line
310 Same as in Debug menu.
311
312
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200313Editing and navigation
314----------------------
Georg Brandl116aa622007-08-15 14:28:22 +0000315
316* :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right
317
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200318* :kbd:`C-Backspace` delete word left; :kbd:`C-Del` delete word to the right
319
Georg Brandl116aa622007-08-15 14:28:22 +0000320* Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around
321
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200322* :kbd:`C-LeftArrow` and :kbd:`C-RightArrow` moves by words
323
Georg Brandl116aa622007-08-15 14:28:22 +0000324* :kbd:`Home`/:kbd:`End` go to begin/end of line
325
326* :kbd:`C-Home`/:kbd:`C-End` go to begin/end of file
327
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200328* Some useful Emacs bindings are inherited from Tcl/Tk:
329
330 * :kbd:`C-a` beginning of line
331
332 * :kbd:`C-e` end of line
333
334 * :kbd:`C-k` kill line (but doesn't put it in clipboard)
335
336 * :kbd:`C-l` center window around the insertion point
337
338 * :kbd:`C-b` go backwards one character without deleting (usually you can
339 also use the cursor key for this)
340
341 * :kbd:`C-f` go forward one character without deleting (usually you can
342 also use the cursor key for this)
343
344 * :kbd:`C-p` go up one line (usually you can also use the cursor key for
345 this)
346
347 * :kbd:`C-d` delete next character
348
349Standard keybindings (like :kbd:`C-c` to copy and :kbd:`C-v` to paste)
350may work. Keybindings are selected in the Configure IDLE dialog.
Georg Brandl116aa622007-08-15 14:28:22 +0000351
352
353Automatic indentation
354^^^^^^^^^^^^^^^^^^^^^
355
356After a block-opening statement, the next line is indented by 4 spaces (in the
357Python Shell window by one tab). After certain keywords (break, return etc.)
358the next line is dedented. In leading indentation, :kbd:`Backspace` deletes up
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200359to 4 spaces if they are there. :kbd:`Tab` inserts spaces (in the Python
360Shell window one tab), number depends on Indent width. Currently tabs
361are restricted to four spaces due to Tcl/Tk limitations.
Georg Brandl116aa622007-08-15 14:28:22 +0000362
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200363See also the indent/dedent region commands in the edit menu.
364
365Completions
366^^^^^^^^^^^
367
368Completions are supplied for functions, classes, and attributes of classes,
369both built-in and user-defined. Completions are also provided for
370filenames.
371
372The AutoCompleteWindow (ACW) will open after a predefined delay (default is
373two seconds) after a '.' or (in a string) an os.sep is typed. If after one
374of those characters (plus zero or more other characters) a tab is typed
375the ACW will open immediately if a possible continuation is found.
376
377If there is only one possible completion for the characters entered, a
378:kbd:`Tab` will supply that completion without opening the ACW.
379
380'Show Completions' will force open a completions window, by default the
381:kbd:`C-space` will open a completions window. In an empty
382string, this will contain the files in the current directory. On a
383blank line, it will contain the built-in and user-defined functions and
384classes in the current name spaces, plus any modules imported. If some
385characters have been entered, the ACW will attempt to be more specific.
386
387If a string of characters is typed, the ACW selection will jump to the
388entry most closely matching those characters. Entering a :kbd:`tab` will
389cause the longest non-ambiguous match to be entered in the Editor window or
390Shell. Two :kbd:`tab` in a row will supply the current ACW selection, as
391will return or a double click. Cursor keys, Page Up/Down, mouse selection,
392and the scroll wheel all operate on the ACW.
393
394"Hidden" attributes can be accessed by typing the beginning of hidden
395name after a '.', e.g. '_'. This allows access to modules with
396``__all__`` set, or to class-private attributes.
397
398Completions and the 'Expand Word' facility can save a lot of typing!
399
400Completions are currently limited to those in the namespaces. Names in
401an Editor window which are not via ``__main__`` and :data:`sys.modules` will
402not be found. Run the module once with your imports to correct this situation.
403Note that IDLE itself places quite a few modules in sys.modules, so
404much can be found by default, e.g. the re module.
405
406If you don't like the ACW popping up unbidden, simply make the delay
407longer or disable the extension. Or another option is the delay could
408be set to zero. Another alternative to preventing ACW popups is to
409disable the call tips extension.
Georg Brandl116aa622007-08-15 14:28:22 +0000410
411Python Shell window
412^^^^^^^^^^^^^^^^^^^
413
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200414* :kbd:`C-c` interrupts executing command
Georg Brandl116aa622007-08-15 14:28:22 +0000415
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200416* :kbd:`C-d` sends end-of-file; closes window if typed at a ``>>>`` prompt
417 (this is :kbd:`C-z` on Windows).
Georg Brandl116aa622007-08-15 14:28:22 +0000418
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200419* :kbd:`Alt-/` (Expand word) is also useful to reduce typing
Georg Brandl116aa622007-08-15 14:28:22 +0000420
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200421 Command history
Georg Brandl116aa622007-08-15 14:28:22 +0000422
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200423 * :kbd:`Alt-p` retrieves previous command matching what you have typed. On
424 OS X use :kbd:`C-p`.
Georg Brandl116aa622007-08-15 14:28:22 +0000425
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200426 * :kbd:`Alt-n` retrieves next. On OS X use :kbd:`C-n`.
Georg Brandl116aa622007-08-15 14:28:22 +0000427
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200428 * :kbd:`Return` while on any previous command retrieves that command
Georg Brandl116aa622007-08-15 14:28:22 +0000429
430
431Syntax colors
432-------------
433
434The coloring is applied in a background "thread," so you may occasionally see
435uncolorized text. To change the color scheme, edit the ``[Colors]`` section in
436:file:`config.txt`.
437
438Python syntax colors:
439 Keywords
440 orange
441
Georg Brandl48310cd2009-01-03 21:18:54 +0000442 Strings
Georg Brandl116aa622007-08-15 14:28:22 +0000443 green
444
445 Comments
446 red
447
448 Definitions
449 blue
450
451Shell colors:
452 Console output
453 brown
454
455 stdout
456 blue
457
458 stderr
459 dark green
460
461 stdin
462 black
463
464
Benjamin Petersonf07d0022009-03-21 17:31:58 +0000465Startup
466-------
467
468Upon startup with the ``-s`` option, IDLE will execute the file referenced by
469the environment variables :envvar:`IDLESTARTUP` or :envvar:`PYTHONSTARTUP`.
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200470IDLE first checks for ``IDLESTARTUP``; if ``IDLESTARTUP`` is present the file
471referenced is run. If ``IDLESTARTUP`` is not present, IDLE checks for
Benjamin Petersonf07d0022009-03-21 17:31:58 +0000472``PYTHONSTARTUP``. Files referenced by these environment variables are
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200473convenient places to store functions that are used frequently from the IDLE
Benjamin Petersonf07d0022009-03-21 17:31:58 +0000474shell, or for executing import statements to import common modules.
475
476In addition, ``Tk`` also loads a startup file if it is present. Note that the
477Tk file is loaded unconditionally. This additional file is ``.Idle.py`` and is
478looked for in the user's home directory. Statements in this file will be
479executed in the Tk namespace, so this file is not useful for importing functions
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200480to be used from IDLE's Python shell.
Benjamin Petersonf07d0022009-03-21 17:31:58 +0000481
482
Georg Brandl116aa622007-08-15 14:28:22 +0000483Command line usage
484^^^^^^^^^^^^^^^^^^
485
486::
487
488 idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...
489
490 -c command run this command
491 -d enable debugger
492 -e edit mode; arguments are files to be edited
493 -s run $IDLESTARTUP or $PYTHONSTARTUP first
494 -t title set title of shell window
495
496If there are arguments:
497
Éric Araujo713d3032010-11-18 16:38:46 +0000498#. If ``-e`` is used, arguments are files opened for editing and
Georg Brandl116aa622007-08-15 14:28:22 +0000499 ``sys.argv`` reflects the arguments passed to IDLE itself.
500
Éric Araujo713d3032010-11-18 16:38:46 +0000501#. Otherwise, if ``-c`` is used, all arguments are placed in
Georg Brandl116aa622007-08-15 14:28:22 +0000502 ``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``.
503
Éric Araujo713d3032010-11-18 16:38:46 +0000504#. Otherwise, if neither ``-e`` nor ``-c`` is used, the first
Georg Brandl116aa622007-08-15 14:28:22 +0000505 argument is a script which is executed with the remaining arguments in
506 ``sys.argv[1:...]`` and ``sys.argv[0]`` set to the script name. If the script
507 name is '-', no script is executed but an interactive Python session is started;
508 the arguments are still available in ``sys.argv``.
509
510
Andrew Svetlov1bd7f022013-01-14 19:27:36 +0200511Additional help sources
512-----------------------
513
514IDLE includes a help menu entry called "Python Docs" that will open the
515extensive sources of help, including tutorials, available at docs.python.org.
516Selected URLs can be added or removed from the help menu at any time using the
517Configure IDLE dialog. See the IDLE help option in the help menu of IDLE for
518more information.
519
520
521Other preferences
522-----------------
523
524The font preferences, highlighting, keys, and general preferences can be
525changed via the Configure IDLE menu option. Be sure to note that
526keys can be user defined, IDLE ships with four built in key sets. In
527addition a user can create a custom key set in the Configure IDLE dialog
528under the keys tab.
529
530Extensions
531----------
532
533IDLE contains an extension facility. See the beginning of
534config-extensions.def in the idlelib directory for further information. The
535default extensions are currently:
536
537* FormatParagraph
538
539* AutoExpand
540
541* ZoomHeight
542
543* ScriptBinding
544
545* CallTips
546
547* ParenMatch
548
549* AutoComplete
550
551* CodeContext
552