PyCharmでプロジェクトのコードを読む


以前、emacs+anythingでコードを読むための機能/キー設定をエントリにまとめました。

最近はPyCharmをちょいちょい使って見てるので、同等の操作をどうやるか、 を調べてみました。

関数やクラスの宣言を開きたい

emacsではタグジャンプですね。anything-etags+.elを使っていました。

PyCharmでは「Decralation」という機能があり、キーはデフォルトで「⌃B」に割当てられています。
日本語でいうと「宣言を開く」ですね。メソッドやクラスの定義にジャンプします。

Decralationのキー割り当て
keymap キー
デフォルト ⌃B
Mac OS X 10.5+ ⌘B
Emacs ⌃⌥G、⎋,.、⌥.


遷移する前のもとの場所に戻る場合は、「Main Menu->Navigate->Back」が使えます。

Main Menu -> Navigate -> Back のキー割り当て
keymap キー
デフォルト ⌃⌥←
Mac OS X 10.5+ ⌘[、⌘⌥←
Emacs ⌃⌥←

ファイル名を指定してプロジェクト内のファイルを開きたい

emacsではanything-project.elを使ってました。

PyCharmでは「Main Menu -> Navigate -> File」でダイアログを開き、ファイル名をインクリメンタルに絞り込んで開けます。
anythingのように複数キーワードで絞り込めないのがちょっと残念なところ。
複数キーワードで絞り込めたり、ダイアログからファイルのリネームやコピーができたりかなり多機能。(参照)

Main Menu -> Navigate -> Fileのキー割り当て
keymap キー
デフォルト ⌃⇧N
Mac OS X 10.5+ ⌘⇧O
Emacs ⌃⇧N

キーの説明は省きますがFile名でなく、Class名やSymbol名で開く機能もありまして、結構便利です。

プロジェクト内をgrepしたい

emacsではanything-project.elのanything-project-grepを使ってました。

PyCharmでは「Main Menu -> Edit -> Find -> Find In Path」で検索対象を指定したディレクトリ検索できます。
これもanythingのほうが使い勝手がよいように思えますが、まあ使えます。

Main Menu -> Edit -> Find -> Find In Pathのキー割り当て
keymap キー
デフォルト ⌃⇧F
Mac OS X 10.5+ ⌘⇧F
Emacs ⌃⇧F

バッファ内をgrepしたい

emacsではanything-c-moccurを使ってました。

PyCharmでは「MainMenu -> Edit -> Find -> Find」でemacsでいうisearchのようなことができますので、検索中にFind All(⌥F7)を実行すれば、ファイル内の検索結果をFindウィンドウに表示することができます。
たぶんこれが動作的には一番近いですが、anything-c-moccurに比べるとかなり使い勝手が落ちます。

Main Menu -> Edit -> Find -> Findのキー割り当て
keymap キー
デフォルト ⌃F、⌥F3
Mac OS X 10.5+ ⌘F
Emacs ⌃S、⌃⌥S、⌥F3

感想

Emacs+anythingでやっていたことをPyCharmでやろうとして、いかにanythingが素敵だったのか再確認しました。
ただまあ、PyCharmも設定がめんどくさくないとか、コンテンツアシストが的確とか、いいところもあります。
もうちょっと使い込んでみるつもり。