当我在Vue组件上执行格式化文档命令时。vue文件VSCode将所有单引号字符串替换为双引号字符串。

在我的具体情况下,该规则与要求单引号的electronic -vue lint配置冲突。

我没有安装更漂亮的扩展(没有更漂亮。singleQuote在我的设置)

如何定制VSCode来避免这种情况?


当前回答

我在控制毛边和更漂亮的排版方面有很多问题。我有自己的规矩,让自己看起来更漂亮

"prettier/prettier": [
      "error",
      { "singleQuote": true, "trailingComma": "none" }
    ],

和。prettierrc文件中的规则

{
  "tabWidth": 2
}

但是我的.prettierrc文件没有得到处理。我的解决方案是在开发依赖中安装prettier作为一个包。所以对我有效的解决方案是安装所有这些包eslint-config-prettier eslint-plugin-prettier and prettier。

其他回答

我解决这个问题的方法是通过安装禁用eslint中的所有格式化规则 npm i -D eslint-config-prettier,然后在eslint配置文件的extends数组的末尾添加“prettier”

module.exports = {
  env: {
    node: true,
  },
  extends: [
    'airbnb-base',
    'airbnb-typescript/base',
    'eslint:recommended',
    'plugin:@typescript-eslint/recommended',
    'plugin:@typescript-eslint/recommended-requiring-type-checking',
    'prettier',

  ],
  parser: '@typescript-eslint/parser',
  parserOptions: {
    tsconfigRootDir: __dirname,
    project: ['./tsconfig.json'],
  },
  plugins: ['@typescript-eslint'],
  root: true,
};

然后把它作为我的默认格式化器做得更漂亮

我使用的是typescript,对我来说,它在更漂亮的设置下检查“Tslint集成”标志得到了解决(在vscode首选项中):

quote_type = single

将此添加到.editorconfig中

# EditorConfig is awesome: https://EditorConfig.org

# top-most EditorConfig file
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
quote_type = single

在我的情况下,问题是在转义\字符内的字符串:

message = 'Error argument is not an object, it\'s ' + typeof error

打开avoidEscape选项并对该字符串使用双引号解决了问题:

message = "Error argument is not an object, it's " + typeof error

.eslintrc.js

module.exports = {
  rules : {
    // Other rules...
    'quotes' : ['error', 'single', {'avoidEscape' : true}],
  }
}

这对我来说很管用: 尝试右键单击当前文档 然后选择format document with, 并为文档选择自己的格式扩展。 :)