5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

VSCode InsiderのRemote Development extensions(Python)を試す

Posted at

概要

VSCode InsiderをつかってPythonのRemote Debugを試してみます。
docker環境で開発を行い、ローカルの環境がグチャグチャになるのを防ぐということができるはずです。
Getting Startedに書いてあるとおりです。

(Docker Toolbox is not currently supported.)

とあるのを気にせずdocker toolboxで進めてみたら、案の定エラーになりました。
ということで以下はDocker for Windows環境で試したものです。

手順

VSCode Insider設置

VSCodeには未導入のためVSCode Insiderを設置します
Download Visual Studio Code Insidersから取得して設置するだけです

Remote Development 拡張設置

Remote Development extension packを設置します

Remote - SSH
Remote - Containers
Remote - WSL
Remote - SSH: Explorer
Remote - SSH: Editing COnfiguration

も同時にインストールされるようです。

サンプルプロジェクトを取得

Pythonで試したかったので以下を取得

git clone https://github.com/Microsoft/vscode-remote-try-python

vscode-remote-try-pythonそのままです。

Open Folder in Container

左下の緑のボタンをクリックして、「Remote-Containers: Open Folder in Container」を押します
F1コマンドで「Remote-」と押して候補選択してもよいです。
remote.png

remote2.png

docker buildが始まって、VSCodeの編集画面が開きます。

試した環境ではプロキシありの環境だったので

docker build --build-arg http_proxy=xxx ...

を指定したかったのですが、--build-argの指定方法がわからず
DockerFile内にENV http_proxy=xxxを足すことで対応

VSCode InsiderのExtensionはimageが変わるごとに追加する必要があるようですが
Managing extensionsを参考にsettings.jsonに

"remote.containers.defaultExtensions": [
    "ms-python.python"
]

を追加しておくことで自動設置してくれるようでした。

あとは、ブレークポイントの設定をしてデバッグ実行することで、ローカルのフォルダを開くのとほとんど同じ感覚で使えます。
dockerコマンドを打たずにシームレスに統合されている感がすごい。

一度コンテナ止めてから、再度「Open Folder in Container」してもつながるので、どこかで覚えていてくれているのでしょう。

Remote-Containers: Attach to Running Container

好きなようにコンテナを立ち上げた状態から
おもむろにVSCodeを立ち上げ、
F1コマンドから「Remote-Containers: Attach to Running Container」を実行、
コンテナ選択することでアタッチできます。

既存のdocker-composeを利用して、ひとまずアタッチする場合にはこちらのほうが便利かも。
.devcontainerにdocker-composeファイルを指定する方法もあるようなので
Open Folder in Containerからの起動の方がステップがすくなるのかもしれません。

Remote-Containers: Forward Port from Container

ガイドにこっそりありますが、
起動させた状態から一時的にポートフォワードの設定を追加することができます。

空いているポートでないと候補にあがってこないようなので
デバッグ実行などしてポートを開いた状態で
F1コマンドから「Remote-Containers: Forward Port from Container」を実行します。

一度とめなくてよいので便利です。

まとめ

リリースが楽しみです。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?