今更PyTorchマスターへの道 (6) - VS Codeの準備
ここまで,VS Codeでコンテナ内のディレクトリとローカルのフォルダを紐づけて(初回を参照),ローカルフォルダ内のファイルを直接編集してコーディングしていました.
こうすると,コンテナ内ではなくローカルのconda環境とVS Codeが紐づき,文字の自動色付け (Syntax Highlight) や予測機能 (Auto Completion, aka. IntelliSense)が使えませんでした.
今回は,コーディングの効率化のために,この問題を解決しました.結論から言うとVS CodeのRemote-Containers拡張機能を使っただけです.
OpenSSHでコンテナに接続?:設定が面倒
最初に思ったのは,OpenSSHでコンテナに接続する方法です.Remote Development Extensionを使ってコンテナに接続すればVS Code内で先のやりたいことが実現できます.リモート環境でよく使っています.ですが,以前,簡単に調べた通り面倒くさそうです.
Docker Extension?:ファイルが見られるだけ
次に辿り着いたのがこちら,Docker Extension for Visual Studio Code.以下のスクリーンショットにあるように,コンテナを右クリックしてAttach Shellを選ぶだけ!MS Visual Studio公式のYouTube動画で知りました.

ただコンテナ内のファイルが見られるだけでした.残念...
Remote-Containers?:これや!
最終的に辿り着いたのがこちらのstack overflow.この方法でやりたかったことが実現できました!
ここの回答に書かれていることを和訳&私がやりたかったことに合わせて編集すると以下のようになります.
- Remote-Containers拡張機能をインストール
- Dockerコンテナを起動
- View > Command Paletteで
Remote-Containers: Attach to Running Container...と打ち込んで起動したコンテナを選択 - VS Codeが新しく立ち上がる
- Get StartedページにてOpen...を選択して開きたいディレクトリを選択
- Python拡張機能をインストール(Installボタンにインストール先のコンテナ名が表示されているはず)
- Command Paletteで
Python: Select Interpreterもしくは画面右下から使いたいインタープリタを選択