MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

VimユーザのためのPythonのIDE PyCharm入門

目次

はじめに

久しぶりに、

プログラマが知るべき97のことを読んでいたら、

プログラマが知るべき97のこと

プログラマが知るべき97のこと

  • 発売日: 2010/12/18
  • メディア: 単行本(ソフトカバー)

下記の記事が目にとまりました。

 

自分はこれまでほとんどVimのみでプログラミングをしてきたので、

確かにそろそろIDEを使ってみようかなと思い立ちました。

 

まず手始めに、

最近多くのPythonプログラマが素晴らしいと褒め称えている

Python用IDEであるPyCharmを使ってみることにしました。

今回はこのPyCharmの基礎的な設定や

Vimユーザへの注意点をまとめておきたいと思います。

 

PyCharmとは?

PyCharmは、

IDE開発会社として有名なJetbrainsが開発している

Python用IDEです。

www.jetbrains.com

 

Widows , OS X, Linuxのマルチプラットフォームで動作し、

様々なプログラマが

Pythonの開発環境としておすすめしています。

 

下記がオフィシャルのPyCharmの説明動画です。

 

インストール方法

下記のリンクから、各プラットフォームに対して、

ソフトをダウンロードできます。

 

PyCharmには、

無料で利用できるコミュニティ版と、

Web開発用の機能が追加された有償版のプロフェッショナル版があります。

価格等は下記を参照ください。

www.jetbrains.com

 

ちなみに学生の場合は、

無料でプロフェッショナル版を利用できます。

www.jetbrains.com

  

初期設定

自分が実際に設定して便利だった初期設定をまとめておきます。

テーマを変える

黒色が好きなので、テーマをDarculaにしました。

 

PyCharmでVimキーバインドを使う

下記の記事にある通り、

IdieaVimというプラグインを入れると

Vimのキーバインドを使うことができます。

 

またこのideavimは、ホームディレクトリの.ideavimというファイルを作ると、

そのファイルでkeymapを設定できます。

うまく設定することで、vimとkeymapを共通化することができます。

詳細は下記を参照ください。

www.youtube.com

 

また設定できるアクションリストは下記があります。

IdeaVim actionlist · GitHub

ideavimで

: actionlist hoge

とするとhogeを含んだアクションリストを検索することも可能です。  

ちなみに、下記は自分の.ideavimファイルです。

github.com

  

また、ペアプログラミングなどをする時に、

一時的にideaVimの設定をオフしたい時は、

Tools -> Vim EmulatorでOn Offできます。

kakakakakku.hatenablog.com

 

加えて、Run consoleでCtrl + Fで検索ができない場合は、

VimのCtrl+Fがオーバライドしている可能性があるので、

設定からCtrl + FをVimではなく、IDEに渡すようにしましょう。

(もちろんvimのCtrl +F は使えなくなります)

 

pep8の警告レベルをWarningにし、一行の文字数を79字に

下記の記事のように変更しました。

これで、かなり厳しくpep8の警告をしてくれます。

 

各プロジェクトのPythonのインタープリターの設定

PyCharmでは、pyenvなどで管理している

複数のバージョンのPythonのインタープリタを、

各プロジェクト毎に設定できます。

 

設定方法としては、

Preference -> Project: Project名 -> Python interpreter

から設定できます。

 

Editerで開いたファイルを、Project viewでも自動で開く

下記の記事にある通り、

Project viewの右上の歯車のボタンを押して、

Autoscroll to sourceとAutoscroll form sourceにチェック入れればOKです。

stackoverflow.com

 

マウスオーバーでdocstringを表示する

設定 -> エディタから、マウスオーバーでdocstringを表示させることができます。

表示までの時間も設定できるので、便利です。

stackoverflow.com

 

ツールバーを表示&カスタマイズする

JetBrainsのIDEでは、なぜかツールバーはデフォルトでオフになっていますが、

Forward / Backのボタンがあるとやはり便利なので、

View -> Appearance -> ToolBarをクリックして、表示させることができます。

 

また設定で、ToolBarに表示するボタンをカスタマイズすることもできるので、

よく使う機能はボタンに追加しておくと便利です。

 

ショートカットキー

下記を参照

myenigma.hatenablog.com

 

