Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
13
Help us understand the problem. What is going on with this article?
@koshilife

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

More than 1 year has passed since last update.

@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項目でこの設定を上書きできる。" 

13
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
koshilife
スタートアップでサーバサイドエンジニアをやっています。 興味の赴くままにクラウド(GCP,AWS)、フロントエンドも齧っていきます。 最近は Zenn https://zenn.dev/koshilife を使っています。
waaq
日程調整自動化ツール waaq Linkを運営しています。「仕事に自由を。」をミッションに掲げたスタートアップです。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
13
Help us understand the problem. What is going on with this article?