Skip to content

Eclipse で PyDev を使う

eclipse 上で Python のソースコードを書くには、PyDev が便利です。PyDev にはコード補完、シンタックスハイライト、定義へのジャンプ、リファクタリング機能、デバッグ機能等々、便利な機能が豊富に用意されています。

今回は Mac OS X(Snow Leopard)へ eclipse(Galileo / build-id:20090920-1017)をインストールした環境を前提にしています。ただし、eclipse は日本語化しておらず、英語表示のまま利用しています。

PyDev のインストール

PyDev も eclipse の一般的なプラグインとして提供されている為、インストールは簡単です。eclipse から PyDev のアップデートサイト を指定して、プラグインをインストールするだけです。ただし、今回はインストールパッケージを指定する際に Mylyn のチェックは外しました(Mylyn については タスクとコードをつなげるMylyn に詳しく記載されていました)。

01

PyDev のインストール完了後は eclipse に促されるまま、eclipse を再起動しておきます。次に、PyDev を利用する為に Python のパスを指定します。メニューから「Eclipse → 環境設定 → PyDev → Interpreter - Python」を選択します。すると、「Python Interpreters」というウインドウが表示されますので、右側の「New」をクリックし、Python のパスを指定します。例えば「バージョン違いの Python をインストールしてある」といったように、複数の Python をインストールしていない限りは、ターミナルで「which python」して表示されたパスを指定しておけば良いと思われます。今回は「/usr/bin/python」を指定しました。

02

これで PyDev を利用する準備が整いました。

emacsplus のインストール

eclipse をデフォルトインストールした状態では eclipse のショーットカットキーと Mac OS X のショートカットキーが重複しており、非常に不便です。標準の eclipse でもキーバインドを emacs 風に出来るのですが、より emacs キーバインドに近づけるべく、emacsplus をインストールします。PyDev 同様、emacsplus も標準的な eclipse プラグインとして提供されている為、eclipse から emacsplus のアップデートサイト を指定して、プラグインをインストールするだけです。

emacsplus のインストールが完了後は eclipse に促されるまま、eclipse を再起動しておきます。次に、emacsplus を有効化する(キーバインドを emacs 風に変更する)為に「Eclipse → 環境設定」を、続けて「General → Keys」を選択します。Keys ウインドウが表示されますので、Scheme 欄から「Emacs+ Scheme」を選択します。これで eclipse のキーバインドが概ね emacs 風になりました。

03

コード補完のショートカットキーを変更

しかし、このままでは「Max OS X の Spotlight」と「emacs の Mark set」と「eclipse のコード補完(Content Assist)」が、ともに「Ctrl + Space」で重複しており、Mac OS X の Spotlight が優先され、コード補完の機能が使えません。

「システム環境設定 → Spotlight」から「Spotlight メニューのキーボードショートカット」を変更するか、もしくはチェックを外して無効化します。今回は無効化しましたが、適当なショートカットキーを割り当てておいた方が便利だと思います。

04

これで eclipse 上で「Ctrl + Space」しても Spotlight は起動しなくなり、emacs の Mark set が使えるようになったのですが、依然としてコード補完が利用出来ません。今回はコード補完のショートカットキーを「Ctrl + .(ピリオド)」に変更し、機能を利用出来るようにします。

eclipse のメニューから「Eclipse → 環境設定」「General → Keys」を選択した後、上部のテキストボックス(Scheme の直下)に「Content Assist」と入力して、表示された結果の中から「Content Assist」を選択、更に「^_」(Ctrl + Space の意)になっている Binding 欄を選択してコントロールキーを押しながらピリオドを押すと、自動的に「^.」(Ctrl + . の意)が入力されますので、右下の OK をクリックします。

05

これでコードを書く際に「Ctrl + .」を押すことによりコード補完を実行出来るようになりました。コード補完で表示される候補を上下に移動する際にも、「Ctrl + P」や「Ctrl + N」といった emacs のショートカットキーを利用することが出来ます。

06

バックスペースのショートカットキーを設定

emacsplus をインストールしても、Previous Delete(emacs の Ctrl + H / バックスペースと同じ機能)のショートカットキーは未設定になっており、利用出来ません。まず、以下のショートカットキーを全てを削除します(つまり、Ctrl + H で始まる全てのショートカットを削除しています)。

  • Apropos Command (Ctrl-H A)
  • Describe Bindings (Ctrl-H B)
  • Describe Key Briefly (Ctrl-H C)
  • Describe Command (Ctrl-H D, Ctrl-H-F)
  • Describe Key (Ctrl-H K)
  • Where Is Command (Ctrl-H W)
  • Open Search Dialog (Ctrl-H)
  • Open Search Dialog (Ctrl-H S)

次に「Delete Previous」はキーの割当てを行います。デフォルトではショートカットキーが未割当てなので「Ctrl + H」を割り当てます。とりあえず、これで「emacs の Ctrl + H」が有効になりましたが、もっと上手い方法があるように思えてなりません、、、