STEP 2

VSCode Python 開発環境セットアップ

Visual Studio Code を使った快適なPython開発環境の構築方法を完全解説。必須拡張機能、デバッガー設定、コードフォーマッターまですべて網羅します。

⏱️ 所要時間: 約20分 🎯 難易度: 初心者 🆓 VSCode: 完全無料 🗓️ 最終更新: 2026-08-12
🧭
この記事の読み方

§1§6が最短セットアップです。VSCodeのインストールから拡張機能・仮想環境・デバッグ実行まで、通しで約20分で終わります。§7以降は、launch.json・フォーマッター・トラブル対処といった必要になったときに戻ってくる逆引きです。最初から全部読む必要はありません。

1. VSCode のインストール

VSCode(Visual Studio Code)はMicrosoftが開発した無料のコードエディターです。軽量で高機能、豊富な拡張機能により世界中の開発者に愛用されています。

まだPython本体を入れていない場合は、先にPythonのインストール手順を済ませてから本ページに戻ってください。

  1. 1
    公式サイトからダウンロード

    https://code.visualstudio.com/ にアクセスし、お使いのOSに合ったインストーラーをダウンロードします。

  2. 2
    インストールオプション(Windows)

    Windowsの場合、インストール時に以下のオプションにチェックを入れると便利です:

    • 「エクスプローラーのファイルコンテキストメニューに[Codeで開く]アクションを追加する」
    • 「エクスプローラーのディレクトリコンテキストメニューに[Codeで開く]アクションを追加する」
    • 「PATHへの追加」
  3. 3
    起動確認

    インストール完了後、VSCodeを起動します。日本語UIにするには次のセクションの拡張機能をインストールします。

macOS は配布されたアプリケーションをアプリケーションフォルダーへドラッグするだけ、Linux は各ディストリビューション向けのパッケージが用意されています。どのOSでも、フォルダーを開いた状態で作業するのが基本です。1つのファイルではなく「プロジェクトのフォルダー」を開くと、この記事で扱う設定ファイル(.vscode/settings.json.vscode/launch.json)がそのフォルダーの中に作られ、プロジェクトごとに設定を持てるようになります。

💡
PATHに追加すると code . が使える

インストール時に「PATHへの追加」を選んでおくと、ターミナルで cd したフォルダーに対して code . と打つだけでVSCodeが開きます。フォルダーを開き直す操作がなくなるので、プロジェクトを行き来する頻度が上がるほど効いてきます。

2. Python 必須拡張機能

VSCodeの左側の拡張機能アイコン(四角が4つのアイコン)をクリックし、検索ボックスに名前を入力してインストールします。同じ名前の拡張が複数並ぶことがあるので、検索ボックスに拡張機能ID(例: ms-python.python)をそのまま貼り付けて選ぶと、publisher を間違えずに済みます。

最初に入れるのは Microsoft 公式の Python 拡張ひとつだけで構いません。この拡張は Pylance(補完・型チェック)、Python Debugger(デバッグ)、Python Environments(環境の管理)を付随的に一緒にインストールする作りになっているため、1つ入れるだけで補完とデバッグが同時に立ち上がります。整形(フォーマッター)とリンターは Python 拡張に含まれておらず、後述するとおり別の拡張として選んで入れます。

必須拡張機能

🐍 Python(Microsoft)

Python開発の基本拡張機能。インタープリター選択、実行、テスト実行などの中核機能を提供します。

ms-python.python

🔍 Pylance(Microsoft)

高性能な言語サーバー。コード補完、型チェック、定義へのジャンプなどが劇的に向上します。Python拡張機能と一緒に自動インストールされます。

ms-python.vscode-pylance

🐛 Python Debugger

ブレークポイントを使ったデバッグ機能。変数の値確認やステップ実行ができます。launch.json に書く "type" の値 debugpy はこの拡張が提供しています。

ms-python.debugpy

🇯🇵 Japanese Language Pack

VSCodeを日本語UIにするための言語パック。メニューやメッセージが日本語になります。

MS-CEINTL.vscode-language-pack-ja

推奨拡張機能

✨ Black Formatter

Pythonコードを自動整形するフォーマッター。Microsoft公式の拡張で、Black本体を同梱しているため pip install なしでも保存時整形が動きます(§8で設定)。

ms-python.black-formatter

⚡ Ruff

Rust製の高速なリンター兼フォーマッター。Black互換の整形とimport並べ替え、コードの問題指摘を1つでまかなえます。開発元 Astral の公式拡張です。

charliermarsh.ruff

🔎 Flake8

Pythonのコードスタイルチェッカー。バグになりそうな箇所や書き方の問題を指摘します。Ruff を入れる場合は役割が重なるので、どちらか一方で十分です。

ms-python.flake8

📁 indent-rainbow

インデントをカラフルに色付けします。Pythonはインデントが重要なので、視覚的に確認できて便利。

oderwat.indent-rainbow

🖼️ Material Icon Theme

ファイルアイコンをわかりやすいアイコンに変更します。.pyファイルにPythonのアイコンが表示されます。

PKief.material-icon-theme

🤖 GitHub Copilot

AIによるコード補完。コメントを書くとコードを自動生成してくれます(有料プランあり)。

GitHub.copilot

🔗 GitLens

Gitの履歴や変更者をコード上に表示します。無料の Community でもブレーム表示・ホバー・履歴のたどり直しは使えます(有料の範囲はFAQで整理)。

eamodio.gitlens

拡張機能を入れる順番と役割の早見表

初回は上から順に入れ、下の3つは必要になってから足すのがおすすめです。無料で完結する構成なので、この記事の手順に課金は発生しません。

拡張機能(ID)役割費用
1Python ms-python.python実行・環境選択の土台。Pylance と Python Debugger も一緒に入る無料
2Japanese Language Pack MS-CEINTL.vscode-language-pack-jaメニューとメッセージの日本語化無料
3Black Formatter ms-python.black-formatter
または Ruff charliermarsh.ruff
保存時の自動整形。どちらか一方を選ぶ無料
4indent-rainbow oderwat.indent-rainbowインデントの深さを色で可視化無料
5Material Icon Theme PKief.material-icon-themeファイル種別をアイコンで判別無料
6GitLens eamodio.gitlens変更履歴の可視化(無料の範囲あり・一部機能は有料)一部有料
7GitHub Copilot GitHub.copilotAIによるコード補完(利用条件は提供元の案内による)一部有料
⚠️
拡張機能は入れすぎない

拡張機能は1つずつ VSCode の起動時間とメモリを消費します。動作が重いと感じたら、まず使っていない拡張を無効化してください。拡張の一覧から「無効にする」を選べば削除せずに止められ、「ワークスペースで無効にする」ならそのプロジェクトだけ切れます。どの拡張が動いているかはコマンドパレットの「開発者: 実行中の拡張機能を表示」(Developer: Show Running Extensions)で確認できます。

