VSCode单双引号自动替换


109

当我Format Document在Vue Component.vue文件上执行命令时,VSCode将所有单引号字符串替换为双引号字符串。

在我的特定情况下,该规则与需要单引号的电子烟皮棉配置相冲突。

我没有安装更漂亮的扩展程序(prettier.singleQuote我的设置中没有)

如何自定义VSCode以避免这种情况?


Answers:


137

我没有安装prettier扩展程序,但是在阅读了可能的重复答案后,我从头开始在用户设置(UserSetting.json,Ctrl +,快捷键)中添加了:

"prettier.singleQuote": true

绿色警告部分(Unknown configuration setting)不再替换单引号。

我怀疑更漂亮的扩展名不可见,但已嵌入Vetur扩展名中。


2
这对我不起作用。我不得不使用vetur.format.defaultFormatterOptions。请参阅https://vuejs.github.io/vetur/formatting.html#settings
user1620220

打开快速搜索后,键入“>“用户设置”,然后单击“首选项:打开用户设置”。在首选项的搜索框中,键入“ prettier.singleQuote”,然后单击复选框以获取更漂亮的单引号。
科迪(Kody)

3
解决方案对我来说不起作用,quote_type = single在文件中的[*.myDesiredFileExtension]部分中.editorconfig
寂寞

82

嗯,就像那家伙(@ user2982122)提及,但不是文件转到代码- >首选项- >设置,然后寻找报价,选择更漂亮和两个复选框

在此处输入图片说明 在此处输入图片说明


1
您是否需要重新加载这些设置才能使它们生效?我都选中了它们,但是当我保存.jsx文件时,双引号不会更改为单引号。
J Woodchuck

太奇怪了,我使用的是此版本:1.14版内部版本1.14.0-17740
mustapha mekhatria

58

对于.editorconfig默认情况下使用文件的项目。格式化程序将忽略设置中的规则并使用中的规则.editorconfig,然后您可以:

  • 删除.editorconfig文件,然后使用您的VSCode设置。
  • 添加quote_type = single.editorconfig有关您的文件类型的文件。您也可以将quote_type值设置为doubleauto

1
我这样做了,无论我是否全局安装了editorconfig,还是试图针对VS Code起诉editorconfig,它都行不通。:(
acarlstein

谢谢,我的Angular应用.editorconfig默认情况下会使用(不知道),您的解决方案解决了我的问题
benshabatnoam

请考虑:.editorconfig如果它是一个普通版本的项目,则不能删除
Lonely



14

请考虑.editorconfig覆盖所有内容,使用:

[*]
quote_type = single

12

正确的解决方案:

我在主根项目中添加.prettierrc.js文件并编写

module.exports = {
    singleQuote: true
  };

我尝试了此操作,但是它引发了一个错误:“ ESLint:无法加载配置“ defaults / configurations / eslint”以从其扩展。” 最好将其添加到package.json中。解决方案
Avjol Sakaj,

您是否将.prettierrc.js文件放在项目的根目录中?
奥马尔·哈桑

8

对于像我这样的新手:

从顶部的导航栏菜单:选择文件->首选项->设置。在搜索文本框中,输入Quote在下面显示的过滤列表中,找到齿轮图标,然后在其旁边-“更漂亮”。单击复选框以启用“更漂亮:单引号”


6

如@attdona所述,Vetur扩展包括更漂亮。

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

例如,在这里,我将Vetur设置为使用vscode-typescript格式化程序,因为默认情况下它使用单引号:

vscode vetur设置



6

我在vscode中遇到了同样的问题。只需在您的根目录中创建一个.prettierrc文件,然后添加以下json。 对于单引号,请添加:

{
  "singleQuote": true
}

对于双引号,请添加:

  {
      "singleQuote": false
  }

6

尝试以下解决方案之一

  1. 在vscode settings.json文件中添加此条目 "prettier.singleQuote": true
  2. 在vscode中,如果您有.editorconfig文件,请在根[*]符号下添加此行quote_type = single
  3. 在vscode中,如果您有.prettierrc文件,请添加此行
{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

1
第二个选项工作,遗憾的是在本页面其他答案没有工作

6

安装更漂亮的扩展并将以下代码粘贴到VSCodesettings.json文件中

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

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



4

.prettierrc在项目文件夹中添加了名为的文件。档案内容:

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

2

您可以在settings.json中使用它

"javascript.preferences.quoteStyle": "single"


1

它适用于我检查Prettier中的单引号以及tslint.autoFixOnSave为true

在此处输入图片说明

在此处输入图片说明


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.