環境
リモートサーバ: Ubuntu 16.04.3 LTS
ローカル: macOS High Sierra
VSCodeでリモートサーバのファイルを編集する
このブログ記事を参考に、VSCodeでリモートサーバのファイルを編集する環境を整えました。
rmate -p 52698 [編集したいファイル名]
このコマンドをサーバ上で叩くとローカルのVSCodeでファイルが開かれ、編集できるようになります。
問題点
以下のように複数ファイルを一気に開こうとするとうまくいきません(詳しく調べていませんが、先頭の1ファイルのみ開かれるようです)。
rmate -p 52698 hoge1.py hoge2.py
rmate -p 52698 ~/hoge/*.c
解決策
ローカルでは、ターミナル上で
code hoge1.py hoge2.py
code ~/hoge/*.c
といったコマンドを叩くと複数ファイルを一気に開いてくれるので、リモートでも同じ挙動にするために以下のシェルスクリプトを書きました。
code.sh
#!/bin/bash
argv=("$@")
for i in `seq 1 $#`
do
rmate -p 52698 ${argv[$i-1]}
done
実行時の引数(ファイル名)をリストとして受け取り、for文で一つ一つのファイルを開いています。このシェルスクリプトに
chmod +x code.sh
で実行権限を与えてパスの通った場所に置けば、
code.sh hoge1.py hoge2.py
code.sh ~/hoge/*.c
といったコマンドで複数ファイルを一気に開けるようになります。ついでに.zshrcに
alias code='code.sh'
と書き足しておけば、ローカルと完全に同じコマンドが叩けるようになります。