vscodeを使ってpythonをプログラミングする場合、定義へ移動を使うかで利便性がかなり変ってきます。
個人的にはプログラミングをする上で絶対必須の機能だと思っています。
今回はその設定方法と使い方について紹介します。
pythonで使う方法
プロジェクトのパスの指定方法
「ctrl+,」を入力し、設定を開きます。
設定の検索からpythonを入力します。
python Auto Complete: extra Pathsのsettings.jsonで編集をクリックします。
settings.jsonを編集します。
変更前
"python.autoComplete.extraPaths": [
],
変更後
"python.autoComplete.extraPaths": [
"C:\\python"
],
上記のように”python.autoComplete.extraPaths”にプロジェクトのパスを指定します。
この例ではpythonのファイルを「C:\\python」に保存しましたので、パスを”C:\\python”にしています。
また、パスの指定で「\」を使う場合、エスケープする必要があります。なので、「C:\python」を「C:\\python」に置き換えています。
pythonライブラリのパスの指定方法
また、pythonのライブラリのパスを指定すると、ライブラリに対して定義へ移動をすることができます。
windowsの場合、PowerShellで以下のコマンドを入力するとライブラリの場所がわかります。
py -m pip show pip
Name: pip
Version: 22.0.4
Summary: The PyPA recommended tool for installing Python packages.
Home-page: https://pip.pypa.io/
Author: The pip developers
Author-email: distutils-sig@python.org
License: MIT
Location: c:\users\kei13\appdata\local\programs\python\python310\lib\site-packages
Requires:
Required-by:
Location:がライブラリのパス名になります。
Locationのパスからsettings.jsonを以下のように編集します。今回のようにパスを複数にする場合は「,」で区切ります。
変更後
"python.autoComplete.extraPaths": [
"C:\\python",
"c:\\users\\kei13\\appdata\\local\\programs\\python\\python310\\lib\\site-packages"
],
編集して保存すると定義へ移動が使えるようになります。
定義へ移動を使う方法
定義へ移動はF12キーで使える機能で関数の呼び出し側でF12を入力すると、関数を定義している側にジャンプできます。
この機能は非常に便利で、あるとなしでは生産性に大きな違いが出るくらい強力な機能になります。
例えば、以下のようなコードがあるとします。
hello_world.py
def hello():
"""
hello
"""
value = 'hello'
print(value)
def world():
"""
world
"""
value = 'world'
print(value)
if __name__ == "__main__":
hello()
world()
main.py
from hello_world import hello, world
if __name__ == "__main__":
hello()
world()
hello_world.py
hello()
の行で関数の呼び出しています。その行でF12キーを入力すると、
def hello():
の行にカーソルが移動してくれます。
もちろんファイルにまたがる移動も可能です。
main.py
hello()
の行で関数の呼び出しています。その行でF12キーを入力すると、
hello_world.py
hello()
の行にカーソルが移動してくれます。
最後に
今回、説明した例は簡単なプログラムでしたが、コードの量が増えてくるとプログラムの把握が困難になっていきます。
この機能を使えば、プログラムがどこで何をやっているかわかりやすくなります。
もし、この機能が使えないとすると検索を駆使して、ひとつづつファイルを見にいくことになります。この作業はとても面倒です。
ですので、プログラミングする際は設定しておいて損はないと思います。
まだ、使っていないならば、ぜひ使ってみてください。