Visual Studio Code(VSCode)で Python を書くための初期設定をまとめます。本サイトはエディタを VSCode に揃える前提で、後続の記事もスクリーンショット例などを VSCode で取っています。
最初の準備に時間をかけすぎる必要はありません。「補完」「整形」「実行・デバッグ」 の 3 つが動けば学習を始められます。
目次
- 入れておく拡張機能
- インタプリタ(Python 本体)を選ぶ
- Linter / Formatter(ruff)
- 補完と型チェック(Pylance)
- デバッガの基本
- ターミナルの統合
- 推奨ワークスペース設定の例
入れておく拡張機能
最低限の構成として次の 3 つを入れます。Marketplace で名前検索 → Install を押すだけです。
| 拡張機能 | 用途 |
|---|---|
| Python(Microsoft) | 言語サポート・デバッガ・テストランナーの土台 |
| Pylance(Microsoft) | 型推論・補完・ジャンプの高速化 |
| Ruff(Astral Software) | 高速 Linter / Formatter。後述の ruff と連携 |
Python を入れると Pylance が一緒に入ることが多いですが、入っていなければ単独でも追加してください。
任意で便利な拡張は次の通りです。
| 拡張機能 | 用途 |
|---|---|
| Jupyter | .ipynb を VSCode 内で開く・実行する |
| GitLens | Git の履歴・変更行を可視化 |
| Even Better TOML | pyproject.toml の編集 |
インタプリタ(Python 本体)を選ぶ
VSCode は「どの Python を使うか」を明示する必要があります。プロジェクトを開いたら、コマンドパレット(Mac は Cmd+Shift+P、Windows は Ctrl+Shift+P)から Python: Select Interpreter を実行します。
./.venv/bin/python のように、プロジェクト内の venv を選ぶのが推奨です。グローバル環境を選ぶと、別プロジェクトと依存パッケージが衝突しやすくなります。
選択した結果は .vscode/settings.json に保存されます(ワークスペース単位)。
{ "python.defaultInterpreterPath": "./.venv/bin/python"}Windows の場合は ./.venv/Scripts/python.exe になります。
Linter / Formatter(ruff)
ruff は Rust 製の Linter / Formatter で、Python の世界では事実上の標準になりつつあります。後述の black 互換の整形もこなします。
インストール
ruff は Python パッケージとしての本体 と VSCode 拡張機能 の両方が必要です。
pip install ruffVSCode 側の Ruff 拡張を入れた状態で、ワークスペース設定に整形ルールを追加します。
{ "editor.formatOnSave": true, "editor.defaultFormatter": "charliermarsh.ruff", "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", "editor.codeActionsOnSave": { "source.fixAll": "explicit", "source.organizeImports": "explicit" } }}これで保存時に自動整形と未使用 import の整理が入ります。
プロジェクト固有のルール
pyproject.toml を作って ruff のルールを書いておくと、人と環境を揃えられます。
[tool.ruff]line-length = 100target-version = "py312"
[tool.ruff.lint]select = ["E", "F", "I", "B", "UP"]ignore = ["E501"]
[tool.ruff.format]quote-style = "double"indent-style = "space"select の値はそれぞれ「pycodestyle のエラー」「pyflakes」「isort」「flake8-bugbear」「pyupgrade」のチェック項目です。詳細は ruff のドキュメント を参照します。
black を使う場合
歴史的に black を使ってきたチームでは、black + isort の組み合わせも引き続き有効です。
pip install black isortsettings.json 側を次のように切り替えます。
{ "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" }}新規のプロジェクトでは ruff だけで済ませる構成が増えています。本サイトでは ruff を標準 にします。
補完と型チェック(Pylance)
Pylance はデフォルトで補完が効きますが、より厳しめにしたい場合は次を入れます。
{ "python.analysis.typeCheckingMode": "basic", "python.analysis.autoImportCompletions": true}basic で十分な学習効果があります。strict まで上げると、教材コードでも警告が多く出るので、慣れるまでは basic を勧めます。
デバッガの基本
VSCode の左側に「実行とデバッグ(虫アイコン)」があります。Python ファイルを開いた状態で F5 を押すと、現在のファイルをそのまま実行できます。
ブレークポイントは行番号の左をクリックして付けます。実行が止まると、左側パネルに変数の値が並びます。
複雑なデバッグ構成を保存したい場合は、.vscode/launch.json を作成します。
{ "version": "0.2.0", "configurations": [ { "name": "Python: 現在のファイル", "type": "debugpy", "request": "launch", "program": "${file}", "console": "integratedTerminal" }, { "name": "Python: モジュール", "type": "debugpy", "request": "launch", "module": "src.main", "console": "integratedTerminal" } ]}ターミナルの統合
VSCode 内のターミナルを開く(Ctrl+` )と、自動で venv を有効化してくれます。Windows の PowerShell で Activate.ps1 が拒否される場合は、#2-1「Python のインストール (Windows 編)」 の対処を参照してください。
推奨ワークスペース設定の例
ここまでをまとめると、.vscode/settings.json は次のような形になります。
{ "python.defaultInterpreterPath": "./.venv/bin/python", "python.analysis.typeCheckingMode": "basic", "editor.formatOnSave": true, "editor.defaultFormatter": "charliermarsh.ruff", "[python]": { "editor.defaultFormatter": "charliermarsh.ruff", "editor.codeActionsOnSave": { "source.fixAll": "explicit", "source.organizeImports": "explicit" } }, "files.exclude": { "**/__pycache__": true, "**/.pytest_cache": true }}このファイル自体は Git に入れて構いません。ただし API キーなどの個人設定は settings.json ではなく .env(#2-8「API キーや秘密情報の安全な扱い方」)で管理します。
まとめ
- 拡張機能は Python / Pylance / Ruff の 3 点で開始できる
- インタプリタは プロジェクト内の venv を選ぶ
- 整形は ruff に任せ、保存時
formatOnSaveで自動化する - 型チェックは Pylance を
basicから始める - デバッガは F5 で動く。複数構成は
launch.jsonに保存する