デバッガ

IDEのメイン機能と言っても過言ではないデバッガももちろん利用できます。

デバッガの各コマンドは下記の通りの意味です。

  • Step Over: 次の行に移動する

  • Step Into: その行で実行している関数の中に入る

  • Step out: その行を呼び出している関数に移動する

  • Step into my code: その行を呼び出している、自分のコードの中に移動する(ライブラリは無視)

  • Force Step into: 汎用的なコードの中まで、見に行く

  • Run to cursor: カーソルのところまで実行する

参考:

qiita.com

import文補完と関数実装補完

あるコードで関数を使ったコードを書いたときに、

その関数の上にカーソルをあわせて、

Alt - Enterを押すと、

その関数を使ったモジュールを自動検索し、

import文を自動入力してくれたり、

自分で実装したい場合は、

create functionを選べば、

引数まで入力した関数の雛形を作ってくれます。

 

live template (スニペット)

PyCharmではlive templateといういわゆるスニペット管理機能があります。

live templateの管理は、Preference-> Editor -> Live Templatesで

現在登録されているLive Templatesが確認できますし、

自分専用のテンプレートも追加できます。

f:id:meison_amsl:20170720034403p:plain

 

デフォルトとしては

mainの文を入れられる mainや、

リスト内包表記が入れられるcompl,

辞書型を入力できるcompdが便利です。

 

スニペットを入れたときに、各要素に自動的に移動して、

変数名を入れると候補が自動で表示されるもの素晴らしいです。

 

Git操作

JetBrainsのIDEでは、簡単にGitを使うことができます。

下記の記事はIDEからGit操作をする時のメモです。

myenigma.hatenablog.com

 

Jupyter notebookモード

PycharmはJupyter notebookモードもあります。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

下記のように、強力なPyCharmのエディタを使って、

Jupyter notebookで対話的にプログラミングが可能です。

f:id:meison_amsl:20190824085806p:plain

 

IDEの設定を同期する

IDEの右下の歯車のマークを押すことで、

JetBrainsアカウントをベースに設定を共有することができます。

複数の端末でIDEを使うこと時に便利です。

pleiades.io

 

Vimユーザへの注意点まとめ

少し戸惑った所をメモしておきます。

 

注意点1 ファイル名やフォルダ名を変更する場合

ファイル名やフォルダ名を変更したい場合は、

そのファイルを右クリックして、

Refactor -> Renameで変更できます。

または、選択してShift + F6で同じように変更できます。

 

注意点2 ファイルエクスプローラーを復活させる

ファイルエクスプローラーを最小化した後に、

元に戻す方法がわからなかったのですが、

View -> Toodbarでツールバーを表示し、

左上のProjectボタンを押すと、

ファイルエクスプローラーが復活します。

 

同じディレクトリのpythonモジュールを認識してくれない

そんなときは、下記の記事の通り、

ディレクトリを右クリックしてsource rootとして認識させて上げれば、

補完が効くようになります。

stackoverflow.com

 

Vimユーザとして素晴らしいなと思った所

Vimでもプラグインを駆使すればできるかもしれませんが、

少し使ってみてPyCharmの素晴らしいなと思った所をメモしておきます。

  • jedi-vimと比べるとかなり補完が早い

  • 関数切り出しなどのリファクタリングは便利

  • スペルチェックが使いやすい (Vimでも可能だが特別なコマンドを覚えることなく使える)

  • プラグインを使うことでVimのキーバインドが使える笑

  • Break pointによるデバックはやはり便利

    下記参照

    ・ 今さらだけどIntelliJ IDEAで使えるJavaのブレークポイントあれこれ - Qiita

    ・ パート1: Pythonコードのデバッグ - 公式ヘルプ | PyCharm

Vimユーザとして少し残念な所

逆にVimユーザとして、

少し残念だなと感じたところをメモしておきます。

  • コードの自動フォーマットができない(ファイル保存時など, コミット時はできそう)

 

最後に

今後はVimとPyCharmを併用して利用しながら、

それぞれの足りない所を、

Vim pluginや、PyCharm pluginを探して埋めていきたいと思います。

(いつか自作もしてみたいな)

 

参考資料

qiita.com

techblog.recochoku.jp

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com