LoginSignup
4
0

More than 1 year has passed since last update.

VSCode Beautifyがnull合体演算子とオプショナルチェーンを殺しに来るとき

Posted at

元々Prettierを使ってましたが、HTMLの謎の改行に嫌気が差し、設定でも上書きできなかったのでBeautifyに乗り換えました。
ただ、Beautify は長らくアップデートが止まっており、JSのアップデートに追いついていません。
特に、VSCode上からインストールしただけだとオプショナルチェーンとnull合体演算子に含まれる ? の両側に勝手にスペースを開けられます。

// before
a ?? b;
array[0]?.func();

// after(構文エラーになる)
a ? ? b;
array[0] ? .func();

流石におかしいだろうと思い、issueを見に行ったら有りました。
Breaks optional chaining (?.) and Nullish coalescing operator (??) · Issue #401 · HookyQR/VSCodeBeautify
Update to actual js-beautify version? · Issue #346 · HookyQR/VSCodeBeautify

どうやら、Beautifyに使われている js-beautify自体のバージョンを自分の手で上げる必要があるとのこと。
調べて出てきた下記コマンドを実行

# beautify の拡張機能本体のディレクトリへ移動
$ cd ~/.vscode/extensions/hookyqr.beautify-1.5.0

# パッケージアップデートする
$ npm update

# アップデートされたか確認する( 1.11.0 以上ならOK)
$ npm list | js-beautify
├── js-beautify@1.14.0

アップデート完了後にVSCodeを再起動(リロード)するときちんと動くようになってます。

パッケージアップデートが済んだことで大きな不満は無くなりましたが、メンテナンスが止まっていると問題も出てきやすいですね…
Prettierは今もアクティブにアップデートされ続けているので、きちんとissue出して将来的にはまた戻る方針の方が良さそうです。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0