3. Python インタープリターの設定

VSCodeに使用するPythonのバージョンを教える設定です。仮想環境を使っている場合は仮想環境のインタープリターを選択します。

  1. 1
    コマンドパレットを開く

    Ctrl+Shift+P(Mac: Cmd+Shift+P)でコマンドパレットを開きます。

  2. 2
    「Python: インタープリターを選択」を実行

    コマンドパレットに「Python: Select Interpreter」または「Python: インタープリターを選択」と入力して選択します。

  3. 3
    使用するPythonを選択

    表示されるリストから使用したいPythonを選択します。仮想環境を使っている場合は .venv\Scripts\python.exe(Windows)または .venv/bin/python(macOS / Linux)を選択してください。作り方とVSCodeとの連携は§4で詳しく扱います。

💡
ステータスバーで確認

現在選択されているインタープリターはVSCodeの右下(バージョンによっては左下)のステータスバーに表示されます。クリックすることでいつでも変更できます。

ここで選んだインタープリターはそのフォルダー(ワークスペース)単位で記憶されます。つまりプロジェクトごとに別のPythonを割り当てられるということで、次に同じフォルダーを開いたときは選び直す必要はありません。記憶される場所はVSCodeや拡張機能のバージョンによって異なり、.vscode/settings.json に書き出される場合もあれば、VSCode内部にだけ保存されて設定ファイルが作られない場合もあります。

選択がなぜ重要かというと、VSCodeはこの1つの設定を 補完(Pylance)・デバッグ実行・統合ターミナルの3か所すべての土台にしているからです。ここがずれていると「実行はできるのに補完が効かない」「pip install したのに import できない」といった、原因が見えにくい不具合がまとめて発生します。次の章で、その土台をプロジェクト単位に切り分ける仮想環境(venv)との連携を扱います。

4. 仮想環境(venv)と VSCode の連携

仮想環境(venv)は、プロジェクトごとにライブラリの置き場所を分ける仕組みです。分けておくと、あるプロジェクトのために入れたライブラリが別のプロジェクトを壊すことがなくなります。Python本体側の作り方はPythonのインストール手順の仮想環境(venv)の章で解説しているので、ここではVSCodeとつなぐところだけを扱います。

ここを飛ばすと、初心者がいちばん時間を溶かす「pip install したはずなのに ModuleNotFoundError」に必ず出会います。逆に、この章の3ステップを最初に済ませておけば、そのエラーの大半は起きません。

4.1 プロジェクト直下に .venv を作る

プロジェクトのフォルダーをVSCodeで開き、Ctrl+` でターミナルを出して次を実行します。フォルダー名は .venv にしておくのが実用的です。VSCodeはワークスペース内の .venv を自動的に探しに行くため、名前を合わせるだけで検出されやすくなります。

# Windows(PowerShell)
python -m venv .venv

# macOS / Linux
python3 -m venv .venv

実行するとフォルダー内に .venv ができます。中身は Windows なら .venv\Scripts\python.exe、macOS / Linux なら .venv/bin/python というそのプロジェクト専用のPythonです。

4.2 VSCode に .venv を認識させる

Ctrl+Shift+P →「Python: Select Interpreter(インタープリターを選択)」で、一覧から .venv が付いたものを選びます。('.venv': venv) のような表示が目印です。一覧に出てこない場合は「インタープリターパスを入力」から .venv\Scripts\python.exe を直接指定できます。

選択後、ステータスバーの表示が .venv に変われば連携完了です。この時点で、補完・デバッグ・ターミナルの3つが同じPythonを向きます。

4.3 統合ターミナルは自動でアクティベートされる

VSCodeの統合ターミナルは、選択中の環境を自動でアクティベートしてから開きます。プロンプトの先頭に (.venv) と出ていればアクティベート済みで、その状態の pip install はプロジェクト内だけに入ります。

すでに開いているターミナルには反映されないので、インタープリターを切り替えたらターミナルを一度閉じて開き直すのが確実です(ターミナルパネルのゴミ箱アイコンで破棄 → Ctrl+` で新規)。

⚠️
Windows で「スクリプトの実行が無効になっている」と出たら

PowerShell で .venv\Scripts\Activate.ps1 を手動実行すると、実行ポリシーの制限で拒否されることがあります。Python公式ドキュメント(venv)は、この場合に Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser を実行して有効化する方法を案内しています。会社から支給されたPCでは組織のポリシーが優先されることがあるため、変更前に管理者の方針を確認してください。設定変更を避けたいときは、コマンドプロンプト用の .venv\Scripts\activate.bat を使うか、そもそもアクティベートせずに .venv\Scripts\python.exe -m pip install requests のようにフルパスでvenv内のPythonを直接呼ぶ方法でも同じ結果になります。

4.4 「VSCodeでだけ ModuleNotFoundError」が出るときの切り分け

コマンドプロンプトでは動くのにVSCodeでだけ落ちる、あるいはその逆。原因は、筆者が見てきた範囲ではほぼ例外なく「入れたPythonと実行しているPythonが違う」ことです。犯人探しは、両方で次の1行を実行してパスが一致するかを見るのが最短です。

python -c "import sys; print(sys.executable)"

ターミナルで表示されたパスと、ステータスバーに出ているインタープリターが同じなら環境は揃っています。違っていたら次の表で自分の状況を確認してください。

入れた場所実行している場所結果直し方
OSのコマンドプロンプト(システムPython)VSCode(.venv 選択中)VSCodeだけ import 失敗VSCodeのターミナルで入れ直す
VSCodeのターミナル(.venv)OSのコマンドプロンプトターミナルだけ import 失敗先に .venv をアクティベートする
VSCodeのターミナル(.venv)VSCode(別の環境を選択中)実行時のみ失敗・Pylanceは赤波線Select Interpreter で .venv を選び直す
どこか不明切り分け不能python -m pip list を両方で比較する

迷ったときの原則はひとつ、pip ではなく python -m pip で入れることです。この書き方なら「いま選ばれているPython」に確実に入るため、取り違えが構造的に起きません。エラーメッセージ側から原因をたどりたい場合はModuleNotFoundErrorの解説もあわせて確認してください。

5. コードの実行方法

方法1: 再生ボタンで実行

右上の ▶ ボタン(実行ボタン)は「デバッグなしで実行」に相当します。クリックするか Ctrl+F5 でファイルを実行します。ブレークポイントを使ってデバッグ付きで実行したいときは F5 です。

方法2: ターミナルで実行

