有没有办法在 VS Code 快速修复中从双引号更改为单引号?

Posted

技术标签:

【中文标题】有没有办法在 VS Code 快速修复中从双引号更改为单引号?【英文标题】:Is there a way to change from double quotes to single quotes in VS Code quick fix? 【发布时间】:2017-11-26 17:14:12 【问题描述】:

在将 VSCode 与 Angular 结合使用时,我将我的导入语句列出如下:

import  AppComponent  from './app.component';

VSCode Quick Fix 像这样添加它们:

import  WelcomeComponent  from "app/home/welcome.component";

有没有办法通过 VS Code 设置更改 VS Code 快速修复以使用单引号而不是双引号?

【问题讨论】:

【参考方案1】:

如果您的项目有一个.editorconfig 文件,请尝试添加以下行:

[*]
...
quote_type = single

我发现.editorconfig 文件似乎覆盖了 vscode、prettier、tslint 等的任何设置,而且它似乎默认为单引号以外的其他设置。

如果不需要,也可以删除文件。

更多关于editorconfig的信息。

【讨论】:

以防它为其他人节省一些时间:这还行不通(至少在 2020 年 6 月的 VS Code 中对我来说),因为 quote_type 是 proposed idea 并且还不是官方财产.这是feature proposal。 我想我应该补充一点,我只在 Angular 应用程序中遇到过 .editorconfig 文件的问题/解决方案。它可能取决于安装了哪些扩展...... 谢谢,这对我有用,而其他都没有。 谢谢!它对我有用【参考方案2】:

您可以将Prettier Extension 与以下设置一起使用(全局/工作区)。

"prettier.singleQuote": true

【讨论】:

【参考方案3】:

检查tslint.json 中的quotemark 部分。

如果设置为使用doublequote by

"quotemark": [
  true,
  "double"   < ------mention here
]

那么在使用singlequote 时,您的typescript 文件会出现警告。这将导致 VS Code 的快速修复(为我显示修复选项)将 singlequote 更改为 doublequote

所以解决办法应该是把double改成single

"quotemark": [
  true,
  "single"   < ------change here
]

【讨论】:

这不准确。此设置仅更改 lint 设置,不会改变 VS Code 的行为。 @Spikeh 你有什么解决办法吗? 我在找到一个之前的这几周发布了。但是,我完全忘记了我是如何做到的,也没有文档。请参阅此讨论以获取一些建议:github.com/Microsoft/TypeScript/issues/13270 查看此 SO ***.com/questions/42952453/… 接受的答案以了解 VS Code 中的相应设置【参考方案4】:

按 Ctrl + , 进行设置。

然后搜索更漂亮。找到设置更漂亮:单引号

将其设置为 true。

您可以在用户设置或工作空间设置中进行设置。

【讨论】:

【参考方案5】:

将打字稿设置更改为后打开 VS Code settings.json

 "[typescript]":  "editor.defaultFormatter": "vscode.typescript-language-features" 

【讨论】:

您可以使用命令CTRL + SHIFT + P打开命令面板,然后搜索设置。你应该看到Open Settings (JSON)【参考方案6】:

这很好用而且很简单...

在 VSCode 中打开设置,例如Command + ',' 然后过滤 “打字稿”:

寻找“引用风格”并改变:

【讨论】:

【参考方案7】:

试试 angular-ide(https://www.genuitec.com/products/angular-ide/),它会很方便。

希望您为了 tslint 规范而更改它。 angular-ide 将在编辑器本身中显示警告,它还具有替换所有此类警告的选项。

【讨论】:

非常感谢您的建议。但是,我正在做培训材料,无法使用任何外部工具。【参考方案8】:

看看这个名为“ECMAScript Quotes Transformer”的扩展程序,您可以通过按下来安装它:

Ctrl/Cmd + P

然后输入

ext install es-quotes

ECMAScript Quotes Transformer on Visualstudio.com

【讨论】:

【参考方案9】:

tslint.json

引号应该设置在rules


    "defaultSeverity": "error",
    "extends": ["tslint:recommended"],
    "jsRules": ,
    "rules": 
      "quotemark": [true, "single", "avoid-escape", "avoid-template"],
      "no-console": false
    ,
    "rulesDirectory": [],
    "compilerOptions": 
      "types": ["reflect-metadata", "jest"],
       "typeRoots": ["./types", "./node_modules/@types"]
     ,
     "exclude": ["node_modules", "**/*.spec.ts", "**/*.test.ts"],
     "include": ["./**/*.tsx", "./**/*.ts"]
  

【讨论】:

以上是关于有没有办法在 VS Code 快速修复中从双引号更改为单引号?的主要内容,如果未能解决你的问题,请参考以下文章

在 VS Code 中从 JS 文件中删除 [ts] 错误

在c ++中从双精度转换为字符串[重复]

VS Code Auto Indent / Code Formatting 将单引号改为双引号

在 UBUNTU 中从 VS Code 运行 Kotlin 会产生 kotlinc:未找到

VS Code升级到1.31.1后,Sencha ExtJS插件不工作的解决办法

使用双引号而不是单引号返回 Python 列表中的变量