VSCodeのRemoteSSHが便利。
各環境でも使いたいのですが、ネットに接続できない環境だと使えない。
サーバ・クライアント共にネットに接続できない環境でどうにか使いたい。
その時のやり方。
参考
資源の準備
VSCode本体のオフラインインストーラー。
あと、下記の拡張機能のVSIX
VSCodeサーバ
これがネット無し環境だとDL出来なくて繋げない。なので先に手動でDLしておく。
DLの仕方は参考の記事を参照。
対象サーバへVSCodeサーバの資源をコピー
# こんな感じで scp vscode-server-linux-x64.tar.gz user@server /tmp/
拡張機能のJS書き換え
上記までは参考にした記事の話。
最近のVSCodeのRemoteSSHのソースだと上記だけだと無理でした。
コードの書き換えで下記の内容が必要。
コードの場所。
C:\Users\[USERNAME]\.vscode\extensions\ms-vscode-remote.remote-ssh-*\out\extension.js
下記変える内容。
wget --version > /dev/null\nif [ $? -eq 0 ]\nthen\n\twget --connect-timeout=7 --tries=1 --dns-timeout=7 -q ${r} -O - ${e} ↑を↓に wget --version > /dev/null\nif [ 0 -eq 0 ]\nthen\n\tcp /tmp/vscode-server-linux-x64.tar.gz vscode-server.tar.gz
wget --version &> /dev/null\n\tif (( $? == 0 ))\n\tthen\n\t\techo "Downloading with wget"\n\t\tWGET_ERRORS=$(2>&1 wget ${b=y,"off"!==b?"--tries=1":""} --connect-timeout=7 --dns-timeout=7 -nv -O vscode-server.tar.gz $DOWNLOAD_URL) ↑を↓に wget --version &> /dev/null\n\tif (( 0 == 0 ))\n\tthen\n\t\techo "Downloading with wget"\n\t\tWGET_ERRORS=$(2>&1 cp /tmp/vscode-server-linux-x64.tar.gz vscode-server.tar.gz)
どうも、wget使えない場合はcurlでも試すみたいな変更が入ってるようで、その辺調整しないとダメっぽい。