VSCodeは軽快さと拡張性を両立したエディタで、Python開発でも強力な体験を提供します。
本記事では2025年版のおすすめ拡張機能10選を、初心者の方にも導入しやすい順序と実例つきで解説します。
フォーマッタやリンタの競合を避ける設定も丁寧に扱い、今日から迷いなく快適な開発環境を整えられるようにします。
初心者必須のおすすめVSCode拡張機能(2025年版)
Python(Microsoft)
できること
Microsoft公式のPython拡張機能です。VSCodeを用いたPythonプログラミングでは必須に近いレベルです。
インタプリタ選択、Lint/Formatの連携、テスト検出、デバッグ起動、Jupyterとの連携などPython開発の基盤になります。
ここから導入を始めるとつまずきにくいです。
インストールと有効化
VSCode左の拡張機能ビューでPython
と検索してインストールします。

CLIなら以下でも導入できます。
# VSCode拡張のインストール (CLI)
code --install-extension ms-python.python
初回は右下の通知やステータスバーからPython: Select Interpreter
を実行し、使いたい仮想環境(venv)やシステムPythonを選択してください。
プロジェクトごとにインタプリタを選ぶとライブラリの取り違えを防げます。
おすすめ設定(settings.json)
VSCodeの設定(歯車) → 設定JSONを開く
で、次を追加します。

{
// 端末を開くたびに選択中の仮想環境を自動アクティブ化
"python.terminal.activateEnvironment": true,
// 実行/デバッグ時に統合ターミナルを使う
"python.experimental.debugging": true
}
使い方の例(実行とデバッグ)
次のサンプルを保存し、右上の再生ボタン(▶)で実行できます。
# hello.py
# VSCodeのPython拡張で実行する最小例
def greet(name: str) -> str:
return f"Hello, {name}!"
if __name__ == "__main__":
print(greet("VSCode"))
Hello, VSCode!
ブレークポイントを行番号左に置き、左サイドバーの実行とデバッグ
から開始すると停止と変数ウォッチができます。
Python拡張はPylance(後述)と組み合わせる前提です。
併用して初めて補完や型チェックが最大限活きます。
Pylance

できること
PylanceはMicrosoftの高速言語サーバで、裏側ではPyrightによる型解析が動いています。
爆速補完と正確な型エラー検出で、間違いに早く気づけます。
おすすめ設定(型チェック強度)
初心者はbasic
から始め、慣れたらstrict
へ段階的に上げるのがおすすめです。
{
// 型チェックの厳しさ: off | basic | strict
"python.analysis.typeCheckingMode": "basic",
// 未使用変数の警告を早めに確認
"python.analysis.diagnosticMode": "workspace"
}
型エラーを体験する小例
Pylanceが捉える典型的なエラー例です。
保存すると波線と診断が出ます。
# pylance_example.py
# 型注釈と戻り値が食い違っている例
from typing import List
def head(items: List[int]) -> int:
# 本来はintを返すべきだが、誤ってstrを返している
return "not an int" # Pylanceが型不一致を指摘します
エディタ上で早期に気づけるため、実行前にバグの芽を摘めます。
Jupyter

できること
VSCode内でJupyter Notebook(.ipynb)を扱えます。

さらにPythonファイル内でも# %%
セルを区切って対話実行ができます。
学習・検証コードの反復実行に最適です。
下準備
実行には対象環境にipykernel
が必要です。
python -m pip install ipykernel
Pythonスクリプトをセル実行する例
エディタ上でセル左上の「実行」ボタンを押すと、そのセルだけを評価できます。
# jupyter_cells.py
# %% でセルを分割し、Jupyter拡張で対話実行できる
# %% 1つ目のセル
x = 21 * 2
x
# %% 2つ目のセル
print(f"x = {x}")
42
x = 42
NotebookではShift+Enter
でセル実行、Ctrl+Enter
(macOSはCmd+Enter
)でセルを実行して選択を維持できます。
コード品質を上げるPython拡張機能
Black Formatter

できること
事実上の標準フォーマッタです。
スタイルを厳格に統一し、コードレビューの指摘を減らします。
MicrosoftのBlack Formatter
拡張を入れるとVSCodeからBlackが使えます。
インストール
拡張とPythonパッケージの両方が必要です。
code --install-extension ms-python.black-formatter
python -m pip install black
おすすめ設定(保存時フォーマット)
{
// PythonはBlackでフォーマット
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
},
// Blackの行幅(必要に応じて)
"python.formatting.blackArgs": ["--line-length", "100"]
}
同時に複数のフォーマッタを有効にしないでください。
Ruffやautopep8と併用すると競合します。
Before/Afterの例
整形前:
# messy.py
def add(a:int,b:int)->int: return a+b
print( add( 1 ,2 ) )
Black整形後:
def add(a: int, b: int) -> int:
return a + b
print(add(1, 2))
isort

