VS Codeのエージェントモードを拡張するには、を試してください!

個別のコンテナーを構成する

開発コンテナーは、多くの場合、単一のフォルダー、リポジトリ、またはプロジェクトに結び付けられていますが、セットアップを簡素化したり、ツールを分離したりする方法として、複数のフォルダーで使用することもできます。特定のツールセットのために、複数のリポジトリにまたがるソースコードを単一のフォルダーに格納していると想像してください。

📁 Repos
   📁 node
   📁 python
      📁 starter-snake-python
      📁 vscode-remote-try-python
      📁 your-python-project-here
   📁 go
   📁 dotnet

では、./Repos/python フォルダー内のすべての Python プロジェクトで使用するコンテナーをセットアップしてみましょう。

  1. Visual Studio Code を起動し、コマンドパレット (F1) またはクイックアクションのステータスバー項目から Dev Containers: Open Folder in Container... を選択し、./Repos/python フォルダーを選択します。

    Quick actions Status bar item

    ヒント: フォルダーを開く前にコンテナーの内容や設定を編集したい場合は、代わりに Dev Containers: Add Dev Container Configuration Files... を実行できます。

  2. 次に、開発コンテナーの開始点を選択します。フィルター可能なリストからベースとなる開発コンテナー定義を選択するか、選択したフォルダーに既存のDockerfileまたはDocker Compose ファイルがある場合はそれらを使用できます。

    注: Alpine Linuxコンテナーを使用する場合、拡張機能内のネイティブコードにあるglibcの依存関係により、一部の拡張機能が動作しない場合があります。

    Select a python dev container definition

    リストは、開いているフォルダーの内容に基づいて自動的に並べ替えられます。表示される開発コンテナーテンプレートは、Dev Container Specificationの一部であるファーストパーティおよびコミュニティインデックスから取得されます。私たちは、devcontainers/templates リポジトリにスペックの一部として一連のテンプレートをホストしています。そのリポジトリの src フォルダーを閲覧して、各テンプレートの内容を確認できます。

  3. コンテナーの開始点を選択すると、VS Code は開発コンテナー構成ファイルを ./Repos/python/.devcontainer フォルダーに追加します。

  4. VS Code ウィンドウがリロードされ、開発コンテナーのビルドが開始されます。進捗通知によってステータスが更新されます。開発コンテナーをビルドする必要があるのは、最初に開くときだけです。最初のビルドが成功した後にフォルダーを開くのは、はるかに高速になります。

    Dev Container Progress Notification

  5. ビルドが完了すると、VS Code は自動的にコンテナーに接続します。接続後、ファイル > 開く... / フォルダーを開く... を使用して、./Repos/python の下のフォルダーのいずれかを選択します。

    Open python folder in the container

  6. しばらくすると、VS Code は同じコンテナー内でフォルダーを開きます。今後、アクティビティバーのリモートエクスプローラーを使用して、このサブフォルダーをコンテナー内で直接開くことができます。

    Container explorer with multiple folders under python container

ヒント: ローカルファイルシステムをマウントする代わりに、同様のフローを使用して、ソースコードをクローンする分離された、より高性能なボリュームでコンテナーをセットアップできます。詳細については、高度なコンテナーのディスクパフォーマンスの向上の記事を参照してください。