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