できること
import文をアルファベット順に整理し、グループ化や未使用の自動除去(設定により)を行います。
Ruffにも同等機能があり、どちらか片方に寄せるのが安全です。
インストール
code --install-extension ms-python.isort
python -m pip install isort
おすすめ設定
{
// 保存時にimportを整理
"python.sortImports.args": ["--profile", "black"],
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
}
Before/Afterの例
整理前:
# imports_before.py
import sys, os
import numpy as np
from datetime import datetime
import requests
isort後:
import os
import sys
from datetime import datetime
import numpy as np
import requests
Blackとisortは--profile black
で衝突を避けられます。
Ruff
できること
Ruffは超高速リンタ兼フォーマッタで、Flake8/pycodestyle/pydocstyle/isortの多くを代替します。
代替する都合上、関連するフォーマッタと競合しがちです。他のフォーマッタは無効化、または、isortの--profile black
オプションのようなもので対応したうえで使用しましょう
2025年時点では「Ruffでlint+import整列、Blackで整形」または「すべてRuffに寄せる」の2択が主流です。
インストール
code --install-extension charliermarsh.ruff
python -m pip install ruff
おすすめ設定(Blackと併用する場合)
{
// Ruffでlint, import整列。整形はBlackに任せる
"ruff.lint.enable": true,
"ruff.format.enable": false, // ← Blackを使うため無効
"ruff.lint.select": ["E", "F", "I", "W"], // 代表的な規則セット
"editor.codeActionsOnSave": {
"source.fixAll.ruff": "explicit", // ルールに基づく自動修正
"source.organizeImports.ruff": "explicit"
}
}
代わりにRuffで整形まで行う場合は以下です。
Blackと同時には使わないでください。
{
// Ruffをデフォルトフォーマッタに
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true
},
"ruff.format.enable": true
}
Lintの例と修正提案
次は未使用importと可読性の低い比較を含むコードです。
# ruff_example.py
import os # 未使用
x = 0
if x == 0: # "== 0" より "not x" の方が読みやすい場面も
print("zero")
RuffのCLI出力例:
ruff check ruff_example.py
ruff_example.py:2:1: F401 `os` imported but unused
ruff_example.py:5:4: PLR1714 consider simplifying comparison to `not x`
VSCode拡張ではProblemsタブとインラインで同様の指摘が表示されます。
実行・デバッグを快適にするVSCode拡張機能
Code Runner

できること
軽量に現在編集中のファイルを即実行します。
導入することで、Ctrl+Enter
キーでプログラムを実行することが出来ます。
複雑なデバッグ構成を作る前の素早い試行に便利です。
標準の「Run Python File」との違いは、複数言語にまたがってワンボタンで走らせられる点です。
実際にはファイルの拡張子ごとに区別して設定できるコマンドを実行するだけであるため、Pythonに限らず、あらゆる言語に対応できます。
設定
対話入力を使うならターミナルで実行する設定を推奨します。
{
"code-runner.runInTerminal": true,
"code-runner.executorMap": {
// Pythonの実行コマンドを明示(必要に応じて)
"python": "python -u $fullFileName"
}
}
ファイル名など使用できる変数がいくつか用意されています。
変数名 | 内容(日本語) |
---|---|
$workspaceRoot | VSCode で開いているワークスペース(フォルダー)のパス |
$dir | 実行対象のコードファイルがあるディレクトリのパス |
$dirWithoutTrailingSlash | ディレクトリの末尾にスラッシュがない形式のディレクトリパス |
$fullFileName | 実行対象のコードファイルの完全なパス(ディレクトリ付き) |
$fileName | コードファイルのベース名(ディレクトリを除いたファイル名) |
$fileNameWithoutExt | 拡張子を除いたファイル名のみ |
$driveLetter | 実行対象ファイルのドライブレター(Windows のみ) |
$pythonPath | Python インタプリタのパス(“Python: Select Interpreter” で選んだもの) |
例えば、python -u $fullFileName
に設定して、sample.py
を開いてる状態でCtrl+Enter
キーを押すと、python -u C:\...\sample.py(絶対パス)
が実行されます。
入力を伴う小例
# code_runner_io.py
# 入力を必要とするサンプル。runInTerminalがtrueなら動作しやすい
name = input("Your name? ")
print(f"Hi, {name}!")
Your name? Alice
Hi, Alice!
あくまでコマンドを実行しているだけであるほか、連続したコマンドを実行できるため、実行にコンパイルが必要なC言語などでも、Ctrl+Enter
で即時実行できるようになります。
cd $dir && gcc $fileName -o $fileNameWithoutExt && $fileNameWithoutExt && del $dir$fileNameWithoutExt.exe
こちらは、対象のCファイルのカレントディレクトリに移動してコンパイル、成功した場合は即時実行し、実行完了後に該当ファイルを削除しています。
本格的なデバッグ(ブレークポイント、ステップ実行)はVSCode標準の実行とデバッグ
機能の方が適しています。
Error Lens

