在Visual Studio代码中使用TypeScript时,类型上的导入建议(由空格+句点触发)将使用双引号生成导入。
我们的TypeScript linter验证在可能的情况下使用单引号。
如下所示,该建议有双引号(“@angular / ...”)
如何调整导入设置?
从VSCode 1.10开始,(遗憾的是)这是不可能的。但对于一小部分用户来说似乎是一个问题。 VSCode主题知道这个问题,你可以按照这个来了解它的实现时间:https://github.com/Microsoft/TypeScript/issues/13270
2018年6月更新
自VSCode 1.24(2018年6月)以来,有一个选项!有关详情,请参阅:
https://code.visualstudio.com/updates/v1_24#_preferences-for-auto-imports-and-generated-code
以上解决方案对我不起作用
所以这是我的工作,在你使用vscode,settings.json
:你的qazxswpoi中的true将在你保存文件时自动修复这些导入引用。
您还可以在vscode用户设置中配置以下行以调整此设置。
"prettier.singleQuote": true
从VS Code 1.21.1开始,您需要编辑
/US人/share/code/resources/app/extensions/typescript-basics/snippets/typescript.JSON
在Windows中
/ Applications / Visual Studio Code.app/Contents/Resources/app/extensions/typescript-basics/snippets/typescript.json。
在Windows 10中(vscode版本1.30。*(用户设置)稍后)
* C:\ Users \ <yourusername> \ AppData \ Local \ Programs \ Microsoft VS Code \ resources \ app \ extensions \ typescript-basics \ snippets \ typescript.json
在该文件的“导入外部模块”部分中,将body数组属性设置为值"import { $0 } from '${1:module}';"
。该部分将如下所示:
"Import external module.": {
"prefix": "import statement",
"body": [
"import { $0 } from '${1:module}';"
],
"description": "Import external module."
},
支持这种配置的另一种选择是TypeScript Toolbox。
它可以通过设置genGetSet.pathStringDelimiter
进行配置,Editor config已经将单引号导入作为默认值。
我修复了使用[*]
...
quote_type = single
,在项目根目录中打开你的.editorconfig文件(如果你没有,创建该文件)并在[*]之后添加这一行
wiki
在"typescript.preferences.quoteStyle": "single",
"javascript.preferences.quoteStyle": "single"
中,您可以看到完整的属性列表。
转到“文件>首选项>设置”,然后在用户设置下添加:
https://github.com/Microsoft/TypeScript/pull/17750
从TypeScript 2.5开始,将扫描文件中的第一个导入或导出语句,以确定在使用导入建议时是使用单引号还是双引号。
这已经实现(如另一个回复中所述)!但是你可能还没有使用最新版本的TypeScript。
解决方案很简单:
单击“TypeScript”和右下角的一个小笑脸之间的TypeScript版本号(例如2.3.4)。然后切换到Visual Studio Code内置版本(此时为2.5.3)。
在此Visual Studio代码之后,将通过查看第一个import语句来推断导入引用样式。请注意,一个小弹出标签仍然会显示双引号。
"prettier.singleQuote": true
:
这增加了确定是否对通过代码修复添加的新导入使用单引号或双引号的功能。添加新导入时,我们使用模块说明符扫描源文件的最顶层语句以查找现有导入或导出声明。然后我们使用我们找到的第一个的引用样式。如果文件中没有现有导入,我们将回退到使用双引号。
您还可以在vscode用户设置中配置以下行,以允许在字符串中使用单引号。
转到首选项>用户设置
"tslint.autoFixOnSave": true
这将允许String中的单引号。否则,如果您手动将所有双引号更改为单引号,它将在保存时恢复。另外,添加
"tslint.autoFixOnSave"
保存时自动修复。