TypeScript 提供将导入组织为格式一部分的选项

gwo2fgha  于 9个月前  发布在  TypeScript
关注(0)|答案(7)|浏览(88)

TypeScript版本:4.4.2
搜索关键词

  • format / formatting / formatter
  • organize imports / sort imports

此功能请求提供一个新的选项,该选项将作为格式化的一部分自动运行organize imports。虽然VS Code今天可以自己实现这个功能,但在TS服务器上处理这个功能会有一些关键优势:

  • 它可以让我们一次性编辑文档。否则,我们必须先格式化文档,然后组织导入。这会导致一些 Flink ,并可能导致多次撤销停止
  • 其他TS消费者也可以从该功能中受益

测试microsoft/vscode#48150
这将非常棒。

9cbw7uwe

9cbw7uwe1#

希望在格式化之前就完成这个操作,因为许多用户使用prettier。目前,我组织导入(不遵循prettier的格式化规则),然后使用prettier进行格式化(手动或在保存时)

ipakzgxi

ipakzgxi2#

解:The Typescript Hero有一个设置导入组的函数,但是它仍然相对简单,可以作为参考。

$x_{1e0f1}x$

$x_{1e1f1}x$

gj3fmq9x

gj3fmq9x3#

我同意@ZSkycat的观点。我目前正在使用TypeScript Hero,但由于大部分功能现在已经包含在TypeScript本身中,我想在不使用该扩展的情况下工作。
目前唯一似乎缺少的功能是“整理导入”的一些特性:

  • 导入分组
  • 多行导入
wztqucjr

wztqucjr4#

大家好

我的prettier与自动整理导入功能冲突真的很烦人。

@mjbvz

请问你对此有什么进展吗?

作为解决方法,我使用了

  1. "editor.formatOnSaveTimeout": 1000

来给prettier一个正确格式化的机会。

a14dhokn

a14dhokn5#

@mjbvz 不太确定这里的请求是什么。我猜想OP希望TypeScript的“格式文档”命令能够包括组织导入,但大多数后续评论都是关于组织导入与prettier冲突,这将完全不受我们对TS Server进行的任何格式更改的影响。

zbq4xfa0

zbq4xfa06#

是的,这是针对原始请求的回答:TS服务器上的format命令的一个选项,可以自动组织导入。
这不会解决与Prettier的任何格式冲突,但可以让它们变得不那么痛苦,因为它可以让格式化和组织导入在一个步骤中完成,而不是在两个单独的阶段中进行。

ltqd579y

ltqd579y7#

我认为在如何帮助美化方面,我仍然遗漏了一些内容。我假设同时使用prettier和TS的组织导入的人有一个配置如下:

  1. {
  2. "editor.defaultFormatter": "esbenp.prettier-vscode",
  3. "editor.formatOnSave": true,
  4. "editor.codeActionsOnSave": {
  5. "source.organizeImports": true
  6. }
  7. }

因此,在保存时,会向prettier发送一个格式化命令,并向TS服务器发送一个组织导入命令。在这种情况下,TS服务器永远不会看到格式化请求。

相关问题