できること
VSCodeのエラーや警告をその行の末尾にインライン表示し、問題点を見逃しにくくします。

PylanceやRuffの診断と相性が良いです。
インストールとおすすめ設定
code --install-extension usernamehw.errorlens
{
// 表示レベルや見た目を調整
"errorLens.enabledDiagnosticLevels": ["error", "warning"],
"errorLens.messageBackgroundMode": "line",
"errorLens.fontStyleItalic": true
}
体験のコツ
短いファイルでは快適ですが、長い行が多い場合はmessageBackgroundMode
をhover
に切り替えると視認性が上がります。
ドキュメントとチーム開発に役立つ拡張機能
autoDocstring(Python Docstring)

できること
関数のシグネチャからDocstringを自動生成します。

Google/Numpy/Sphinxスタイルを選べるため、チームの規約に合わせやすいです。
インストールと初期設定
code --install-extension njpwerner.autodocstring
{
"autoDocstring.docstringFormat": "google", // "numpy" も人気
"autoDocstring.includeType": true,
"autoDocstring.guessTypes": true
}
生成例
関数定義直下で"""
を入力しTab
、またはコマンドパレットからGenerate Docstring
を実行します。
# autodocstring_example.py
def add(a: int, b: int) -> int:
"""Summary line.
Args:
a (int): Description of a.
b (int): Description of b.
Returns:
int: Description of return value.
"""
return a + b
まずは自動生成してから、説明を肉付けすると効率的です。
GitLens

できること
行単位のBlame(誰がいつ書いたか)、コミット履歴、差分ナビ、リポジトリの洞察など、Gitの把握を強力に支援します。



レビュー時に「なぜこのコードがこうなったか」を素早く辿れます。
インストール
code --install-extension eamodio.gitlens
便利な使い方
- エディタ右上のGitLensボタンで
Toggle Line Blame
を有効化すると、各行のコミット情報が表示されます。 - コード選択範囲の右クリックから
GitLens: Open Line History
で、その行の変遷を時系列に確認できます。 - サイドバーの
Commits
やRepositories
ビューで、PRやタグに素早くアクセスできます。
チーム開発のコツ: 小さく頻繁なコミットにするとGitLensの履歴が価値あるドキュメントになります。
まとめ
本記事では2025年にPython初心者がまず導入すべきVSCode拡張機能10選を、役割別に解説しました。
土台となるPythonとPylance、対話実行のJupyterを起点に、品質向上のBlack/isort/Ruff、実行補助のCode Runner/Error Lens、チーム作業を支えるautoDocstring/GitLensを組み合わせるのが最短ルートです。
特にフォーマッタは1つに統一し、RuffとBlackをどう使い分けるかを決めてからsettings.json
を整えると、競合によるストレスを避けられます。
導入後の次の一歩としては、プロジェクトごとに仮想環境を切り替えて拡張を活用し、保存時フォーマットとインライン診断(Error Lens)で「書いた瞬間に整う」状態を作るのがおすすめです。
最後に、参考として10拡張の早見表を掲載します。
必要に応じて自分の運用に合わせて設定を微調整してください。
拡張機能早見表(役割と補足)
拡張名 | 主な役割 | 推奨設定の要点 | 競合/補足 |
---|---|---|---|
Python(Microsoft) | 実行/デバッグ、環境選択 | python.terminal.activateEnvironment | Pylanceと併用前提 |
Pylance | 補完・型解析 | typeCheckingMode: basic から開始 | strictは慣れてから |
Jupyter | 対話実行/Notebook | ipykernel 導入 | # %% セルが便利 |
Black Formatter | コード整形 | 保存時整形、行幅 | Ruff整形と二者択一 |
isort | import整列 | --profile black | Ruffのimportsと二者択一 |
Ruff | Lint(+整形) | fixAll とorganizeImports | Blackとどちらかを選ぶ |
Code Runner | 迅速実行 | runInTerminal: true | 入力を伴う実行に有効 |
Error Lens | 診断の可視化 | レベルと外観調整 | 長い行ではhover表示も |
autoDocstring | Docstring自動生成 | スタイル選択 | まず生成→肉付け |
GitLens | 履歴/Blame可視化 | Line Blame/History活用 | 小さな頻繁コミットが吉 |
開発環境は一度整えると長く効きます。
本記事の設定をたたき台に、あなたのプロジェクトに最適な形へ洗練していってください。