在 VSCODE 中导入语句自动转换为多行

Posted

技术标签:

【中文标题】在 VSCODE 中导入语句自动转换为多行【英文标题】:Import statement automatically converted to multi-line in VSCODE 【发布时间】:2019-08-21 20:50:48 【问题描述】:

我的 VSCode 编辑器在保存或格式化文档时自动将 import 语句换行:

之前:

之后:

我不想要这种行为。如何禁用此规则?

我正在使用 Angular 7 打字稿进行编程,并在其上安装了以下扩展:

    角度要点 更漂亮 TSlint

请帮我删除此规则或行为。

谢谢。

【问题讨论】:

【参考方案1】:

这是 Prettier 造成的。

我不认为您可以自行禁用此功能(在导入上方使用 // prettier-ignore 注释除外),但您可以尝试使用 prettier.printWidth 设置增加 prettier 开始换行的行长

【讨论】:

谢谢// prettier-ignore,我不知道。而且,它是一种 hack,不能在每次导入时使用。我可以禁用prettier.printWidth吗? 不幸的是,// prettier-ignore 在我的情况下不起作用。更漂亮,好吧,忽略那个忽略声明。仍在努力寻找一种方法来防止 Prettier 使我的代码变得丑陋。 如果您要共享代码库,那么您可能希望在项目根目录中的 .prettierrc 文件中执行此操作。【参考方案2】:

您不能禁用 prettier.printWidth,但您可以增加行长直到它停止包装您的导入。

您可以通过在根目录(Angular 项目中 /src 上方的文件)中打开(或创建)一个名为 prettier.rc 的文件并添加属性来做到这一点:

"printWidth": 250

或任何需要的数字。

警告:由于 printWidth 是 Prettier 的中心主题 - 作为一个固执己见的格式化程序,从长远来看,您尝试做的事情可能不是最佳选择。

对于 Angular 项目,与使用 Prettier 不同,请考虑向 tslint 添加新规则,甚至在需要时创建自定义规则。

【讨论】:

我尝试直接从 VS 代码中的扩展设置更新 printWidth 属性,但没有成功。按照答案中的建议,它通过在 prettier.rc.js 中添加 printWidth 属性来工作。谢谢。

以上是关于在 VSCODE 中导入语句自动转换为多行的主要内容,如果未能解决你的问题,请参考以下文章

无法在 VSCode Java 项目中导入包

VS Code:Prettier 将段落文本拆分为多行

vscode如何进行代码注释定制(koroFileHeader)

重新排列/删除 VSCODE 中多行的空格

ServiceNow如何在Fufiller页面端实现String的多行与单行转换

Visual Studio 2015 缩进多行 for 语句