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

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

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

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


当前回答

我没有安装更漂亮的扩展,但在阅读可能重复的答案后,我从头开始添加在我的用户设置(用户设置。json, Ctrl+,快捷方式):

"prettier.singleQuote": true

部分有绿色警告(未知配置设置),单引号不再被替换。

我怀疑更漂亮的扩展是不可见的,但嵌入在Vetur扩展。

其他回答

正如@attdona所指出的,Vetur扩展包括了prettier。

虽然您可以根据接受的答案更改更漂亮的设置,但您也可以更改vue组件特定区域的格式化程序。

例如,在这里,我设置Vetur使用vcode -typescript格式化器,因为它默认使用单引号:

试试这些解决方案中的一种

在vscode设置。Json文件添加此条目 ”漂亮。singleQuote”:真正的 在vscode中,如果您有.editorconfig文件,在根符号[*]quote_type = single下添加这一行 在vscode中,如果你有. pretierrc文件,添加这行

{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

首先,安装Prettier扩展。在项目的根目录下创建一个. pretierrc配置文件。并添加如下配置:

{ trailingComma:“es5”, singleQuote:真的, jsxSingleQuote:真的, printWidth: 100, tabWidth: 2, “春天”:真的, “endOfLine”:“auto” 的

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

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}],
  }
}

安装更漂亮的扩展和粘贴下面的代码在你的VSCode设置。json文件

 "prettier.useEditorConfig": false,
 "prettier.singleQuote": true

这将忽略您的.editorconfig文件设置。