年々とelispのメンテが雑になってきて、ついにはemacsclientがemacs serverにうまく接続できなくなってしまい、とはいえ普通にスタンドアロンで立ち上げると動くのでログも取れずに原因究明が難しく、もはやこのままでは引退も近いかと思われたので、悪あがきでVSCodeに手を出してみることにした。
Perl Mongerの端くれとして、まずはPerlが書ける環境を整えようと、とりあえず最近ちょっと話題になっていたPerlNavigatorをVSCodeと共にインストールしてみた。
ところがこいつがすごい。
シンタックスハイライトをいいかんじにやってくれるのはもちろんのこと、emacsではperldoc -lm
した結果に飛べるelispを仕込んでおいた(たぶんid:sugyanさんあたりのelispから拝借したきがする)のを使っていたが、PerlNavigatorはinclude pathの設定を入れたらいい感じにロードしてジャンプできる。 asdf
でPerlを入れてもいい感じにつかってくれているようにみえる。
さらに、flycheckみたいな感じでエラーをわかりやすいところに出してくれし、auto-complete相当の雑な補完もよしなにやってくれる。
それも、大した設定もせずにこれだけのことがあっさりとできてしまったのがすごい。以下が入れた設定。
{ "perlnavigator": { "includePaths": [ "lib", "local/lib/perl5" ] } }
これだけです。 lib
は .pm
置き場、 local/lib/perl5
はCartonで入れたやつを読むためのパスという感じ。
実際はarchごとにXSをビルドしたものが入るパスを lib
pragmaのように突っ込めばより良い感じになるんだろうけどめんどくさくてまだやっていない。
設定したのはこれだけだけど、VSCodeに不慣れでもちょっとコードを書くにはそんなに困らない環境があっさり出来上がってしまったので驚いた。Amon2+Anikiで作ったWebアプリがいい感じに書ける。
実はむかしもVSCodeに移行しようとしたことがあったんだけど、そのときはセットアップしようとしたものの色々とどうすればいいのかわからず、だるくなってemacsに戻ってしまったが、これならVSCodeでもいいかなというところまであっさり来れたのでPerlNavigatorはすごい。