このガイドはJack Fields氏と、Python開発のためのVS Codeセットアップに関する彼の記事に大きくインスパイアされています。詳細については彼の記事をご確認ください。

前提条件

始める前に、以下が必要です:
  • Python がインストールされていること(3.8以上を推奨)
  • バージョン管理のための Git
  • Cursor がインストールされ、最新バージョンに更新されていること

必須拡張機能

以下の拡張機能により、CursorをPython開発に完全対応させることができます。これらは構文ハイライト、リンティング、デバッグ、ユニットテストを提供します。

高度なPythonツール

上記の拡張機能は従来CursorでのPython開発において最も人気のある拡張機能でしたが、Python開発を最大限に活用するのに役立つ追加の拡張機能も追加されています。

uv - Python環境マネージャー

uvは、仮想環境の作成と管理に使用でき、さらにpipをデフォルトのパッケージマネージャーとして置き換えることができる現代的なPythonパッケージマネージャーです。 uvをインストールするには、ターミナルで以下のコマンドを実行してください:
pip install uv

ruff - Pythonリンターとフォーマッター

Ruffは、プログラミングエラーをチェックし、コーディング標準の遵守を支援し、リファクタリングを提案できる現代的なPythonリンターとフォーマッターです。コードフォーマットにはBlackと併用できます。 Ruffをインストールするには、ターミナルで以下のコマンドを実行してください:
pip install ruff

Cursor設定

1. Pythonインタープリター

CursorでPythonインタープリターを設定します:
  1. コマンドパレットを開く(Cmd/Ctrl + Shift + P)
  2. “Python: Select Interpreter”を検索
  3. Pythonインタープリターを選択(仮想環境を使用している場合は仮想環境を選択)

2. コードフォーマット

Blackを使用して自動コードフォーマットを設定します:
Blackは、一貫したスタイルに従うようにコードを自動的にフォーマットするコードフォーマッターです。設定不要で、Pythonコミュニティで広く採用されています。
Blackをインストールするには、ターミナルで以下のコマンドを実行します:
pip install black
次に、settings.jsonファイルに以下を追加して、CursorがBlackをコードフォーマットに使用するように設定します:
{
  "python.formatting.provider": "black",
  "editor.formatOnSave": true,
  "python.formatting.blackArgs": ["--line-length", "88"]
}

3. リンティング

PyLintを使用してプログラミングエラーをチェックし、コーディング標準の遵守を支援し、リファクタリングを提案できます。 PyLintをインストールするには、ターミナルで以下のコマンドを実行します:
pip install pylint
{
  "python.linting.enabled": true,
  "python.linting.pylintEnabled": true,
  "python.linting.lintOnSave": true
}

4. 型チェック

リンティングに加えて、MyPyを使用して型エラーをチェックできます。 MyPyをインストールするには、ターミナルで以下のコマンドを実行します:
pip install mypy
{
  "python.linting.mypyEnabled": true
}

デバッグ

CursorはPythonの強力なデバッグ機能を提供します:
  1. ガターをクリックしてブレークポイントを設定
  2. デバッグパネルを使用(Cmd/Ctrl + Shift + D)
  3. カスタムデバッグ設定のためにlaunch.jsonを設定

推奨機能

フレームワークサポート

Cursorは人気のPythonフレームワークとシームレスに連携します:
  • Webフレームワーク: Django, Flask, FastAPI
  • データサイエンス: Jupyter, NumPy, Pandas
  • 機械学習: TensorFlow, PyTorch, scikit-learn
  • テスト: pytest, unittest
  • API: requests, aiohttp
  • データベース: SQLAlchemy, psycopg2