0
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?

More than 1 year has passed since last update.

VSCode 使用時 TypeScript ファイルのみ formatOnSave(Prettier) が効かないとき【自分用】【NestJS】

Posted at

結論

TypeScriptのdefaultFormatterを明示的に指定したら解決した。

settings.json
{
  "prettier.prettierPath": "./node_modules/prettier",
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

状況

OS: WSL (Ubuntu-20.04)
NestJS: 10.1.8

NestJSで遊んでいるときVSCodeの>Format Documentが機能しなくなった。

右下にはこんなマーク↓とエラーが。

image.png

VSCodeの出力 > Prettier
["INFO" - 6:10:13 PM] Attempted to load Prettier module from /home/me/.config/yarn/global/node_modules/prettier
["ERROR" - 6:10:13 PM] Failed to load module. If you have prettier or plugins referenced in package.json, ensure you have run `npm install`
["ERROR" - 6:10:13 PM] Cannot load Prettier version from package.json
Error: Cannot load Prettier version from package.json
	at t.ModuleResolver.loadPrettierVersionFromPackageJson (/home/me/.vscode-server/extensions/esbenp.prettier-vscode-9.19.0/dist/extension.js:1:4185)

作業フォルダ外のprettierを見に行っているようなので、ワークスペースの設定に

settings.json
{
  "prettier.prettierPath": "./node_modules/prettier"
}

を追加。
JSONファイルのフォーマットが効くようになったのは確認できたが、
TypeScriptファイルのみまだフォーマットされないようだった。(エラーの表示は消えている。)

いろいろ試してみた結果、

settings.json
{
  "prettier.prettierPath": "./node_modules/prettier",
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  }
}

これで動いてくれた。良かった。

おわり

  • 原因の解決ではないけど一応メモ。

    • デフォルトですべてのファイルがフォーマット対象になるわけでは無いのかな
  • あんまり関係ないけどVSCodeのsettings.jsonsetting.jsonって書いてしまったときに軽いアラート出してほしい(1敗)

0
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
0
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?