vscodeでRemote-Containersの作業フォルダが開かない
作成日時: 2021/10/07
更新日時: 2023/01/02
# 結論
Remote-Containersの`open container configuration file`コマンドで開かれる○○.json(○○はdockerのイメージ名)のworkspaceFolderの値を修正すればよい。
# 環境
Windows10 Pro 21H1
VSCode 1.60.2
Docker 20.10.8
docker-compose 2.0.0
Docker(VSCode) 1.17.0
Remote-Containers(VSCode) 0.194.3
# 動機
docker-composeを使ってリモートにフォルダを作成してみたところ、フォルダの場所が良くなかった(/app)ので変更することにした(/home/app)。
1. docker-compose.ymlの`volumes`と`working_dir`を編集してフォルダが作成されるパスを変更
2. `docker-compose up -d`でリモート環境を再構築
3. vscodeのリモートエクスプローラーから再構築したコンテナへ`attach`
これで作業フォルダを開いたvscodeが起動するはずだったが"開くことができません"とエラーが出てしまった。

# パス修正
試行錯誤した結果、どうやらRemote-Containersの作業フォルダのパスはvscode側に保存されるらしく、そのパスが古いまま(/app)更新されていないのが原因だった。
コマンドパレット(ctrl+shift+P)や左下のDev Container:○○から、`Open Container Configuration File`を選択。

すると○○.json(○○はdockerのイメージ名)が開かれる。
(実際のファイルの場所はwindowsなら、 ~/AppData/Roaming/Code/User/globalStorage/ms-vscode-remote.remote-containers/imageConfigs/○○.json あたりにある)

ここのworkspaceFolderが古いまま(/app)なので新しいパスに書き換える(今回なら/home/app)。
これで保存してもう一度`attach`すればちゃんと/home/appが開かれる。