はじめに
QGISのためのVSCodeでのデバック環境を構築します。
環境
- Windows 10
- QGIS 3.16
- OSGeo4W
最初の環境構築(QGISとVSCodeのインストール)
- QGISのインストール
- ネットワークインストーラーで可変な環境をインストールしましょう
- https://qgis.org/ja/site/forusers/download.html
- VSCodeのインストール
VSCodeでのデバック準備
ptvsd
のインストール
- OSGeo4Wのshellを起動する
-
C:/OSGeo4W64/OSGeo4W.bat
でcmdを起動する
-
- python3をメインで使用するようにコマンドを実行する
-
py3_env
でpython3をメインで使えるようになる
-
-
pip
をインストールする- 存在する場合はインスールしなくてよい
-
python -m ensurepip --default-pip
でpipをインストールする
- VSCodeでのデバック用に
ptvsd
をインストールするpython -m pip install ptvsd
> py3_env
> python -m ensurepip --default-pip
> python -m pip install ptvsd
QGIS
にDebug用プラグインをインストールする
-
プラグインの管理とインストール
を起動-
メニューバー
→プラグイン
→プラグインの管理とインストール
-
-
debugvs
を検索しインストール
VSCode
側のデバック設定を作成
-
VSCode
を起動する -
launch.json
を作成する.vscode/launch.json
-
launch.json
にリモートデバック用の設定を記載する
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Remote Attach",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
},
"pathMappings": [
{
"localRoot": "${workspaceFolder}",
"remoteRoot": "${env:HOMEPATH}/AppData/Roaming/QGIS/QGIS3/profiles/default/python/plugins/sample_plugin"
}
],
"justMyCode": false
}
]
}
- localRoot
- ローカルのコードが存在するパスを記述する
- remoteRoot
- シンボリックリンクを使用している場合はリンク先のパスを記述する
- 直接コードを編集している場合は
localRoot
と同じで良い
- justMyCode
- 他のコード内までデバックを行ないたい場合、falseにする
デバックを実行する
-
QGIS
を起動する -
debugvs
のEnable Debug for Visual Studio
を実行する -
VSCode
でPython: Remote Attach
でデバックを実行する -
VSCode
上でブレイクポイントを設定し、QGIS
でプラグインを実行する
メモ
- シンボリックリンクで
plugins
にプラグインを入れていたため、デバックできずにハマった-
launch.json
のRemoteRoot
にリンク先を書こう!!まじで
-
-
pip3
でインストールできないって困った-
py3_env
でpython3用にパスが通るぞ!!らく
-
参考
環境構築
https://www.gispo.fi/en/blog/cooking-with-gispo-qgis-plugin-development-in-vs-code/
QGIS+PTVSD関連
Debugging QGIS 3.x python plugins on OSX using VS Code
Debugging QGIS 3.x python plugins on Windows 10 using VS Code
RemoteDebuggingQgisVsCode
QGISのpipインストール参考
その他