Ctrl+`(バッククォート)でターミナルを開き、python ファイル名.py を実行します。

python hello.py

方法3: インタラクティブウィンドウ

コードを選択して右クリック → 「選択範囲をPython インタラクティブで実行」を選ぶと、Jupyterのようなインタラクティブウィンドウで実行できます。このメニューは Jupyter 拡張機能(ms-toolsai.jupyter)が入っている場合に使えます。pandas の結果を少しずつ確かめたいときなど、ファイル全体を毎回動かしたくない場面で便利です。

3つの実行方法の使い分け

方法向いている場面入力を受け取れるか
▶ ボタン / Ctrl+F5とりあえず動かして結果を見る可(統合ターミナルで実行される)
ターミナルで python file.py引数を変えながら何度も試す
インタラクティブウィンドウデータを触りながら少しずつ書くinput() は不向き
ℹ️
ターミナルを常に下部に表示する

メニューの「ターミナル」→「新しいターミナル」でターミナルパネルを開いておくと作業しやすいです。input() を使うプログラムは、このターミナル上で実行されていないと入力を受け付けられません。パネルが「デバッグコンソール」や「出力」に切り替わっているときは、タブを「ターミナル」に戻してください。

6. デバッグの使い方

デバッグを使うとプログラムを途中で止めて変数の値を確認できます。バグ修正に非常に役立ちます。print() を挿しては消す作業を繰り返している人ほど、ここで時間が返ってきます。変数の中身を1行ずつ目で追えるようになるので、「なぜかループが1回多い」「なぜか空のリストが返る」といった原因が、推測ではなく観察で分かります。

ブレークポイントの設定

  1. 1
    ブレークポイントを設定

    止めたい行番号の左側をクリックすると赤い丸●が表示されます(ブレークポイント)。

  2. 2
    デバッグモードで実行

    F5 を押すか「実行とデバッグ」パネルから「Python ファイル」を選んで実行します。

  3. 3
    変数を確認

    ブレークポイントで停止したら、左のパネルで変数の値を確認できます。F10(次の行へ)、F11(関数の中に入る)で一行ずつ実行できます。

デバッグのショートカット

ショートカット動作
F5デバッグ開始 / 続行
Shift+F5デバッグ停止
F10ステップオーバー(次の行へ)
F11ステップイン(関数の中に入る)
Shift+F11ステップアウト(関数から出る)
Ctrl+Shift+F5デバッグの再起動
Ctrl+Shift+D「実行とデバッグ」パネルを開く

止まったあとに見る4つのパネル

ブレークポイントで停止すると、左側に4つの領域が並びます。役割を知っておくと、止めたあとに何を見ればいいか迷いません。

パネル見えるもの使いどころ
変数いまのスコープの変数と値期待した値が入っているかの確認
ウォッチ式自分で登録した式の評価結果len(items) など、変数そのものではない値を見張る
コールスタックどの関数から呼ばれてここに来たか再帰や深い呼び出しで迷子になったとき
ブレークポイント設定済みの停止位置の一覧一時的な全解除・付け直し

停止中は下部のデバッグコンソールでその場の変数を使った式を評価できます。data[3]["price"] のように打てば結果がすぐ返るので、条件式が思ったとおりか、その場で試せます。

条件付きブレークポイントとログポイント

1万件のループの中で「i が 500 のときだけ」止めたい、という場面があります。行番号の左を右クリックして「条件付きブレークポイントの追加」を選び、i == 500 のような式を入れると、その条件が真のときだけ停止します。

同じメニューにあるログポイントは、止めずにメッセージだけ出す仕組みです。メッセージ欄に 現在の値: {price} のように書くと、波括弧の中が実際の値に置き換わってデバッグコンソールに出ます。print() を書き足してあとで消す作業が丸ごと不要になり、消し忘れがコードに残る事故も防げます。

ℹ️
毎回同じ設定でデバッグしたくなったら

「引数をつけて起動したい」「作業フォルダーを固定したい」「APIキーを環境変数で渡したい」となったら、実行の設定をファイルに保存する段階です。それが次章の launch.json です。

7. launch.json はどこにある? 作り方と設定例

launch.json は「どのファイルを、どんな引数と環境変数で、どう起動してデバッグするか」を保存しておくファイルです。F5 のたびに選択肢を選び直している人は、これを作ればワンクリックで同じ実行を再現できます。

7.1 場所はプロジェクト直下の .vscode フォルダー

結論から言うと、launch.json の置き場所はVSCodeで開いているフォルダーの直下にある .vscode フォルダーの中です。パスで書くと プロジェクト/.vscode/launch.json になります。ユーザー設定のようにOSのどこか深い場所にあるのではなく、プロジェクトごとに1つという点がポイントです。

プロジェクト直下の.vscodeフォルダーの中身。settings.jsonはワークスペース設定、launch.jsonはデバッグ構成、extensions.jsonは推奨拡張を担当し、ユーザー設定はOS側の別の場所にある
図: 設定ファイルの置き場所と役割。launch.json はプロジェクト側(.vscode)にあり、ユーザー設定とは別物

.vscode はドットで始まるため、OSのファイル一覧では隠しフォルダー扱いになることがあります。VSCodeのエクスプローラー(左側のファイル一覧)ではそのまま表示されるので、見つからないときはVSCode側で探すのが早いです。表示されていない場合は、単にまだ作られていないだけです。

7.2 作り方は「実行とデバッグ」から2クリック

  1. 1
    「実行とデバッグ」パネルを開く

    左のアクティビティバーで再生ボタンに虫が付いたアイコン、または Ctrl+Shift+D(Mac: Cmd+Shift+D)。

  2. 2
    「launch.json ファイルを作成します」をクリック

    デバッガーの選択肢が出るので Python Debugger →「Python ファイル」を選びます。これで .vscode/launch.json が自動生成されます。

  3. 3
    あとから開くとき

    エクスプローラーから直接開くか、コマンドパレット(Ctrl+Shift+P)で「デバッグ: launch.json を開く」を実行します。手で .vscode フォルダーを作り、その中に launch.json を置いても同じです。

⚠️
フォルダーを開いていないと作れない

単体のファイルだけを開いた状態(フォルダー未オープン)では、保存先になるワークスペースが無いため launch.json を作成できません。「ファイル」→「フォルダーを開く」でプロジェクトのフォルダーを開いてから操作してください。

7.3 Python向けの設定例(引数・作業フォルダー付き)

自動生成された直後は「現在のファイルを実行」だけのシンプルな内容です。configurations の配列に要素を足すと、実行とデバッグパネルのドロップダウンに構成が並び、選んで F5 で切り替えられます。

.vscode/launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "現在のファイルを実行",
      "type": "debugpy",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "justMyCode": true
    },
    {
      "name": "main.py を引数つきで実行",
      "type": "debugpy",
      "request": "launch",
      "program": "${workspaceFolder}/main.py",
      "args": ["--input", "data.csv", "--verbose"],
      "cwd": "${workspaceFolder}",
      "console": "integratedTerminal"
    },
    {
      "name": "ライブラリの中まで追いかける",
      "type": "debugpy",
      "request": "launch",
      "program": "${file}",
      "console": "integratedTerminal",
      "justMyCode": false
    }
  ]
}
項目意味覚えておくこと
type使うデバッガー現在は debugpy。古い記事にある "python" は旧式の値
program起動するファイル${file}=開いているファイル、${workspaceFolder}=プロジェクト直下
argsコマンドライン引数スペース区切りの1語ごとに要素を分けて書く
cwd実行時の作業フォルダー省略時はワークスペースのフォルダー。相対パスでのファイル読み込みがずれるときはここ
console出力先既定は integratedTerminalinput() を使うならこのまま
justMyCode自分のコードだけを対象にするか省略時・true は自作コードのみ停止。false でライブラリ内部にも入れる

launch.json はコメント(//)を書ける形式ですが、末尾のカンマは書けません。構成を1つ消したときにカンマが余って赤波線が出るのは、ほぼこれが原因です。

7.4 環境変数を渡す(env / envFile)

APIキーやデータベースの接続先など、コードに直接書きたくない値は環境変数で渡します。VSCodeのデバッグ実行では方法が2つあります。

1つ目は env に直接書く方法です。切り替えの少ない値や、秘密ではない設定に向いています。

.vscode/launch.json(env で渡す)
{
  "name": "開発モードで実行",
  "type": "debugpy",
  "request": "launch",
  "program": "${workspaceFolder}/main.py",
  "console": "integratedTerminal",
  "env": {
    "APP_ENV": "development",
    "LOG_LEVEL": "DEBUG"
  }
}

2つ目は envFile でファイルから読み込む方法です。APIキーのような秘密の値はこちらを使ってください。ファイルを .gitignore に入れておけば、うっかりGitHubへ公開する事故を防げます。

.env(プロジェクト直下)
API_KEY=xxxxxxxxxxxxxxxx
DB_URL=postgresql://localhost:5432/sample
.vscode/launch.json(envFile で渡す)
{
  "name": ".env を読み込んで実行",
  "type": "debugpy",
  "request": "launch",
  "program": "${workspaceFolder}/main.py",
  "console": "integratedTerminal",
  "envFile": "${workspaceFolder}/.env"
}

Python側は os.environ で受け取ります。値が無いときに落とさず既定値を使いたい場合は os.environ.get() が便利です。

import os

api_key = os.environ.get("API_KEY", "")
app_env = os.environ.get("APP_ENV", "production")

if not api_key:
    raise SystemExit("API_KEY が設定されていません。.env を確認してください")

print(f"{app_env} モードで起動します")

なお、環境変数定義ファイルの既定値はVSCodeの設定 python.envFile にあり、VS Code公式ドキュメント(Python environments)では "${workspaceFolder}/.env" とされています。プロジェクト直下に .env を置いておけば、launch.json に書かなくても読まれるのが基本の挙動です。統合ターミナルにも同じ変数を流したい場合は、別の設定が必要になることがあるため、ターミナルから python main.py したときに値が空なら、まずデバッグ実行(F5)で確かめてください。

🔒
.env と .vscode の扱い

.env絶対にGitへコミットしないでください(§11.gitignore に記載例があります)。逆に launch.json はチームで共有する価値があるファイルです。秘密の値を env に直書きせず envFile に逃がしておけば、launch.json ごと安全に共有できます。

8. コードフォーマッターの設定(Black・Ruff)

コードフォーマッターは、インデントの深さ・カンマの後ろのスペース・改行位置といった「見た目のルール」を自動で揃えるツールです。Ctrl+S のたびに整形されるよう設定しておくと、書き方の細部を考える時間がまるごと消えます。学習中は「動くこと」に集中でき、あとから自分のコードを読み返したときも読みやすい。この章はそのための設定を、迷いようがない順番で並べます。

8.1 フォーマッターとリンターは役割が違う

混同されがちですが、両者は目的が別です。片方だけでも成立しますが、役割を知っておくと拡張機能を選ぶときに迷いません。

観点フォーマッターリンター
やることコードの見た目を機械的に整える問題になりそうな書き方を指摘する
代表例Black、Ruff formatter、autopep8Flake8、Pylint、Ruff linter
コードの意味変えない変えない(指摘するだけ)
結果の見え方保存すると勝手に整う波線や一覧で警告が出る

まず入れるべきはフォーマッターです。リンターは、書けるコードが増えて「未使用の変数」「使っていない import」が気になり始めてからで間に合います。

8.2 保存時に自動整形させる設定(3ステップ)

保存時整形が動かない原因は、ほぼこの3つのどれかが欠けていることです。逆に言えば、3つ揃えれば動きます。

  1. 1
    フォーマッターの拡張機能を入れる

    Black Formatter(ms-python.black-formatter)か Ruff(charliermarsh.ruff)のどちらか。Python拡張には整形機能が含まれていないため、この拡張を入れないと何も起きません。

  2. 2
    Python用の既定フォーマッターを指定する

    settings.json"[python]" の中で editor.defaultFormatter を指定します。ここを飛ばすと、整形時に「どのフォーマッターを使うか」を毎回聞かれて止まります。

  3. 3
    保存時整形を有効にする

    "editor.formatOnSave": true。全言語に効かせたくない場合は、手順2と同じ "[python]" の中に入れれば Python ファイルだけに限定できます。

Ctrl+Sを押してからコードが整形されるまでの流れ図。フォーマッター拡張の有無、editor.defaultFormatterの指定、editor.formatOnSaveの有効化という3つの関門を通過して初めて整形が実行される
図: 保存時に整形されるまでの3つの関門。効かないときは上から順に確認すると原因が1つに絞れる

Black を使う場合の最小構成は次のとおりです。Ctrl+Shift+P →「基本設定: ユーザー設定を開く (JSON)」で開いたファイルに追記します。

settings.json(Black 構成・最小)
{
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true
  }
}

Ruff を使う場合は、指定先を差し替えるだけです。

settings.json(Ruff 構成・最小)
{
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true
  }
}

設定したら、わざとスペースを乱した行を作って Ctrl+S してください。整った瞬間が動作確認です。何も起きない場合は8.7の確認順へ進んでください。

8.3 Black — 選択肢が少ないことが価値

Black は「スタイルで議論させない」ことを狙ったフォーマッターです。Black 公式ドキュメント(The Black code style)はスタイルの設定項目を意図的に絞っていると明言しており、既定の1行の長さは 88文字、文字列は原則ダブルクォートに統一されます。要素の末尾に自分でカンマを付けると1行に収まる場合でも複数行に展開される(マジックトレーリングカンマ)といった決まりもあります。

うれしいのは、誰が書いても同じ形に落ちるので、スタイルを迷う時間がなくなることです。学習中でも「この改行位置で合っているのか」と悩む回数が減ります。

拡張機能はBlack本体を同梱しており(2026年8月時点の拡張機能ページの表記では black=26.1.0)、pip install black をしなくても保存時整形は動きます。プロジェクトやCIとバージョンを揃えたいときだけ、仮想環境に入れたBlackを使わせる設定に変更します。

settings.json(Black の細かい調整)
{
  "black-formatter.args": ["--line-length", "100"],
  "black-formatter.importStrategy": "fromEnvironment"
}

importStrategy の既定は useBundled(拡張に同梱されたBlackを使う)で、fromEnvironment にすると選択中の環境にインストールされたBlackを優先します。「人によって整形結果が違う」を避けたいときは、pip install black したうえで fromEnvironment に切り替えるのが確実です。

8.4 Ruff — 整形とチェックを1つにまとめる

Ruff は Rust で書かれた高速なツールで、リンターとフォーマッターを兼ねます。フォーマッターは Black の代替として設計されており、Ruff 公式ドキュメント(Formatter)は「既存の Black 整形済みコードに対してほぼ同一の出力を出すことを意図している」と述べ、多数のBlack整形済みプロジェクトでの検証で99.9%を超える行が同一に整形されたと説明しています。ただし f-string の波括弧内を整形するなど、意図的な差異も公式に明記されています。完全一致が保証されるわけではない点は押さえておいてください(2026年8月時点の公式ドキュメント)。

VSCode拡張はRuff本体を同梱しており(2026年8月時点の拡張機能ページの表記で ruff==0.16.2。同梱バージョンは拡張の更新で変わります)、こちらも pip install ruff なしで動きます。整形に加えて、保存時の自動修正やimport並べ替えまでやらせるなら次の設定です。

settings.json(Ruff で整形+自動修正+import整理)
{
  "[python]": {
    "editor.defaultFormatter": "charliermarsh.ruff",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.fixAll.ruff": "explicit",
      "source.organizeImports.ruff": "explicit"
    }
  }
}

source.fixAll.ruff は自動修正できる指摘(未使用importの削除など)を保存時に適用し、source.organizeImports.ruff は import を並べ替えます。"explicit" は「明示的に保存したときに実行する」という指定です。

⚠️
自動修正は最初こわい

source.fixAll を有効にすると、書きかけの import が保存のたびに消えることがあります(まだ使っていないため未使用と判定される)。学習中で戸惑うなら、まずは整形だけを有効にして、慣れてから自動修正を足すほうが安全です。

8.5 Black と Ruff、どちらを選ぶか

どちらも無料で、保存時整形という目的だけ見れば体感差はほとんどありません。判断材料は「自分の状況」です。

観点Black FormatterRuff
拡張機能の提供元MicrosoftAstral
役割整形のみ整形+リンター+import整理
速度学習用途では気にならない大きなコードベースで差が出る
スタイル広く使われている基準Black互換を目指す(一部差異あり)
拡張だけで動くか動く(本体同梱)動く(本体同梱)
向いている人教材や記事どおりに進めたい人ツールを1つにまとめたい人

迷ったら、最初のうちは Black をおすすめします。書籍や記事の前提になっていることが多く、困ったときに検索で答えが見つかりやすいからです。自分のコードが増えて「未使用importの掃除まで自動でやりたい」と感じたら Ruff に一本化する、という順番が自然です。

逆に、BlackとRuffの両方を整形役として同時に有効にするのは避けてください。どちらが最後に走ったかで結果が変わり、Gitの差分が無意味に増えます。整形役はどちらか一方に決める、が鉄則です。

8.6 import の並べ替え(isort との関係)

整形とは別に、import 文を標準ライブラリ・サードパーティ・自作の順に並べ替える機能があります。Black は整形しかしないため、Blackを使う構成では isort 拡張(ms-python.isort)を追加し、保存時のコードアクションで呼び出します。

settings.json(Black + isort)
{
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.organizeImports": "explicit"
    }
  }
}

一方 Ruff では、ruff format 自体は import を並べ替えません。Ruff 公式ドキュメント(Sorting imports)もリンター側の I ルール(ruff check --select I --fix)と組み合わせる運用を案内しています。VSCode上では前述の source.organizeImports.ruff がその役目です。

整形とimport整理は別物、と覚えておくと「保存しても import の順番が直らない」という混乱を避けられます。

8.7 フォーマッターが効かないときの確認順

保存しても何も起きないときは、次の順に見ると原因が1つに絞れます。上ほど頻度が高い原因です。

#確認すること直し方
1フォーマッター拡張が入っているか拡張機能タブで ms-python.black-formatter または charliermarsh.ruff を検索して導入
2editor.defaultFormatter"[python]" の中にあるか別の言語の設定の中や、括弧の外に書いていないか確認
3editor.formatOnSavetrueワークスペース設定側で false に上書きされていないかも見る
4右下の言語モードが「Python」か拡張子が .py でない・新規未保存ファイルだと対象外
5ファイルに構文エラーが無いか括弧やコロンの閉じ忘れがあると整形自体ができない
6出力パネルにエラーが出ていないか「出力」タブのドロップダウンで Black Formatter / Ruff を選ぶと理由が読める

手っ取り早い切り分けとして、コマンドパレットの「ドキュメントのフォーマット」(Format Document)を実行してみてください。ここで整形されるなら、フォーマッター自体は正常で formatOnSave の設定だけが問題だと分かります。整形されないなら、拡張機能か構文エラー側が原因です。

設定の競合が疑わしいときは、Ctrl+, の設定画面で formatOnSave と検索し、「ユーザー」と「ワークスペース」のタブを見比べます。ワークスペース設定はユーザー設定より優先されるため、プロジェクト側で切られているケースが見落とされがちです。

8.8 チームやCIと結果を揃える

1人で学習している間はエディターの設定だけで足りますが、他の人と同じコードを触るなら、整形ルールをプロジェクトのファイルに置いておくと安全です。BlackもRuffも pyproject.toml の設定を読みます。

pyproject.toml
[tool.black]
line-length = 100

[tool.ruff]
line-length = 100

こうしておけば、エディターから整形しても、ターミナルから black .ruff format . を実行しても同じ結果になります。既存プロジェクトへ後から導入する場合は、最初の一括整形だけを独立したコミットに分けると、後から履歴を追う人が「中身の変更」と「整形だけの変更」を区別できます。

💡
この章で手に入る状態

保存するたびにコードが整う状態になりました。以降、インデントや空白を自分で直す作業はゼロになります。整形結果に驚いたときは、コードが壊れたのではなくツールが決めた形に寄せられただけです。Ctrl+Z で戻す前に一度読んでみると、読みやすい書き方の基準がそのまま身につきます。

9. おすすめ settings.json 設定

Ctrl+Shift+P → 「基本設定: ユーザー設定を開く (JSON)」で設定ファイルを開きます。

9.1 ユーザー設定とワークスペース設定の違い

VSCodeの設定は2層構造です。ここを理解しておくと、「家では効いていた設定が、このプロジェクトでは効かない」の理由がすぐ分かります。

ユーザー設定ワークスペース設定
適用範囲すべてのプロジェクトそのフォルダーだけ
ファイルの場所OS側のユーザーフォルダー内プロジェクト/.vscode/settings.json
優先度低い高い(こちらが勝つ)
共有自分専用Gitに入れればチームで共有できる
向いている内容フォントサイズ・テーマ・キー操作使うPython・整形ルール・除外フォルダー

ユーザー設定ファイルの実体は、Windows なら %APPDATA%\Code\User\settings.json、macOS なら ~/Library/Application Support/Code/User/settings.json、Linux なら ~/.config/Code/User/settings.json です。とはいえ手で探す必要はほぼなく、コマンドパレットから開くのが確実です。

9.2 まず入れておきたいユーザー設定

次の内容は、Pythonを学び始めた時点でそのまま使える構成です。コメント付きで貼れるよう、行ごとに意味を添えています(settings.json// のコメントを書ける形式です)。

settings.json
{
  // エディター基本設定
  "editor.fontSize": 14,
  "editor.tabSize": 4,
  "editor.insertSpaces": true,
  "editor.wordWrap": "on",
  "editor.minimap.enabled": false,
  "editor.rulers": [88],
  "editor.renderWhitespace": "boundary",

  // Python設定
  "python.languageServer": "Pylance",
  "python.analysis.typeCheckingMode": "basic",
  "python.analysis.autoImportCompletions": true,

  // フォーマッター設定
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true,
    "editor.codeActionsOnSave": {
      "source.organizeImports": "explicit"
    }
  },

  // ターミナル設定
  "terminal.integrated.fontSize": 13,

  // ファイル設定
  "files.autoSave": "afterDelay",
  "files.autoSaveDelay": 1000,
  "files.trimTrailingWhitespace": true,
  "files.insertFinalNewline": true,

  // テーマ(お好みで)
  "workbench.colorTheme": "Default Dark Modern",
  "workbench.iconTheme": "material-icon-theme"
}

1点だけ前提があります。source.organizeImports は import の並べ替えを担当する拡張機能(Black構成なら ms-python.isort)が入っていないと何も起きません。この行を活かすなら isort 拡張もあわせて導入してください。詳しくは8.6で解説しています。

設定効果変えるとどうなるか
editor.rulers指定した桁に縦線を引くBlackの既定(88文字)に合わせると、整形後の折り返し位置が事前に見える
editor.renderWhitespace空白を点で表示タブとスペースの混在に気づける(PythonのIndentationError予防)
python.analysis.typeCheckingModePylanceの型チェックの強さoffbasic/より厳しいモードがある。最初は basic が扱いやすい
python.analysis.autoImportCompletions補完候補からimportを自動追加pd. と打つと import pandas as pd を提案してくれる
files.autoSave一定時間後に自動保存保存時整形と組み合わせると、打鍵の途中で整形が走って驚くことがある。気になるなら off
files.insertFinalNewlineファイル末尾に改行を入れるGitの差分に「\ No newline at end of file」が出なくなる
⚠️
自動保存と保存時整形の相性

"files.autoSave": "afterDelay"formatOnSave を同時に使うと、入力を止めた瞬間に整形が走ります。書きかけの行が勝手に動くのが気持ち悪ければ、自動保存を "off" にして Ctrl+S を押すタイミングを自分で決めるほうが快適です。

9.3 プロジェクト側に置くワークスペース設定

使うPythonや整形ルールは、プロジェクト側に置いたほうが事故が減ります。.vscode/settings.json手で作って構いません.vscode フォルダーごと自分で作り、その中にこのファイルを置けば読み込まれます(VSCode側の操作で自動生成されることもあります)。

.vscode/settings.json
{
  "[python]": {
    "editor.defaultFormatter": "ms-python.black-formatter",
    "editor.formatOnSave": true
  },
  "python.testing.pytestEnabled": true,
  "python.testing.pytestArgs": ["tests"],
  "files.exclude": {
    "**/__pycache__": true
  }
}

files.exclude はエクスプローラーの表示から隠す設定です。__pycache__ を隠すだけで、ファイル一覧がぐっと読みやすくなります。

10. 覚えておきたいショートカット

全部覚える必要はありません。最初の1週間は下の「編集の基本」だけで十分です。手が勝手に動くようになったら次の表へ進んでください。マウスに戻る回数が減るほど、書く速度より「試す速度」が上がります。

編集の基本

ショートカット (Win)Mac動作
Ctrl+SCmd+S保存(フォーマッター設定済みならここで整形)
Ctrl+ZCmd+Z元に戻す
Ctrl+/Cmd+/行コメントのオン/オフ
Alt+↑/↓Option+↑/↓行を上下に移動
Shift+Alt+↑/↓Shift+Option+↑/↓行をコピーして上下に追加
Ctrl+DCmd+D同じ単語を次々と複数選択
Ctrl+Shift+KCmd+Shift+K行を削除
Tab / Shift+TabTab / Shift+Tab選択範囲のインデントを深く/浅く

移動と検索

ショートカット (Win)Mac動作
Ctrl+Shift+PCmd+Shift+Pコマンドパレット(迷ったらここ)
Ctrl+PCmd+Pファイルを素早く開く
Ctrl+`Ctrl+`ターミナルを開く/閉じる
Ctrl+BCmd+Bサイドバーの表示/非表示
Ctrl+FCmd+Fこのファイル内を検索
Ctrl+Shift+FCmd+Shift+F全ファイル検索
Ctrl+HCmd+H置換
Ctrl+GCtrl+G行番号を指定して移動(トレースバックの行へ飛ぶ)

Python開発で効くもの

ショートカット (Win)Mac動作
F2F2変数名・関数名を一括リネーム(呼び出し側も追従)
F12F12定義へジャンプ(ライブラリの中身も読める)
Alt+←Ctrl+-ジャンプ前の場所に戻る
Ctrl+SpaceCtrl+Spaceコード補完を手動で表示
Ctrl+Shift+SpaceCmd+Shift+Space引数のヒントを表示(何番目の引数かが分かる)
Ctrl+F5Ctrl+F5デバッグなしで実行
F5F5デバッグ実行
Shift+Alt+FShift+Option+Fドキュメント全体をフォーマット(保存を待たずに整形)

覚え方のコツは、「マウスでやった操作を1つだけキーに置き換える」を毎日続けることです。キー割り当てはコマンドパレットの「基本設定: キーボードショートカット」から確認・変更できます。

11. 効率的な開発ワークフロー

VSCodeはカスタマイズ自由度が高いため、人によって生産性が大きく変わります。ここではPython開発を始めたばかりの方向けに、最初に押さえておくと差がつく実践テクニックを紹介します。環境の連携(§4)とデバッグ構成(§7)は済んでいる前提です。

11.1 .gitignore は最初に作る

Pythonプロジェクトでは、コミットしてはいけないファイルが決まっています。仮想環境フォルダ・キャッシュ・秘密情報をGit管理から外すために、プロジェクト作成時に .gitignore を作っておく習慣が重要です。

# .gitignore(Python プロジェクト推奨テンプレート)
__pycache__/
*.py[cod]
*.egg-info/

# 仮想環境
.venv/
venv/
env/

# IDE(.vscode には共有したいファイルもあるので、丸ごとは無視しない)
# ローカル固有の設定まで共有したくない場合だけ、次の行のコメントを外す
# .vscode/settings.json
.idea/

# 環境変数・秘密情報
.env
.env.local
*.key
secrets/

# OS が自動生成するファイル
.DS_Store
Thumbs.db

ひとつ注意点があります。.gitignore でコメントとして扱われるのは行頭の # だけで、行の途中に書いた # はパターンの一部になります。.venv/ # 仮想環境 のように書くと「.venv/ # 仮想環境 という名前のもの」を探しにいくため、書いたのに無視されないという分かりにくい事故になります。注釈は必ず独立した行に書いてください。なお .vscode/settings.json を除外するかどうかは中身しだいなので、判断の基準は11.3にまとめました。

11.2 ターミナル統合と pip コマンドを使い分ける

統合ターミナルが仮想環境を自動でアクティベートすること(§4.3)を利用して、OSのコマンドプロンプトでなくVSCode内のターミナル(Ctrl+`)から pip install すると、誤ってシステム全体に余計なパッケージを入れる事故を防げます。

