TypeScript 在运行组织导入时禁用排序的选项

ogsagwnx  于 10个月前  发布在  TypeScript
关注(0)|答案(5)|浏览(94)
  • 来自@ssi-hu-tasi-norbert于2018年4月20日9:9*
  • VSCode版本:1.22.2
  • 操作系统版本:win 10

排序应该是可选的。我在上面有来自第三方的导入,在下面有应用程序导入,我不想将它们混合在一起。通过一个分隔符(对我来说是一个注解// app),这两个部分可以分别排序。
无论如何,这是一个很棒的功能。
谢谢,
Norbert

b09cbbtk

b09cbbtk1#

我们应该已经将全球进口品排在本地进口品之前,即:

  1. import * as z from "zexternal";
  2. import * as a from "./alpha";

被保留。我们还从更高级别的目录( ../zexternal )中获取物品,而不是从本地目录中获取。因此,只要您的第三方库位于 node_modules 或某些更高级别的目录(如 ../include )中,排序应将它们保留在顶部。

lmvvr0a8

lmvvr0a82#

在Angular中,对于局部导入,我可以使用绝对路径,使用路径规范时,我可以使用方法缩写。从6.x.x版本开始,我可以创建嵌套的库。以下是局部导入:

  1. import { Service } from 'app/shared/service'; // 绝对路径
  2. import { Comp } from `'@shared/test.component';` // 在tsconfig中为`'@shared'`定义的自定义路径
  3. import {UIModule} from 'projects/ui'; // 自己的库导入

所以排序应该检查库是否位于node_modules(更高)或不在(更低)。
谢谢,
tano

lf5gs5x2

lf5gs5x23#

似乎与#22926中的建议相同,即使用导入的目标而不是导入的文本进行排序。

rekjcdws

rekjcdws4#

整理导入上进行排序与自动导入存在冲突行为,后者会将导入添加到列表底部:这导致了不必要的合并冲突和行更改。
我们不仅应该能够启用/禁用排序功能,而且:

  • 当启用时 => 自动导入应将新导入插入到正确的排序位置(如果未排序,则应自动排序);
  • 当禁用时 => 自动导入应将新导入添加到导入列表的底部。

这个问题已经悬而未决15个月了。还需要什么来推动它的进展?

f87krz0w

f87krz0w5#

仍然看到这个问题
本地应该始终低于外部,但我总是看到内部在顺序中更高。

相关问题