Macでvscodeからdockerに接続して開発する

コンパイラを作ろうと思った

低レイヤを知りたい人のためのCコンパイラ作成入門

けどMacは微妙にアセンブラの仕様が違うので、別途開発環境を用意した方がいいらしい。とりあえずdockerインストールして使ってみたけどvimじゃ辛い。vscodeがdockerコンテナに接続して開発できるようになったらしいので試してみる。ほぼ備忘録。

この辺を参考にした

Dockerで立ち上げた開発環境をVS Codeで開く! - Qiita

Developing inside a Container using Visual Studio Code Remote Development

インストール

dockerとvscode insiderをインストールする。dockerでファイル共有の設定が必要と書いてあったけど、Usersディレクトリがデフォルトで指定してあったのでそのまま。別の場所にコードを置いている場合は指定が必要かも。

接続する

レポジトリにDockerfileを含めて開発していく方法もあるみたいだが、すでに起動しているコンテナに接続もできるよう。Attach to Running Containerから指定したらできた。

その他設定

vscodeが初めてだったので設定したこと。dockerに接続することには以下関係ない。

  • C/C++のextension設定
  • tasks.jsonでmake testが走るようにする

コンテナへの接続がrootで行われていてユーザの変更ができないため、新しいファイルを作るとrootになっちゃうし、gitの設定も使えないのでこの辺は今後なんとかしたい。