🐩

Djangoプロジェクトで設定しておくべきこと (3) VSCode

2021/10/01に公開

前回の記事の続きです。

https://zenn.dev/masa0317/articles/5f254ca9a31284

今回もDjangoプロジェクトの環境設定をしていきます。

1. VSCode

VSCodeからDockerコンテナを開発環境として使用できるようにします。

この機能を導入すると

  • 開発者全員が同じ環境で、アプリケーションを実行できる
  • 開発者全員がコードベースでの作業に必要なツール、ライブラリ、ランタイムを使用できる

ようになります。

つまり、IDEの設定を含めて開発者全員が同じ環境で開発できます。

VSCodeとDockerを使う最大の利点はこの点であるいっても過言ではありません。

1-1. Remote - Containersのインストール

まずは、VSCodeにRemote - Containersを導入します。

これはインストールするだけです。

1-2. devcontainer.json

次にdevcontainer.json を作成します。

VS Codeのコンテナ構成は、devcontainer.jsonファイルに保存します。

開発コンテナの設定は、.devcontainer/devcontainer.jsonに配置します。

devcontainer.jsonには以下のような記載をします。

{
  "name": "django_template",
  "dockerComposeFile": [
    "../docker-compose.yml"
  ],
  "service": "django_template",
  "workspaceFolder": "/usr/src/app",
  "extensions": [
    "ms-python.python"
  ],
  "shutdownAction": "stopCompose"
}

ファイルの内容をみると、docker-composeを起動させる設定ということが、なんとなくわかるのではないでしょうか。

docker-composeをVS Codeの開発用として機能追加したい場合は、.devcontainer/docker-compose.extend.ymlファイルを作成して機能拡張することもできます。

私は個人的に不要と思っているので、ここでの説明は割愛します。

1-3. launch.js

次はデバッグ用のlaunch.jsを作成します。

launch.jsを作成することでデバッグボタンで開発環境のDjangoを起動できるようにします。

設定は.vscode/launch.jsに配置します。

{
    "version": "1.0.0",
    "configurations": [
        {
            "name": "Python: Django",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": [
                "runserver",
                "0.0.0.0:5000"
            ],
            "django": true
        }
    ]
}

ファイルを設定後、VS Codeのデバッグボタンを押すと、Djangoが立ち上がります。
コード変更のたびにコマンドを打つ必要がなくなるので、生産性が向上します。

まとめ

今回の記事ではVSCodeとdocker-composeを連携して開発効率をさらに高める方法について記載しました。

この他にもflake8などのLinterの設定をするとより便利です。

それらについては次の記事でコードチェックの仕組みを説明してからにします。

Discussion