FlycheckでESLintの設定を育てるときのメモ
Flycheckを導入しているものの、普段は一緒に導入している flycheck/flycheck-pos-tip でエラー箇所をポップアップさせて、その部分を修正していくという使い方をしています。
先日、EmacsでESLintを使える環境を作って、自分好みの設定を模索しようとしているのですが。
まだ、ほとんど推奨設定の状態ということもあり、そのまま使うといろんな所でエラーやら警告やらが出てきます。
そのあたり、ひとつひとつエラーの内容を調べつつ、自分的に無視するか有効にするかを判断していくわけですが、さすがに似たようなエラーも大量に出てくるため、ある程度まとめて調べたいと思うようになりました。
エラーになっているルールを調べる方法
先に述べたとおり、通常の使い方としては flycheck/flycheck-pos-tip でエラー箇所にポップアップを表示しています。
が、この方法ではエラーの説明は表示されていますが、ESLintの設定を変更するためには知りたいルールの ID
がわかりません。
そこで、まずはFlycheckの使い方を調べたところ、エラーの情報を知るには以下の3つの方法がありそうでした。
コマンド | 機能 |
---|---|
C-c ! l M-x flycheck-list-errors M-x list-flycheck-errors |
現在のバッファの全てのエラーの一覧を表示する |
C-c ! C-w M-x flycheck-copy-errors-as-kill |
現在位置のエラーメッセージをKill-ringにコピーする |
C-u C-c ! C-w C-u M-x flycheck-copy-errors-as-kill |
現在位置のエラーメッセージとIDをKill-ringにコピーする |
ピンポイントで知りたい場合は、 C-u
をつけた flycheck-copy-errors-as-kill
でエラーの ID
を取得することができます。
しかし、現状は大量に出てくるエラーを、ある程度まとまって調べてしまいたいこともあり、 flycheck-list-errors
でリスト表示したものをベースに、設定をいじる方が効率が良さそうです。
ただ、ここでも一つ問題が。
ルールを示すのは、リストの中の ID
の部分なのですが、デフォルトだと幅が狭すぎて、IDが読めません。
特に、React用のプラグインなどはIDも長くなりがちなので、このままではちょっと使いにくいです。
エラーリストの幅を変える
どうやら flycheck-error-list-format
にエラーリストの幅設定があるようだったので、.emacsに以下のような感じで設定。
(eval-after-load 'flycheck '(custom-set-variables '(flycheck-error-list-format [("Line" 4 flycheck-error-list-entry-< :right-align t) ("Col" 3 nil :right-align t) ("Level" 8 flycheck-error-list-entry-level-<) ("ID" 20 t) ; <- 初期値は6 ("Message" 0 t) (" (Checker)" 8 t)]) ))
初期値 6
の ID
の幅を 20
に設定してみたところ、私の環境では、それなりに識別できそうになりました。
もう少し広げても良いかなー、と思いつつ、これで多少カスタマイズが捗りそうです。
※2016/05/14 追記
flycheck-error-list-format
のフォーマットが変わったようなので、それに合わせて設定を変更しました。
環境
項目 | バージョン | 備考 |
---|---|---|
OS | Mac OS X 10.10.5 | - |
Emacs | 24.5.1 | Homebrew版 |
Flycheck | 0.25snapshot (20151106.559) | MELPA版 |
参考
仕事ですぐ役立つ Vim&Emacsエキスパート活用術 (SoftwareDesign別冊)
- 作者: Software Design編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2016/04/09
- メディア: 大型本
- この商品を含むブログ (2件) を見る