VSCode:Prettier不适用于DartFlutter
我正在使用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"
}
}