在我安装并启用了ESlint和Prettier的Nuxt应用程序中,我切换到Visual Studio Code。

当我打开一个.vue文件并按CMD+ Shift + P并选择格式化文档时,我的文件根本没有被格式化。

我的.prettierrc设置:

{
  "tabWidth": 2,
  "semi": false,
  "singleQuote": true
}

我有这么多源代码行,所以我不能手动格式化它们。我做错了什么?


当前回答

在我的案例中,我必须做到以下几点:

从命令行安装prettier (npm Install——save-dev——save-exact prettier-plugin-custom) 重载VSCode

voilà,一切都开始运转了。

提示: 为了确保安装良好,我检查了版本:

npx prettier --version

其他回答

我没有使用Vue,但遇到了同样的问题。

我已经设置好了

编辑器:用于更漂亮的默认格式化器 编辑器:格式保存为true 我已经有了。eslintrc.js和。prettierrc文件 但是什么都不管用。

我的问题的解决方案是,我已经正确设置,除了我需要:

Command + Shift + p 输入格式文件 select Configure Default Formatter… 选择pretty作为默认值。

我不知道为什么编辑器:保存的格式设置为true是不够的。 我需要使用上面的步骤选择默认格式化器,这样它就可以工作了。

在我的例子中,它被typescript格式化器劫持了。

它把我逼疯了,因为它一直在重新格式化我的空间!

为了解决这个问题,我执行cmd+。(设置)type -> "默认格式化程序"

还有未检查的typescript

从菜单导航到:视图->命令面板 形成命令面板搜索格式文档,然后选择更漂亮作为您的格式引擎。

我已经在另一个项目中工作了,但对于新的项目,我必须通过这种方式使其再次用于新项目。

有时候,当代码中出现语法错误时,“漂亮”就会停止工作。你可以通过点击右下角pretty旁边的x按钮来查看错误

这里我的漂亮配置工作在vue.js文件,typescript文件和json文件。

arrowParens: 'always'
bracketSpacing: true
endOfLine: 'crlf'
htmlWhitespaceSensitivity: 'css'
insertPragma: false
jsxBracketSameLine: false
jsxSingleQuote: true
overrides:
- files: '*.json'
  options:
    semi: true
    parser: 'json'
parser: 'babel'
printWidth: 120
proseWrap: 'preserve'
quoteProps: 'truepreserve'
requirePragma: false
semi: false
singleQuote: true
tabWidth: 8
trailingComma: 'es5'
useTabs: true
vueIndentScriptAndStyle: 

不要忘记更新你的vscode设置

{
"extensions.ignoreRecommendations": false,
"editor.suggestSelection": "first",
"vsintellicode.modify.editor.suggestSelection": "automaticallyOverrodeDefaultValue",
"[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[vue]": {
    "editor.defaultFormatter": "octref.vetur"
},
"[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[html]": {
    "editor.defaultFormatter": "vscode.html-language-features"
},
"vetur.format.options.useTabs": true}

那是所有人的事!