2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Visual Studio Code が Prettier を見つけてくれなくなった。

Posted at

VSCode の Prettier 拡張が動かなくなった場合

rm your/workspace/package.json

のようにしてローカルの package.json を消してみてください!

あほみたいな話ですが、 治安の悪い Monorepo で作業をしていると、誰かがルートの package.json を壊してしまい npm install できなくなるという事があります。VSCode Prettier 拡張は package.json が存在する場合何がなんでもローカルの prettier 実行ファイルを探そうとするので、YAML や Markdown など Javascript プロジェクトとは関係無いファイルの整形までできなくなります。その場合、ばっさり package.json を消す以外対処法が無いという事が分かりました。

以下詳しい説明

  • Prettier とは? 色々な言語で書いたファイルを整形してくれるツール。Javascript プロジェクトで使われる。
  • VSCode Prettier 拡張 を使うと VSCode 無いで JSON や YAML Markdown などを整形してくれて便利。

Prettier 拡張は次の順序で prettier コマンドを探します。

  • package.json があればワークスペースににインストールされている prettier を探す。
  • もしも prettier.resolveGlobalModulestrue に設定してあれば、グローバルにインストールされた prettier を探す。
    • しかしワークスペースの package.json が壊れていればグローバルの prettier を探せない!
  • prettier がどこにも無ければ Prettier 拡張にバンドルされている prettier を使う。
    • しかしこれもワークスペースの package.json が壊れていればダメでした。

という事で治安の悪い Monorepo に壊れた package.json がある場合消すしか無いという話でした。

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?