ターミナルは + ボタンで複数開けます。「実行用」と「pip install 用」を分けておくと、実行中のプログラムを止めずにライブラリを追加できます。分割表示アイコンで左右に並べれば、両方を同時に見られます。

11.3 .vscode フォルダーは何を共有するか

チームでリポジトリを共有するとき、.vscode の中身をコミットすべきか迷います。判断基準は「機械が違っても意味を持つか」です。

ファイル共有理由
launch.jsonする実行方法はプロジェクト固有の知識。新メンバーがすぐ動かせる
extensions.jsonする推奨拡張として提示され、初回に導入を案内できる
settings.json内容による整形ルールは共有価値あり。絶対パスや個人の好みは入れない
.envしない秘密情報。.gitignore に必ず入れる
.vscode/extensions.json
{
  "recommendations": [
    "ms-python.python",
    "ms-python.black-formatter"
  ]
}

これを置いておくと、そのフォルダーを初めて開いた人に「推奨拡張機能をインストールしますか」と案内が出ます。読者が自分1人でも、PCを買い替えたときの自分への引き継ぎとして役に立ちます。

11.4 テストの実行もVSCodeから

関数を書くようになったら、テストの自動実行を覚えると学習効率が変わります。フラスコのアイコン(テスト)から pytest を有効にすると、テスト関数の横に再生ボタンが出て、1つずつ実行できます。設定は §9 のワークスペース設定に書いた python.testing.pytestEnabledpython.testing.pytestArgs の2行です。

