SSH先のファイルをVSCodeで開くやつ
われわれ人類はリモートのファイルを編集してるときに、すぐvimのキーバインドを忘れて「vim 検索」「vim 正規表現 置換」だとかでググって生涯の20%くらいを無駄にしてしまう。よくない。
なので幼子でも使えるVSCodeでSSH先のファイルを楽に編集できるようにしましょう。
準備
VSCodeにRemote VSCode入れる
あとVSCodeの設定にこういうのを書く
"remote.port": 52698,
"remote.onstartup": true,
"remote.dontShowPortAlreadyInUseError": false,
エディタ側がサーバになる。Xとかxdebugみたいな感じ。
rmateとかそういうのをリモート先に入れる
ファイルを送り付けて同期するやつ。
本家はRubyで実装されてるrmateってやつらしい。
GitHub - textmate/rmate: Edit files from an ssh session in TextMate
でもいろんな言語で実装されているので、好きなやつを使いましょう。
使い方はだいたい同じっぽい。
- Ruby version: https://github.com/textmate/rmate
- Bash version: https://github.com/aurora/rmate
- Perl version: https://github.com/davidolrik/rmate-perl
- Python version: https://github.com/sclukey/rmate-python
- Nim version: https://github.com/aurora/rmate-nim
- C version: https://github.com/hanklords/rmate.c
- Node.js version: https://github.com/jrnewell/jmate
- Golang version: https://github.com/mattn/gomate
SSHポートフォワードする
リモートのポート52698→ローカルのポート52698にポートフォワードする。
おれはRLoginを使っているのでこのようにした。
実際にやってみる
SSH先で以下をやる(おれはjmate使ってるので適時置き換えてくれ)
jmate -p 52698 適当なファイル名
するといきなり手元のVSCodeでリモートのファイルが開く。
適当に保存するだけで同期されるし、適当に閉じるだけで閉じる。便利。
追記
jmateはマルチバイト文字だめっぽいのでrmate使うことにした。