当我在Vue Component.vue文件上执行Format Document
命令时,VSCode用双引号字符串替换所有单引号字符串。
在我的特定情况下,此规则与需要单引号的electron-vue lint配置冲突。
我没有安装更漂亮的扩展程序(在我的设置中没有prettier.singleQuote)
如何自定义vscode以避免这种情况?
答案 0 :(得分:75)
我没有安装prettier
扩展程序,但在阅读possible duplicate回答后,我已在我的用户设置(UserSetting.json
,Ctrl +,快捷方式)中从头开始添加:
"prettier.singleQuote": true
部分绿色警告(Unknown configuration setting
)单引号不再被替换。
我怀疑更漂亮的扩展程序不可见,但嵌入在Vetur扩展程序中。
答案 1 :(得分:27)
答案 2 :(得分:17)
请考虑使用.editorconfig
覆盖所有内容,请使用:
[*]
quote_type = single
答案 3 :(得分:12)
对我有用的是设置 .prettierrc.json
配置文件。使用如下示例配置将其放入项目的根目录:
{
"singleQuote": true,
"trailingComma": "all",
"tabWidth": 2,
"semi": true,
"arrowParens": "always"
}
触发格式化文档命令后,一切都按预期工作。
附注:这个解决方案的好处是,由于当前的配置文件,每个团队成员都能获得相同的格式输出。
答案 4 :(得分:8)
安装更漂亮的扩展并将以下代码粘贴到VSCode settings.json
文件中
"prettier.useEditorConfig": false,
"prettier.singleQuote": true
这将忽略您的.editorconfig
文件设置。
答案 5 :(得分:6)
对于像我这样的新手:
从顶部的导航栏菜单:选择文件->首选项->设置。 在搜索文本框中,输入Quote 在下面显示的过滤列表中,找到齿轮图标及其旁边的“漂亮”。单击复选框以启用“更漂亮:单引号”
答案 6 :(得分:6)
只有适用于我的解决方案: 并且仅适用于Angular项目:
只需进入您的项目“ .editorconfig”文件,然后粘贴“ quote_type = single”。 希望它也对您有用。
答案 7 :(得分:6)
尝试以下解决方案之一
"prettier.singleQuote": true
.editorconfig
文件,请将此行添加到根[*]符号quote_type = single
下.prettierrc
文件,请添加此行{
"singleQuote": true,
"vetur.format.defaultFormatterOptions": {
"prettier": {
"singleQuote": true
}
}
}
答案 8 :(得分:6)
我在vscode中遇到了同样的问题。只需在根目录中创建一个 .prettierrc 文件,然后添加以下json。 对于单引号,请添加:
{
"singleQuote": true
}
对于双引号,请添加:
{
"singleQuote": false
}
答案 9 :(得分:6)
此问题似乎是一个打开的错误:Prettier Bug
以上解决方案均不适合我。 唯一有效的方法是,在package.json中添加以下代码行:
"prettier": {
"singleQuote": true
},
答案 10 :(得分:6)
如@attdona所述,Vetur扩展名更漂亮。
虽然您可以根据接受的答案更改更漂亮的设置,但也可以更改vue组件特定区域的格式化程序。
例如,在这里,我将Vetur设置为使用vscode-typescript格式化程序,因为默认情况下它使用单引号:
答案 11 :(得分:5)
正确的解决方案:
我在主根项目中添加了.prettierrc.js文件 并写
module.exports = {
singleQuote: true
};
答案 12 :(得分:5)
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
答案 13 :(得分:4)
对于默认情况下使用.editorconfig
文件的项目。格式化程序将忽略设置中的规则,并使用.editorconfig
中的规则,然后您可以:
.editorconfig
文件,并使用VSCode设置。quote_type = single
添加到.editorconfig
文件中,以了解您的文件类型。您还可以将quote_type
的值设置为double
或auto
。答案 14 :(得分:3)
答案 15 :(得分:3)
在.prettierrc中添加
{
"arrowParens": "avoid",
"semi": false,
"singleQuote": true
}
答案 16 :(得分:2)
对于JSX,使用:
{"jsxSingleQuote": false}
答案 17 :(得分:2)
就我而言,问题出在字符串中转义的 \
字符上:
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}],
}
}
答案 18 :(得分:1)
在vuejs / vetur问题页面https://github.com/vuejs/vetur/issues/986#中 这个解决方案对我有用。
在VSCodes settings.json
文件中添加此条目
"vetur.format.defaultFormatterOptions": {
"prettier": {
"singleQuote": true
}
},
答案 19 :(得分:1)
答案 20 :(得分:1)
对我来说这两个选项都解决了这个问题:
通过在 .prettierrc 中添加 - "singleQuote": true
或者通过在 package.json 中添加以下内容 -> “更漂亮”:{ “单引号”:真 }
虽然我也尝试添加 .prettierrc.js
并有以下内容
module.exports = { singleQuote: 真 };
这没有用。
答案 21 :(得分:0)
我在项目文件夹中添加了名为.prettierrc
的文件。
文件内容:
{
"singleQuote": true,
"vetur.format.defaultFormatterOptions": {
"prettier": {
"singleQuote": true
}
}
}
答案 22 :(得分:0)
使用此扩展名。
https://marketplace.visualstudio.com/items?itemName=BriteSnow.vscode-toggle-quotes
cmd'(在Win / Linux上为ctrl')将在'“`
之间循环答案 23 :(得分:0)
您可以在settings.json中使用它
"javascript.preferences.quoteStyle": "single"
答案 24 :(得分:0)
这对我有用: 尝试右键单击当前文档 并选择“格式化文档”, 并为文档选择您自己的格式扩展名。 :)