「変更する → テストを走らせる → 緑になる」のループが速くなるほど、思い切ってコードを直せるようになります。

12. よくあるトラブルと対処(症状別の逆引き)

VSCodeでPython開発を始めたばかりの方が遭遇しがちな問題と、その解決法をまとめます。エラーメッセージそのままで検索する前に、まずここをチェックしてみてください。本ページで解決しないエラーメッセージは、Pythonでよくあるエラーと解決法もあわせて確認してください。

症状いちばん多い原因飛び先
赤い波線で「import を解決できません」インタープリターの選択ずれ12.1
F5でPythonの選択肢が出ないPython拡張が無効12.2
保存しても整形されないdefaultFormatter 未設定8.7
日本語入力でカーソルがずれるインライン候補との衝突12.4
pip install したのに import できない入れた環境と実行環境が別12.5
python が認識されないPATH未設定・未インストール12.6
Activate.ps1 が実行できないPowerShellの実行ポリシー4.3
デバッグが止まらない/止まりすぎるブレークポイント位置と justMyCode12.7

12.1 「Pylance が import を解決できない」と表示される

症状:自作モジュールやpipでインストールしたパッケージに対して、赤い波線で「unresolved import」と表示される。実行はできるのに補完が効かない状態です。

原因:VSCodeが現在のワークスペースのPythonインタープリターを正しく認識できていません。pip installしたのにシステムPythonが選ばれている、または仮想環境が切り替わっていないケースが多いです。

