问题描述
我正在使用 Dart
和 Node.js
。我尝试使用 Node.js
自动格式化 Prettier
。但是,VSCode 会自动格式化 Dart
文件,但不会使用 JavaScript
格式化 Prettier
。
在屏幕下方,它写着 Prettier on JavaScript。当我触摸该设置并将其设置为 Prettier
以进行自动格式化时,Prettier
工作并且它自动格式化 JS 文件但 Dart
自动格式化不起作用。
如何设置 VSCode 自动格式化 Dart 和 JS 文件,而无需每次都切换设置?
VSCode 设置
{
"workbench.colorTheme": "Visual Studio Dark","[dart]": {
"editor.formatOnSave": true,"editor.formatOnType": true,"editor.rulers": [
80
],"editor.selectionHighlight": false,"editor.suggest.snippetsPreventQuickSuggestions": false,"editor.suggestSelection": "first","editor.tabCompletion": "onlySnippets","editor.wordBasedSuggestions": false
},"workbench.preferredHighContrastColorTheme": "Default Dark+","files.autoSave": "afterDelay","editor.minimap.enabled": false,"dart.openDevTools": "Flutter","explorer.confirmDragAndDrop": false,"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}
解决方法
不要将 Prettier 设置为 VS Code 的全局默认格式化程序。设置为仅作为 Javascript 相关的默认格式化程序。打开您的设置 JSON 并添加以下内容:
{
...
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},"[jsonc]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},"[json]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}