vscode格式未格式化

时间:2019-12-14 21:24:53

标签: javascript visual-studio-code vscode-settings prettier

我安装了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语言功能作为默认格式设置,该格式也具有默认设置。

我可以在扩展程序中看到更漂亮的插件,并且该插件已启用。

vscode是1.41.0版

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

欢迎任何需要检查的建议,该代码没有语法错误(请参见上面的示例代码),因此不应阻止vscode格式化并且不提供任何错误提示。

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

1 个答案:

答案 0 :(得分:0)

未安装并重新安装vscode,格式化再次起作用。

我的.vscode / settings.json看起来像

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

因此,对于该项目,我使用的是个人格式设置,但是在检入文件之前,我创建了一个.vscode / tasks.json任务,该任务将对所有修改 .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上的Regexp的工作原理有所不同,因此我不得不更漂亮地运行两次:

{
  // 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"
    }
  ]
}