ts-standardとVS Codeの設定を見直したら快適になった
StandardのVS Code拡張がなんか特にTypeScriptで動いてない疑惑
この間の
Standard gemを試してみた (2022-06-05) | あーありがち
の続き。最近 Lint 周りの整備を一気に進めております。
実はもう数年
の組み合わせが TypeScript の時にうまく動かないなーと悩んでいた(ゆうてそんなに悩んでない)んだけど、原因が分かった話。結論から言うと VS Code 勢ちゃんと設定見直してくれって感じだったけど、まぁいいか。
これで安心して TypeScript を推しやすくなった。
engineをts-standardにすればいいわけじゃない
StandardJS - JavaScript Standard Style - Visual Studio Marketplace
のドキュメントを読んでいてふと気づいたので設定を確認してみたところ、以下の点で注意が必要そう。特に Emacs の Flycheck と考え方が違うので、自分が Emacs を使っていて気づかないなんてことが起きがち。
Enable Globally
これは Emacs の Flycheck と考え方が違っていて、globally じゃない場合はいつ有効になるのかよく分からなくなりやすいので、globally にしちゃった方がいいと思う。
Engine
これを ts-standard にしないと TypeScript に対しては機能しない。
Use Package JSON
これが true だと global install した stanard を利用してくれない。これは JavaScript でも TypeScript でも同じで、「今から Standard をこのプロジェクトに適用できるようにしていきますよー」というタイミングでだいたいハマる。まぁいろんなプロジェクトを渡り歩いている人にはこういうきめ細かな設定は有効なのかもしれないけど。
Validate
なぜか対象ファイルを制限できる。例えば Engine が ts-standard になっていても Validate で対象ファイルを
"standard.validate": [
"javascript"
]
なんてことをしていると結局 TypeScript に対しては無効になってしまう。(ts-standard を JavaScript に対して実行しても意図通りに動くので、余計分かりにくい)