Pythonのvenv利用時に、VSCodeのF12(Go to Definition)が機能しない問題への対処法を整理します。
はじめに
VSCodeのF12(Go to Definition)、便利ですよね。
しかし、Pythonでvenvを利用するとこのGo to Definitionがうまく機能しないことがあります。
今回はこの対処法をメモします。
venvでVSCodeのF12(Go to Definition)が機能しない問題の対処法
原因
おそらく原因は、VSCodeで選択されているPythonインタプリタが該当のvenv内のものではないため、でしょう。
VSCodeで選択されているPythonインタプリタは、VSCode右下から確認することができます。
ここで選択されていたPythonインタプリタが作成したvenv内のものではなく、例えばグローバルにインストールされたものが指定されていた場合、venv内で仮想環境にインストールしたライブラリにはF12ジャンプができません。
対処法
venv内のPythonインタプリタを、VSCodeのPythonインタプリタとして指定します。
やり方は、先ほどと同様にVSCode右下からPythonインタプリタを選択し、そこで利用したいvenv内のPythonインタプリタpathを追加するだけです。
venv内のPythonインタプリタpathは、絶対パスでも相対パス(VSCodeを開いているrootからの相対パス)からでもどちらでも大丈夫です。
venv内のPythonインタプリタは、<仮想環境名>/bin/python
に配置されています。
※ Windowsであれば<仮想環境名>/Scripts/python
です
# 例 .venv/bin/python # Windowsの場合 .venv/Scripts/python
おわりに
以上、Pythonのvenv利用時にVSCodeのF12が機能しない問題への対処をまとめました。
コードを書いてる時にライブラリのソースコードをパッと読めるのは、便利ですし何より楽しいですね。
どなたかの参考になれば幸いです。
[関連記事]