vscode 格式不格式化

vscode format not formatting

我安装了 prettier plugin for vscode 并且有一个 .pretteirrc.js:

module.exports = {
  trailingComma: 'es5',
  tabWidth: 2,
  semi: true,
  singleQuote: true,
  printWidth: 60,
}

在设置中,默认格式化程序设置为:esbenp.prettier-vscode 并检查了保存时的格式,但保存时没有格式化任何内容,也没有提示出现问题。

右键单击包含以下内容的 js 文件:

var test = [1, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 2, 3, 4, 5, 6]

并且选择格式文档不会对其进行格式化,格式化文档也不会... => 更漂亮的代码格式化程序也不会选择打字稿和 javascript 语言功能。

奇怪的是,默认格式具有打字稿和 javascript 语言功能,即使设置没有将其作为默认格式化程序。

我可以在扩展中看到 prettier 插件并且它已启用。

vscode 是版本 1.41.0

重启几次并重新加载 vscode window。将尝试删除并重新安装 vscode,因为保存时自动格式化是我离不开的功能。

欢迎提出任何要检查的建议,代码没有语法错误(请参见上面的示例代码),因此不应阻止 vscode 格式化,也不会给出任何错误的迹象。

从项目目录中删除了 .vscode 目录,现在默认格式化程序更漂亮,但仍然没有格式化。

已卸载并重新安装 vscode,格式化又开始工作了。

我的.vscode/settings.json长得像

{
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "prettier.configPath": "./personal.yml"
}

所以对于我使用个人格式的项目,但在签入文件之前我创建了一个任务 .vscode/tasks.json 它将标准格式所有 modified .js 和 .json 个文件。

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "Format",
      "command": "git status -s | grep '\.js$\|\.json$' | cut -f3 -d' ' | xargs prettier --write --config ./.standard.yml;",
      "type": "shell"
    }
  ]
}

mac 上的正则表达式工作方式不同,所以我不得不 运行 更漂亮两次:

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "label": "format",
      "type": "shell",
      "command": "git status -s | grep '\.js$' | cut -f3 -d' ' | xargs prettier --write --config ./.prettierrc.yml && git status -s | grep '\.json$' | cut -f3 -d' ' | xargs prettier --write --config ./.prettierrc.yml"
    }
  ]
}