我在可视代码中使用EsLint和Prettier。一切都运作良好,没有单引号和双引号。
这是我的.eslintrc文件:
{
"parser": "babel-eslint",
"plugins": ["prettier"],
"rules": {
"prettier/prettier": [
"error",
{
"singleQuote": true
}
]
}
}
当我使用ctr + shift + P并输入“format Document”时。双引号没有改为单引号。如果我使用自动修复,它会改变但是当我保存它时,单引号会变成双引号。
我该如何解决这个问题。
答案 0 :(得分:0)
仅当您的字符串中包含'
时,才会发生这种情况(“这是一件事情”)。
更漂亮有这个问题,显然没有解决方案。
我的解决方法是对此类字符串使用``(字符串模板语法),对所有其他字符串使用单引号。
`it's a thing`
您不必逃避这个问题。
答案 1 :(得分:0)
答案 2 :(得分:0)
由于您已经在漂亮的配置中设置了singleQuote: true
,所以我怀疑您正在看到单引号转换为双引号,特别是在JSX标记内。这是因为Prettier对于JSX有单独的规则:
"jsxSingleQuote": true
否则,即使使用"singleQuote": true
,Prettier仍将JSX中的单引号转换为双引号。
根据Prettier,JSX中的双引号是默认的,因为它是HTML的后代,在HTML中双引号更为常见。
在任何具有Prettier配置的地方设置"jsxSingleQuote": true
,这应该可以解决问题。
答案 3 :(得分:-1)
只需将漂亮的配置添加到可视代码的 settings.json 中即可。
"prettier.singleQuote": true,