typescript Visual Studio代码组织导入功能

8dtrkrch  于 2023-10-22  发布在  TypeScript
关注(0)|答案(3)|浏览(161)

在Visual Studio代码的1.23版本中,添加了“组织导入”功能。这是一个非常有用的功能,因为它可以处理导入本身,但我希望能够配置它。
我想知道此功能是否可用的功能有:

  • 是否可以配置导入的排序顺序?我想在本地导入之前配置外部库(angular,rxjs)
  • 此外,是否有可能在不同来源的进口之间添加一个断路器?
  • 在我的项目中,我有一个最大行长度配置,但导入插件似乎不尊重这一点。不是吗?

我问这个问题是因为在VSCode页面上没有可用的配置信息,只是通知这是可用的。

vhipe2zx

vhipe2zx1#

不支持,这些更高级的选项从VS Code 1.24起不受支持。
最大行长度由this issue跟踪
外部进口通常应先于内部进口。如果您使用的是绝对路径,则可能不是这样,请参阅this issue
我们对导入的最终目标是,您永远不必手动管理导入,甚至不必查看它们,因此更高级的排序/样式不在我们的范围之内

sh7euo9m

sh7euo9m2#

在VSCode上打开Ctrl+Shift+P,然后
“偏好:配置语言特定设置...”
并添加

"[typescript]": {
"editor.codeActionsOnSave": {
    "source.organizeImports": true
}

}
source的信用

bxjv4tth

bxjv4tth3#

vscode v1.68中的Organize Imports函数有一个更新。参见v1.68版本说明:组感知组织导入。
组织JavaScript和TypeScript的导入可以让您快速清理导入列表。在运行时,它会删除未使用的导入,并按字母顺序对导入进行排序。
然而,一些代码库喜欢对如何组织其导入进行某种程度的手动控制。external vs internal imports是最常见的例子之一:
【从这个开始……】

// local code
import * as bbb from "./bbb";
import * as ccc from "./ccc";
import * as aaa from "./aaa";

// built-ins
import * as path from "path";
import * as child_process from "child_process"
import * as fs from "fs";
// some code...

[Organize Imports现在将生成以下内容:]
然而,在TypeScript 4.7中,Organize Imports现在是一个组感知的。在上面的代码上运行它看起来更像你所期望的:

// local code
import * as aaa from "./aaa";
import * as bbb from "./bbb";
import * as ccc from "./ccc";

// built-ins
import * as child_process from "child_process";
import * as fs from "fs";
import * as path from "path";
// some code...

因此,您应该能够对导入进行“分组”-通过换行符或注解分隔,并仅在每个组中对它们进行排序。

相关问题