必要にかられてVSCode縛り開発を一ヶ月やっていたのですが、普通に便利に開発できるようになったのでメモ。
VSCodeでしかできないことがある
VSCode を使うことになった主な原因は2つある。
Live Share
ひとつはリモート下で密接にペアプロする必要があったため。
その上で Live Share が便利すぎて手放せなくなった。
多分対面でやっていても、お互い別のマシンでLive Shareでつないでいる方が都合が良いくらい便利。
最近Pythonばかり書いておりますが、Pythonだと値の型とかわからなくなったときに debugger を使うことがおおく、
その際にお互いデバッガーの状態を共有したまま調査ペアプロとか出来るので非常に便利。
Remote SSH
もう一つはリモートマシンにログインしてストレス無く開発するのにRemote SSHなどの拡張が あまりにも便利だったため。
これはみなさんもWSLにAttachするのにRemote WSLとかを使っているかと思いますがSSH用にもあまりにも便利です。
私は主に会社のマシンにsshしてすべての作業を行っていますが、共有マシンに他にもログインするのにEmacsのTrampを使っていました。 Trampを使っていると、すごくEmacsのメモリを消費していき、すごくGCの頻度が高くなる感じがありエディタが操作できない時間が段々と長くなっていきました。
VSCode はリモートマシンにデーモンを送り、それとVSCode がやり取りすることでリモート先とは思えない操作感を実現してます。
すごい、Emacsでもこういうことしたかった。
VSCodeを触っていると、エディタ自体が全然Stop the worldしないのですよね。
Emacs は基本あらゆる操作を逐次実行するので、何かの操作が重いと操作できない時間が発生していました(DiredでCopyするとか)。
最近コレに我慢できなくなってしまい、更にはWindows に標準でsshと.ssh/config の仕組みが入りクライアントとして普通に便利になってしまったこと・dockerが普通にWindowsから使えて docker context use REMOTE_MACHINE
にすればリモートのDocker コンテナに直接アタッチできるのが便利すぎることなどから VSCode が便利に感じてきてしまいました。
Emacsでやっていた複数のshellを操作するのはtmuxでやるようにしました。まぁtmuxの中で相変わらずEmacsを操作していますが。
Emacs キーバインドほしい
たーぶんEmacs Keymapを提供する拡張の中ではダウンロード数が多い、という理由だけで以下のものを利用しています。
結構問題はおきていて、
これは標準じゃないキーバインドを使うもの運命なのでしょうがないです。
あとたまにアップデートごとにEmacsキーバインドの拡張のキーが使えなくなる現象が発生して、この拡張をuninstallしてinstallし直すと治ります。