vscode
wslだと$codeで起動できる
macだとpathを通す必要がある
Retemo WSL
vscode上で拡張機能をinstallした後で、wsl上でもcodeを実行。
wsl上のcodeでも各種機能がダウンロードされる。
その後はwindows上のvscodeからもremote exploler経由でwslにログインできるようになる。
Remote Development Extentions
Remote Developmentという拡張。
WSL,他VM等の別ホストマシンのファイルシステムをワークスペースとしてローカルのVSコードに扱わせるための拡張。
事前にwslとdockerの設定もしておいて、とりあえずこのエクステンションだけでも入れておくとよい。 開発をLinux VM, containerでしているときにX転送とかが不要になってうれしい。実はこのExtentionは内部的にはvscode-serverを利用している。なのでこのExtentionで接続したSSH接続したVMではwgetを利用してvscode-serverのバイナリをVM上にダウンロードしている。そのため接続したVMでwgetでインターネットに出れる必要がある。proxy環境の場合は接続先の接続ユーザーの.wgetrcにproxy settingsを事前に行うこと。
内部的にはSSHでリモートにアクセスしているので、同時にRemoteSSHとかいくつかの拡張が入る。
Docker
Docker imageはvscodeからもビルド、起動可能
windowsならDocker Desktop for windows導入しておくとよい
docker containerファイルを直接いじるためのあれ。
SSH 設定
Remote Devlepment用のSSHの設定をする。
SSHの鍵、また接続ホストの情報を記述。
頻繁にパスワードを聞かれることになるので鍵認証にしたほうがよい。
windows側のC:\Users\$USERNAME\.sshに秘密鍵を用意。
linux wsl user home .ssh/authorized_keysに公開鍵の登録も忘れずに
vscode 側 remote SSH config for WSL
code: sshconfig
Host WSL
HostName 127.0.0.1
User $USERNAME
IdentityFile C:\Users\$USERNAME\.ssh\id_rsa
StrictHostKeyChecking no
PasswordAuthentication no
いつからかremote.SSH.remotePlatformという接続ホストごとにplatform種別を設定する必要がでた
WSLならplatformはlinuxでよい。
code-server
Remote Develepment Extentionsが出たので直接ユーザーが活用する機会が減った。
ただブラウザで共有利用ができるので、複数人でモブプロするにはまだ便利かも。
ブラウザで動くvscode。まだ本体と同様の動作を完全にはできてないが、わりと動く。
ここからバイナリをダウンロードしてPATH配下においておけばOK. この記事 は利用するのに便利なラップスクリプトを書いてたりして参考になる。 各種プラグインや設定は$CONFIG_DIRに配置されるので毎回同じ場所を設定するとよい。
code:bash
code-server -d $CONFIG_DIR -P $PASSWORD $WORK_DIR
DevContainer
rancher desktopだとちょっと注意点あり. CLIにdocker(moby)を選択すること
.devcontainer/で制御する
buildで利用するDockerfileは.devcontainer配下のもので使う
必要なツールをインストールする場合はここで入れておくと良い
.devcontainer.jsonは実際にはvscodeが生成したものを改造するのがよい
code:= arh
project_root/
.devcontainer/
devcontainer.json
Dockerfile
既存のプロジェクトでvscode devcontainerを利用する
Dev Containers: Open Folder in Containerをコマンドパレットから呼び出す
folderに.devcontainer.jsonがなければ、サンプルイメージをベースとして.devcontaier.jsonを生成する