了解しました。以下に 🔖 第7章:7.2 VSCode内で完結する快適な開発環境 を丁寧にまとめます。
🔖 第7章:devcontainer活用の現実的メリット
7.2 VSCode内で完結する快適な開発環境
✅ 要点まとめ
devcontainer
を使うと、VSCodeだけで開発が完結する
- ターミナル、ファイル操作、ソースコード編集、DB接続、ログ確認、テスト実行すべてが VSCodeの中だけで可能
- ローカルやVMのOS設定を汚さず、どこでも同じ環境を再現可能
📘 初学者向けにまとめると:
これまでの開発 |
devcontainer導入後の開発 |
VSCode+ターミナル+dockerコマンドが必要 |
VSCodeだけで完結 |
ローカルにRuby, Nodeなどを手動インストール |
Dockerfileで自動インストール |
CLIでログ確認、DBコンテナを手動で立ち上げ |
VSCodeターミナル内でログ・サーバを即確認 |
「本当に反映されたか?」とdocker-compose再起動 |
保存するだけで即反映、appから動作確認可能 |
💻 VSCode内でできること
機能 |
説明例 |
ファイル編集 |
エディタでソースコードを直接修正(devcontainer内の環境で自動補完も動く) |
ターミナル |
コンテナ内ターミナルを開いて rails db:migrate などが即実行できる |
デバッガ |
Ruby/Railsのbreakpointもdevcontainerで可能(拡張機能で自動設定) |
ポートフォワード |
localhost:3000 でRails画面をローカルで直接確認(Remote Forward機能) |
拡張機能(Lint, Rubocopなど) |
devcontainer起動時に .vscode/extensions.json で自動インストールも可能 |
Git操作 |
VSCode内のGUIでadd, commit, push/pullなどを完結 |
🧪 .devcontainer/devcontainer.json
で設定されることの一例
// VSCodeで自動的に使われるdevcontainerの構成
{
// RubyとRailsが動くイメージをDockerfileで指定
"dockerFile": "Dockerfile",
// コンテナ起動後にRails環境の初期化を自動で実行
"postCreateCommand": "bundle install && rails db:setup",
// 使用するユーザー設定(vscodeユーザー)
"remoteUser": "vscode",
// 開発時に必要なポートを自動でフォワード(例:Rails 3000)
"forwardPorts": [3000]
}
🧠 たとえ話(t)