按字母顺序排序 TypeScript 接口键

alphabetically sort TypeScript interface keys

有没有自动排序 TypeScript 接口键的方法?我已经在使用 Prettier 和 VSCode,所以理想情况下,解决方案应该是那些,但我对任何解决方案都持开放态度。

例如,

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

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

许多插件可用于 VSCode。 "Sort" by "Henrik Sjööh" 效果很好。

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

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

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

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

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

在 VS 代码中;您可以简单地 select 您想要排序的行,然后 CMD + SHIFT + PCtrl + Shift + P on Windows)并搜索 Sort lines Ascending/Descending.