対処Ctrl+Shift+P → 「Python: Select Interpreter」で正しいインタープリター(プロジェクト内の .venv 等)を選び直します。それでも解決しない場合はVSCodeを一度リロード(Ctrl+Shift+P → 「Developer: Reload Window」)してください。

自作モジュールだけが解決できない場合は、importの基準になるフォルダーがずれています。src フォルダーの中にコードを置いている構成などでは、ワークスペース設定に解析対象のパスを足すとPylanceが認識します。

.vscode/settings.json
{
  "python.analysis.extraPaths": ["src"]
}

12.2 デバッグの F5 で「Python ファイルとして実行できない」

症状:F5を押すと選択画面が出るが、Python用の選択肢が現れない、または実行が始まらない。

対処:拡張機能タブで Python(Microsoft公式) がインストール・有効化されているか確認します。インストール直後はVSCodeの再起動が必要な場合があります。それでも動かない場合は、.vscode/launch.json§7.3 のテンプレートから手動で作成すると確実です。

12.3 「Linter / Formatter が動かない」

症状:保存時にBlackやRuffのフォーマットが実行されない。

対処:(1) フォーマッターの拡張機能が入っているか(ms-python.black-formatter または charliermarsh.ruff。本体は拡張に同梱されているため pip install は必須ではありません)、(2) settings.json"[python]" の中に "editor.formatOnSave": true"editor.defaultFormatter" があるか、(3) 右下の言語モードが「Python」になっているかを確認します。詳しい手順は§8.7の確認順にまとめました。

