在Visual Studio Code中使用TypeScript时,类型上的导入建议(由空格+句点触发)将使用双引号生成导入。
我们的TypeScript linter验证是否尽可能使用单引号。
如下所示,该建议有双引号(" @angular /...")
如何调整导入设置?
答案 0 :(得分:44)
您还可以在vscode用户设置中配置以下行以调整此设置。
"prettier.singleQuote": true
答案 1 :(得分:39)
从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
答案 2 :(得分:9)
从VS Code 1.21.1开始,您需要编辑
/usr/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."
},
答案 3 :(得分:8)
支持此配置的替代方法是TypeScript Toolbox。
可以通过设置genGetSet.pathStringDelimiter
进行配置,pseudoEquals()
已经将单引号导入作为默认值。
答案 4 :(得分:6)
我使用Editor config修复了该问题,在项目根目录中打开 .editorconfig 文件(如果没有,请创建该文件)并在 [*]
[*]
...
quote_type = single
在wiki中,您可以看到完整的属性列表。
答案 5 :(得分:6)
转到“文件>首选项>设置”,然后将其添加到用户设置下:
"typescript.preferences.quoteStyle": "single",
"javascript.preferences.quoteStyle": "single"
答案 6 :(得分:3)
从TypeScript 2.5开始,将扫描文件中的第一个导入或导出语句,以确定在使用导入建议时是使用单引号还是双引号。
答案 7 :(得分:1)
这已经实施(如另一个回复中所述)!但是你可能还没有使用最新版本的TypeScript。
解决方案很简单:
在“TypeScript”和右下角的一个小笑脸之间单击TypeScript版本号(例如2.3.4)。然后切换到Visual Studio Code内置版本(此时为2.5.3)。
此Visual Studio代码将通过查看第一个导入语句来推断导入报价样式。请注意,无论如何,一个小弹出标签仍会显示双引号。
这增加了确定是否对通过代码修复添加的新导入使用单引号或双引号的功能。添加新导入时,我们使用模块说明符扫描源文件的最顶层语句以查找现有导入或导出声明。然后我们使用我们找到的第一个的引用样式。如果文件中没有现有的导入,我们会回到使用双引号。
答案 8 :(得分:1)
您还可以在vscode用户设置中配置以下行,以允许在字符串中使用单引号。
转到首选项>用户设置
"prettier.singleQuote": true
这将允许String中的单引号。否则,如果您手动将所有双引号更改为单引号,它将在保存时恢复。另外,添加
"tslint.autoFixOnSave": true
保存时自动修复。
答案 9 :(得分:0)
上述解决方案对我不起作用
这是我的解决方法,在您使用vscode时,"tslint.autoFixOnSave"
:在您保存文件时,settings.json
中的true将自动修复这些导入引用。