24.5. IDLE
IDLE は tkinter GUI ツールキットをつかって作られた Python IDE です。
IDLE は次のような特徴があります:
- tkinter GUIツールキットを使って、100% ピュア Python でコーディングされています
- クロスプラットホーム: Windows と Unix で動作します
- 多段 Undo、 Python 対応の色づけや他にもたくさんの機能
(例えば、自動的な字下げや呼び出し情報の表示)をもつマルチウィンドウ・テキストエディタ
- Python シェルウィンドウ(別名、対話インタープリタ)
- デバッガ(完全ではありませんが、ブレークポイントの設定や値の表示、ステップ実行ができます)
24.5.1. メニュー
24.5.1.1. Fileメニュー
- New window
- 新しい編集ウィンドウを作成します
- Open...
- 既存のファイルをオープンします
- Open module...
- 既存のモジュールをオープンします(sys.pathを検索します)
- Class browser
- 現在のファイルの中のクラスとモジュールを示します
- Path browser
- sys.pathディレクトリ、モジュール、クラスおよびメソッドを示します
- Save
- 現在のウィンドウを対応するファイルにセーブします(未セーブのウィンドウには、ウィンドウタイトルの前後に*があります)
- Save As...
- 現在のウィンドウを新しいファイルへセーブします。そのファイルが対応するファイルになります
- Save Copy As...
- 現在のウィンドウを対応するファイルを変えずに異なるファイルにセーブします。
- Close
- 現在のウィンドウを閉じます(未セーブの場合はセーブするか質問します)
- Exit
- すべてのウィンドウを閉じてIDLEを終了します(未セーブの場合はセーブするか質問します)
24.5.1.2. Editメニュー
- Undo
- 現在のウィンドウに対する最後の変更をUndo(取り消し)します(最大で1000個の変更)
- Redo
- 現在のウィンドウに対する最後にundoされた変更をRedo(再実行)します
- Cut
- システムのクリップボードへ選択された部分をコピーします。それから選択された部分を削除します
- Copy
- 選択された部分をシステムのクリップボードへコピーします
- Paste
- システムのクリップボードをウィンドウへ挿入します
- Select All
- 編集バッファの内容全体を選択します
- Find...
- たくさんのオプションをもつ検索ダイアログボックスを開きます
- Find again
- 最後の検索を繰り返します
- Find selection
- 選択された文字列を検索します
- Find in Files...
- 検索するファイルに対する検索ダイアログボックスを開きます
- Replace...
- 検索と置換ダイアログボックスを開きます
- Go to line
- 行番号を尋ね、その行を表示します
- Indent region
- 選択された行を右へ空白4個分シフトします
- Dedent region
- 選択された行を左へ空白4個分シフトします
- Comment out region
- 選択された行の先頭に##を挿入します
- Uncomment region
- 選択された行から先頭の#あるいは##を取り除きます
- Tabify region
- 先頭 の一続きの空白をタブに置き換えます
- Untabify region
- すべての タブを適切な数の空白に置き換えます
- Expand word
- あなたがタイプした語を同じバッファの別の語に一致するように展開します。異なる展開を得るためには繰り返します
- Format Paragraph
- 現在の空行で区切られた段落を再フォーマットします
- Import module
- 現在のモジュールをインポートまたはリロードします
- Run script
- 現在のファイルを__main__名前空間内で実行します
24.5.1.3. Windowsメニュー
- Zoom Height
- ウィンドウを標準サイズ(24x80)と最大の高さの間で切り替えます
このメニューの残りはすべての開いたウィンドウの名前の一覧になっています。一つを選ぶとそれを最前面に持ってくることができます(必要ならばアイコン化をやめさせます)
24.5.1.4. Debugメニュー( Python シェルウィンドウ内のみ)
- Go to file/line
- 挿入ポイントの周りからファイル名と行番号を探し、ファイルをオープンし、その行を表示します
- Open stack viewer
- 最後の例外のスタックトレースバックを表示します
- Debugger toggle
- デバッガの下、シェル内でコマンドを実行します
- JIT Stack viewer toggle
- トレースバック上のスタックビューアをオープンします
24.5.2. 基本的な編集とナビゲーション
- Backspace は左側を削除し、 Del は右側を削除します
- 矢印キーと Page Up/Page Down はそれぞれ移動します
- Home/End は行の始め/終わりへ移動します
- C-Home/C-End はファイルの始め/終わりへ移動します
- C-B 、 C-P 、 C-A 、 C-E 、 C-D 、 C-L を含む、いくつかの Emacs バインディングも動作します
24.5.2.1. 自動的な字下げ
ブロックの始まりの文の後、次の行は4つの空白(Python Shell ウィンドウでは、一つのタブ)で字下げされます。あるキーワード(break、return など)の後では、次の行は字下げが解除(dedent)されます。先頭の字下げでは、
Backspace は4つの空白があれば削除します。 Tab は1-4つの空白(Python Shell ウィンドウでは一つのタブ)を挿入します。edit メニューの
indent/dedent region コマンドも参照してください。
24.5.2.2. Python Shellウィンドウ
- C-C 実行中のコマンドを中断します
- C-D ファイル終端(end-of-file)を送り、 >>> プロンプトでタイプしていた場合はウィンドウを閉じます
- Alt-p あなたがタイプしたことに一致する以前のコマンドを取り出します
- Alt-n 次を取り出します
- Return 以前のコマンドを取り出しているときは、そのコマンド
- Alt-/ (語を展開します)ここでも便利です
24.5.3. 構文の色づけ
色づけはバックグランド”スレッド”で適用され、そのため時折色付けされないテキストが見えます。カラースキームを変えるには、 config.txt の [Colors] 節を編集してください。
- Python の構文の色:
- キーワード
- オレンジ
- 文字列
- 緑
- コメント
- 赤
- 定義
- 青
- シェルの色:
- コンソールの出力
- 茶色
- stdout
- 青
- stderr
- 暗い緑
- stdin
- 黒
24.5.4. スタートアップ
-s オプションとともに起動すると、IDLEは環境変数 IDLESTARTUP か
PYTHONSTARTUP で参照されているファイルを実行します。
IDLEはまず IDLESTARTUP をチェックし、あれば参照しているファイルを実行します。
IDLESTARTUP が無ければ、IDLEは PYTHONSTARTUP をチェックします。これらの環境変数で参照されているファイルは、IDLEシェルでよく使う関数を置いたり、一般的なモジュールのimport文を実行するのに便利です。
加えて、 Tk もスタートアップファイルがあればそれをロードします。そのTkのファイルは無条件にロードされることに注意してください。このファイルは .Idle.py で、ユーザーのホームディレクトリから探されます。このファイルの中の文は Tk の名前空間で実行されるので、IDLE の Pythonシェルで使う関数をimportするのには使えません。
24.5.4.1. コマンドラインの使い方
idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ...
-c コマンドこのコマンドを実行します
-d デバッガを有効にします
-e 編集モード、引数は編集するファイルです
-s $IDLESTARTUPまたは$PYTHONSTARTUPを最初に実行します
-t タイトルシェルウィンドウのタイトルを設定します
引数がある場合:
- -e が使われる場合は、引数は編集のためにオープンされるファイルで、
sys.argv はIDLE自体へ渡される引数を反映します。
- そうではなく、 -c が使われる場合には、すべての引数が
sys.argv[1:...] の中に置かれ、 sys.argv[0] が '-c' に設定されます。
- そうではなく、 -e でも -c でも使われない場合は、最初の引数は sys.argv[1:...] にある残りの引数とスクリプト名に設定される
sys.argv[0] と一緒に実行されるスクリプトです。スクリプト名が ‘-‘ のときは、実行されるスクリプトはありませんが、対話的な
Python セッションが始まります。引数はまだ sys.argv にあり利用できます。