【发布时间】:2019-06-27 05:46:22
【问题描述】:
在使用 VS Code 和 Typescript 或 JavaScript 时,VS Code 建议自动导入。但是当自动插入导入时,它会在行尾添加一个分号。我不想要这个分号。此外,它在我的 tslint 中也是这样配置的。
有没有办法告诉 VS Code 不要插入这个分号?
【问题讨论】:
标签: javascript typescript visual-studio-code vscode-settings
在使用 VS Code 和 Typescript 或 JavaScript 时,VS Code 建议自动导入。但是当自动插入导入时,它会在行尾添加一个分号。我不想要这个分号。此外,它在我的 tslint 中也是这样配置的。
有没有办法告诉 VS Code 不要插入这个分号?
【问题讨论】:
标签: javascript typescript visual-studio-code vscode-settings
VS Code 1.38 尝试 infer if semicolons should be used 在 JavaScript 和 TypeScript 中自动导入和重构。
使用 VS Code 1.39 和 TypeScript 3.7+,如果应该使用分号,你也可以显式地set:
"javascript.format.semicolons": "remove",
"typescript.format.semicolons": "remove"
(请注意,在 VS Code 1.40 发布之前,您可能需要安装 this extension 才能在 VS Code 中真正启用 TypeScript 3.7)
【讨论】:
对于 VSCode 1.30.2、TypeScript 3.3,目前无法做到这一点。
您可以在此处查看功能请求: https://github.com/Microsoft/TypeScript/issues/19882
但是这个功能可能会出现在 TypeScript 3.4 中,因为@RyanCavanaugh 将里程碑更新到了 3.4
同时,我使用semi-standard风格。
另外,纯 standard 样式在 VSCode 中效果不佳,因为对齐方式混乱:
function foo() {
const x = {}
;['a'].map(x => console.log(x)) // <-- alignment is bad
}
【讨论】:
为了添加到响应中:
设置应该是
"javascript.format.semicolons": "remove",
"typescript.format.semicolons": "remove"
(不是"javascrriptscript.format.semicolons")
settings 的文档说:
"javascript.format.semicolons"
可以有三个不同的选项:
"ignore" -> Dont insert or remove any semicolons.
"insert" -> Insert semicolons at statement ends.
"remove" -> Remove unnecessary semicolons.
到目前为止,似乎还没有解决上述问题的选项,至于我在使用 log aka console.log() 的自动完成功能时,它确实在行尾添加了一个分号。
【讨论】: