在TS 4.7之后,由于organizeImports是根据空行分隔符对导入进行分组的。
默认情况下,organizeImports还会对导出进行组织。
我需要在导出方面也具有相同的行为,这些导出有时依赖于之前的导出(并且不应该在全球范围内重新排序):
示例 - 之前
export d from "D";
export a from "A";
export b from "B";
export c from "C"; //depends on D
{...}
当前行为
export a from "A";
export b from "B";
export c from "C"; //depends on D which is not currently exported => causes a build error
export d from "D";
{...}
期望的行为
export a from "A";
export b from "B";
export d from "D";
export c from "C"; //depends on D => no error
{...}
谢谢
2条答案
按热度按时间xmq68pz91#
+1支持这个功能。我们目前的解决方法是在settings.json中使用npm包prettier-plugin-organize-imports,而不是vscode的
"editor.codeActionsOnSave": {"source.organizeImports": true}
。Prettier插件考虑到了// organize-imports-ignore
语句,你可以使用它来禁用特定文件内导入/导出的自动组织。然而,我更倾向于使用vscode的功能,而不是安装一个npm包。r1zk6ea12#
有人找到解决方法/禁用导出排序了吗?我的团队依赖于组织导入的其他功能(如删除未使用的导入),但有一些索引文件需要像上面的例子那样手动排序。这个功能破坏了我们做这件事的能力。