按字母顺序对 TypeScript 界面键进行排序

Posted

技术标签:

【中文标题】按字母顺序对 TypeScript 界面键进行排序【英文标题】:alphabetically sort TypeScript interface keys 【发布时间】:2020-07-12 03:22:22 【问题描述】:

有没有办法自动对 TypeScript 界面键进行排序?我已经在使用 Prettier 和 VSCode,所以理想的解决方案是使用这些解决方案,但我愿意接受任何解决方案。

例如,

// before
interface MyInterface 
  foo: number;
  bar: number;
  baz: number;


// after sort
interface MyInterface 
  bar: number;
  baz: number;
  foo: number;

【问题讨论】:

【参考方案1】:

很多插件可用于 VSCode。 “Henrik Sjööh”的“排序”效果很好。

安装插件后,突出显示界面并按alt+shift+s(MacOS 上为option+shift+s),界面将重新排序。

【讨论】:

【参考方案2】:

也许更好的方法是强制执行这样的事情,特别是如果您在团队中工作。 Linters 实际上对此有支持,它被称为 tslint 的 object-sort-keys 和 eslint 的 sort-keys。它们还带有 VS Code 中的自动修复功能,因此如果您在任何 linter 上激活此规则,您可以自动修复键的顺序。 (您甚至可以在保存时执行此操作 -> 修复保存时的所有 linting 问题)。

https://eslint.org/docs/rules/sort-keys

https://palantir.github.io/tslint/rules/object-literal-sort-keys/(小心,tslint 很快就会被 eslint 弃用)

【讨论】:

澄清一下,object-sort-keys 通常适用于接口?【参考方案3】:

为了按字母顺序对对象键进行排序,我使用了扩展名Sort JS Object。

【讨论】:

以上是关于按字母顺序对 TypeScript 界面键进行排序的主要内容,如果未能解决你的问题,请参考以下文章

Jackson 在 Android 上按字母顺序对 JSON 序列化输出键进行排序

如何使用 Vim 按字母顺序对 JS es6 导入进行排序

首先按字母顺序对对象数组进行排序,然后按数字排序

按字母顺序对 argparse 帮助进行排序

在mysql中按字母顺序对全名进行排序

按字母顺序对 c 字符串数组进行排序