12.4 「日本語入力が変・カーソル位置がずれる」

症状:日本語入力中に変換候補ウィンドウが変な位置に出る、確定後にカーソル位置がずれる。

対処:GitHub Copilot などが出すインライン候補がIMEと衝突しているケースがあります。設定で「inline suggest」や「IME」を検索し、関連オプションを一時的にオフにして再現するか確かめてください。改善しない場合はVSCodeを最新版にアップデートすると解決することが多いです。

12.5 「ターミナルで pip install したのに使えない」

症状:VSCodeのターミナルで pip install requests したのに、コード上ではimportエラー。

対処:ターミナルがアクティベートしているPythonと、コード実行時のPythonが一致していない典型例です。ターミナルで python -c "import sys; print(sys.executable)" を実行して使われているPythonのパスを確認し、Ctrl+Shift+P → 「Python: Select Interpreter」で同じものを選ぶことで解決します。切り分けの表は§4.4にあります。

12.6 「python は認識されていません」とターミナルに出る

症状:ターミナルで python と打つと「'python' は、内部コマンドまたは外部コマンド…として認識されていません」と表示される。Microsoft Store が勝手に開く場合もあります。

原因:Python本体が入っていないか、入っていてもPATHに登録されていません。VSCodeの問題ではなく、Python側の設定です。

