LoginSignup
19
17

More than 5 years have passed since last update.

VSCode Extension(拡張)のエラー確認方法 - prettierの自動フォーマットが効かない時

Last updated at Posted at 2019-03-31

@koshi_life です。

prettier-ruby VSCode Formatter設定 の記事で紹介した prettier-ruby をチーム内に導入することになった。

ただ、一部メンバの環境でコードを保存してもフォーマッターが効かず、settings.json の設定をチーム間で睨めっこしたりと小1時間時以上間溶けてしまった。

結果的にVSCodeのWindowのログを見て、ファイル保存をトリガーに走るprettier の処理がタイムアウトでキャンセルされていることがわかった。
ログの見方とタイムアウト設定変更例を備忘する。

VSCodeのエラーの見方

  • cmd+shift+p で「Show Logs」を選択。
    • show-log1.png
  • 今回は「Window」に関するエラーだったので「Window」を選択。
    • window.png
  • 「OUTPUT」ウィンドウでログが確認可能に
    • show-log-after.png.png

[2019-04-01 01:30:34.592] [renderer3] [warning] Aborted format on save after 2ms 1

とログが出力されており、フォーマッターが効かない原因に辿り着くことができた。
その後 settings.jsoneditor.formatOnSaveTimeout の設定でタイムアウト値を緩和。(10秒は割と適当)

settings.json
    "[ruby]": {
        "editor.formatOnSave": true,
        "editor.formatOnSaveTimeout": 10000,
    },

  1. 実際のログのキャプチャを取るため一時2msで設定。デフォルト値は750msらしい。参考 Visual Studio Codeの設定「虎の巻」:IDE編 (3/3)より "サイズの大きなファイルの保存時に書式の自動設定が完了しないと、書式設定がキャンセルされる。このタイムアウト値はデフォルトで750ミリ秒となっているが、editor.formatOnSaveTimeout項目でこの設定を上書きできる。" 

19
17
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
19
17