自分用のメモです。
インストール
こちらからpycharmをインストールします。
QGIS Pluginのデバッグ(リモートデバッグ)をするためにはProffesional Editionが必要です。(30日ぐらいの試用期間があります。)
http://www.jetbrains.com/pycharm/
プラグインの作成
QGISのPluginを作るためのプラグイン QGIS Plugin Builderをインストールして実行します。
C:\Users\username\.qgis2\python\pluginsの中にtestpluginを保存して以下のコマンドで、uiとresouecesを.pyに変換しておきます。
pyuic4 ui_testplugin.ui -o ui_testplugin.py pyrcc4 resources.qrc -o resources_rc.py
macの場合、保存先は.qgis2の中ではなくて、自分のアクセスしやすい場所にして、シンボリックリンクを張ると良いかもしれません。
ln -s /Users/fugafuga/testplugin /Users/fugafuga/.qgis2/python/plugins/testplugin
QGISを起動して、testpluginが起動できればOKです。
デバッグの準備1
デバッグ用のeggを作成したtestpluginフォルダの中にコピーします。
cp /Applications/PyCharm.app/pycharm-debug.egg /Users/fugafuga/testplugin/
(windowsならここからコピー C:\Program Files (x86)\JetBrains\PyCharm 3.0.2)
作成したプラグインのメインコード(testplugin.py)に以下のコードを追加します。
sys.path.append("/Users/fugafuga/testplugin/pycharm-debug.egg") import pydevd
同じく以下のコードをデバッグを開始したい位置に追加します。(runの下とか)
pydevd.settrace('localhost', port=53100, stdoutToServer=True, stderrToServer=True)
デバッグ2
pycharmを起動して、/Users/fugafuga/testpluginを開きます。
(初めて起動するときは、pythonのパスを聞かれるかもしれませんが、指定する必要はありません。)
Run -->Edit Configurationsを開いて、+ボタンを押してPython Remote Debugを選択して以下のように設定します。
Name:remote_debug Local host name:localhost Port:53100
デバッグ
QGISを起動して、プラグインを実行すると、pydevd.settrace()の部分で停止します。
あとは、通常のデバッグ方法と同じで、ステップインやブレークポイントを設定してデバッグします。