対処:Windows では py --version を試してください。これが通るならPython自体はあり、python というコマンド名が通っていないだけです。py -m pip install ... のように py 経由で使うか、インストーラーを再実行して「Add python.exe to PATH」を有効にします。詳細はPythonインストールのトラブル対処にまとめています。Store のインストール画面が開く場合は、設定の「アプリ実行エイリアス」で python の項目をオフにすると止まります。

12.7 デバッグが止まらない/止まりすぎる

症状A(止まらない):ブレークポイントを置いたのに素通りして終了する。赤丸が白い輪郭(灰色)に変わっていることがあります。

原因と対処:その行が実行されていない、または実行しているファイルが別というのが大半です。launch.jsonprogram${file} なら「いま開いているファイル」が対象なので、別のファイルを開いたまま F5 を押していないか確認してください。関数の中に置いたブレークポイントは、その関数が呼ばれなければ止まりません。まず if __name__ == "__main__": の直後など、確実に通る行で試すと切り分けられます。

症状B(止まりすぎる):ライブラリの内部やまったく身に覚えのないファイルで停止してしまう。

原因と対処justMyCodefalse になっていると、標準ライブラリや外部ライブラリの中でも例外で停止します。自分のコードだけを追いたいときは true(省略時の既定)に戻してください。逆に、ライブラリの中で何が起きているか読みたいときだけ false にします。

もう1つ、「実行とデバッグ」パネルのブレークポイント一覧で「Raised Exceptions(発生した例外)」にチェックが入っていると、処理として握りつぶされている例外でも毎回止まります。覚えのない場所で止まるときはここも見てください。

💡
トラブル対処の鉄則

VSCode + Pythonのトラブルは、筆者の経験ではその大半が 「インタープリターの選択」「拡張機能の有効化」「VSCodeの再起動」 のいずれかで解決します。エラー検索の前にまずこの 3 点をチェックする習慣をつけると、解決時間が大幅に短縮されます。

13. よくある質問

VSCodeとPyCharm、初心者はどちらを選ぶべきですか?

どちらでもPythonは学べます。VSCodeはPython以外の言語やMarkdown、Web制作でも同じエディターを使い回せる点と、動作が軽い点が利点です。PyCharmはPython専用に作られていて、最初から入っている機能だけで完結しやすいのが利点です。無料で使える範囲や提供形態は変更されることがあるため、PyCharmを検討する場合は開発元の公式ページで最新の条件を確認してください。この記事の手順はVSCodeを前提にしていますが、途中で乗り換えても学んだ内容(仮想環境・フォーマッター・デバッグの考え方)はそのまま通用します。

VSCodeは無料で使えますか?

VSCode本体はMicrosoftが無料で配布しており、この記事で紹介した設定はすべて無料の範囲で完結します。Python拡張・Pylance・Python Debugger・日本語化パック・Black Formatter・Ruffのいずれも追加費用はかかりません。有料になり得るのは、GitHub Copilotのような別サービスと連携する拡張や、GitLensの一部機能です。学習を始めるにあたって支払いが必要になる場面はありません。

VSCodeを日本語化するにはどうすればいいですか?

拡張機能タブで「Japanese Language Pack for Visual Studio Code」(MS-CEINTL.vscode-language-pack-ja)をインストールし、案内に従って再起動すればメニューが日本語になります。切り替わらないときは、コマンドパレット(Ctrl+Shift+P)で「Configure Display Language」を実行し、一覧から日本語を選んでください。英語のままにしておくと、エラーメッセージをそのまま検索したときに海外の情報が見つけやすいという利点もあるため、慣れてきたら好みで選べます。

GitLensは有料になったのですか?

無料で使える範囲は残っています。開発元の案内では、無料のCommunityでもブレーム注釈・ホバー表示・CodeLens・ファイル履歴のたどり直しといった中心機能が使えます。一方でLaunchpad(プルリクエストの整理)や、プライベートリポジトリでのCommit Graph・Visual File History・Worktreesなどは有料プラン(Pro / Advanced)の対象として案内されています。2026年8月時点の公式ページに基づく整理で、条件は変更されることがあるため、業務で使う予定があるなら提供元の料金ページで最新の条件を確認してください。Pythonの学習を進めるだけなら、無料の範囲で足ります。

VSCodeを入れればPython本体は不要ですか?

必要です。VSCodeはコードを書くためのエディターで、Pythonを実行する機能そのものは持っていません。Python本体を別途インストールし、この記事の§3でその場所をVSCodeに教える、という2段構えになります。まだPython本体を入れていない場合はPythonのインストール手順を先に済ませてください。ターミナルで python --version がバージョンを返せば準備できています。

メモリ8GBのパソコンでもVSCodeでPython開発はできますか?

できます。VSCodeはエディターとしては軽い部類で、学習用の小さなスクリプトを書く分には8GBでも困りません。動作が重く感じるときは、使っていない拡張機能を無効にする、開いているフォルダーを小さくする、ブラウザのタブを減らすといった対処が効きます。ただし、データ分析で大きなCSVを読み込む、機械学習のライブラリを動かすといった段階に進むとメモリが不足しやすくなります。買い替えを検討する時期に来たらPython学習用パソコンの選び方と推奨スペックを参考にしてください。

AIのコード補完は最初から入れるべきですか?

急ぐ必要はありません。学習の初期は、書けなかった箇所が自分の理解の穴を教えてくれる貴重な情報です。AI補完を最初から常時オンにすると、その穴が見えないまま進んでしまいます。一方で、定型的な処理を書く場面や、エラーの原因を調べる場面では時間の節約になります。まずはPylanceの補完(型やメソッド名の候補)だけで進め、基本文法をひととおり書けるようになってから導入を検討するのが、遠回りに見えて確実です。

🎉
開発環境の完成!次はPython文法を学ぼう

ここまでで、補完が効き、保存すると整形され、F5で変数の中身を追えるエディターができました。あとは書くだけです。次はPythonの基本構文を、やりたいこと別に見渡すところから始めましょう。実際に動かす題材が欲しくなったら初心者向けアプリ100本にコード付きのサンプルがあります。

基本構文を学ぶ →

🎒
学習リソースの準備もおすすめ

エディタの次は、学習を支える環境づくりを。体系的に学べるPythonのおすすめ本9冊(レベル別)と、用途別の必要スペックをまとめたPython学習用パソコンの選び方が参考になります。