Extensions

Here is a list of extensions as given with a description of provided functionality.

Jump to:  Code Execution and Editing :: Code Navigation :: Shell :: Miscellaneous

Code Execution and Editing

RunSelection.py

Runs highlighted code or a single line in the editor by pressing F9. It also supports tagging a region of code with Ctrl+J for convenient re-execution with Ctrl+F9.

SubCode.py

Provides cell-mode-like functionality similar to MATLAB and Sagemath. SubCode allows the programmer to separate a script into blocks for execution in the shell without restarting. This allows for iterative and rapid prototyping of code.

SubCodes are separated by "##" marker comments at the start of a line. These subcode markers may be indented for running indented code. The location of the cursor determines the active subcode, a region of code bounded by subcode markers (or dedented code for indented subcode markers). A subcode may be executed by pressing Ctrl+Return.

Lines within a subcode that begin with "#:" may be uncommented to run additional commands when the subcode is executed. This is useful for setting test conditions for developing indented code.

More info can be found in the header of SubCode.py as well as SubCodeTutorial.py in the demos directory. This extension contains a workaround for #13495.

SubCodeToolbar.py

Provides a toolbar for using SubCode.py. The toolbar allows for arithmetic modification of numbers within subcodes, as well as a listing of subcode labels.

CythonScript.py

Provides basic Cython support, including syntax highlighting and executing a .pyx script via Ctrl+E. Refer to the demos directory.

ReindentExtension.py

Applies the core of reindent.py to the source code in an editor window by selecting "Apply Reindent" under the Format menu. #5150

TabHighlight.py

Highlights all instances of \t in an editor to help with fixing tab/space errors with Python code. Tabs appear as red checker pattern. This extension may be toggled using "Highlight \t tabs" under the Options menu.

PastePyShell.py

Allows for intelligent copy and paste of Shell contents into the editor. Prompts ('>>>') are removed and non-code gets commented. #11838 #1178

Code Navigation

TabExtension.py

Provides tabbed editing support. This extension also allows for drag'n'drop reordering of tabs. On Linux, the mouse wheel allows for scrolling of the Tabs. Hovering the mouse over the [<] and [>] buttons will scroll the tabs. (Some GUI problems exist on MacOSX.) #9262

LineNumbers.py

Provides a panel for displaying line numbers in the editor. This can be toggled using "Show Line Numbers" under the Options menu.

CodeBrowser.py

An alternative to the built-in Class Browser. A simple overlay displays all class' and def's in the editor. Clicking on a line jumps to it in the source code. Press F8 to toggle the code browser, as well as clicking "Code Browser" in the status bar. #1612262

SearchBar.py

Originally developed by Tal Einat. Provides a redesign of the Find and Replace dialogs as toolbars at the bottom on the editor. Incremental searching supported.

Horizontal.py

Provides a horizontal scroll bar for the editor. Can be toggled using "Show Horizontal Scrollbar" under the "Windows" menu. #1207613

Shell

Terminal.py

This extension makes the Shell behave more like a terminal. This mode can be toggled by "Terminal Mode" under the Options menu. The cursor is confined to the input area of the shell. Up and down arrow keys cycle the command history. It takes its inspiration from the original Python interactive interpreter. #2704

EventLoop.py

Allows GUI toolkits to function while using the IDLE subprocess. This extension makes IDLE's event loop drive a toolkit event loop periodically. (Also allows Matplotlib to work with IDLE's subprocess.) #989712

Supports Tk, GTK, Qt, Qt4, PySide, wxPython, and a user-defined callback.

MultiLineRun.py

Allows pasting of multiple lines into the Shell window for execution. This extension emulates the behavior of the regular Python interpreter. #3559

PersistentHistory.py

Saves and restores the history of commands entered in the Shell between sessions.

ClearWindow.py

This provides "Clear Shell Window" under "Options" with the ability to undo. Use Ctrl+L as a shortcut. #6143

Squeezer.py

Originally developed by Noam Raphael and maintained by Tal Einat. "Using this extension will make long texts become a small button." This allows the Shell to be responsive in case there is a lot of output to the shell. #1529353

Miscellaneous

ZoomFont.py

Allows for increasing and decreasing shell and editor font size, similar to Firefox.

RightClickMenu.py

Provides a Right-click context menu containing "Cut", "Copy", "Paste", "Select All", and other items. #1207589

DocViewer.py

Opens a separate window for viewing help() information on an object as well as its doc string. Also can auto-update based on call-tip window information. Available as "Documentation Viewer" under the "Help" menu. #13659

IDLE2HTML.py

Originally developed by Michael Haubenwallner. Export the contents of an editor or shell as color-highlighted HTML.

idlexManager.py

Provides the Extension Manager and the IdleX About box.

idlex.py

The main script to start IdleX. It fixes or works around several outstanding issues with IDLE. #4765 #6739 #11437 #13179


Copyright (C) 2011-2017 The Board of Trustees of the University of Illinois
Copyright (C) 2017-2022 Roger D. Serwy