javascript 我如何在一个文件中按字母顺序排序JS变量?

bogh5gae  于 2023-04-04  发布在  Java
关注(0)|答案(2)|浏览(121)

我有一个包含大约1,000个变量的JS文件,看起来像这样:

export const FruitOrange: React.FC = () => (
    <Trans id="fruit.orange">Orange</Trans>
);
export const FruitApple: React.FC = () => (
    <Trans id="fruit.apple">Apple</Trans>
);

我想把所有的变量按字母顺序排序。
换句话说,我想对变量声明进行排序,使FruitApple位于FruitOrange之前。
我该怎么做?

  • VSCode cannot do this as of 2023 .
  • 我有PHPStorm,我尝试为JavaScript和TypeScript配置排列规则,但即使我将每个匹配规则的Order设置为 Order by name,当我重新格式化代码时,它不是按字母顺序排列的。

我只需要重新格式化文件一次;任何可以自动执行此操作的工具都是可接受的;我只是不想手工排序1,000个变量。

6jygbczu

6jygbczu1#

1.使用regex(.* toggle)replacer(ctrl+h)将所有变量变为单行
\n(?!export) -〉<<NEWLINE>>

export const FruitOrange: React.FC = () => ( <<NEWLINE>>    <Trans id="fruit.orange">Orange</Trans> <<NEWLINE>>);
export const FruitApple: React.FC = () => ( <<NEWLINE>>    <Trans id="fruit.apple">Apple</Trans> <<NEWLINE>>);

1.选择所有文本(ctrl-a)并使用命令窗格中的VSCode命令Sort Lines Ascending(ctrl-shift-p)

export const FruitApple: React.FC = () => ( <<NEWLINE>>    <Trans id="fruit.apple">Apple</Trans> <<NEWLINE>>);
export const FruitOrange: React.FC = () => ( <<NEWLINE>>    <Trans id="fruit.orange">Orange</Trans> <<NEWLINE>>);

1.恢复您的换行符
<<NEWLINE>> -〉\n

export const FruitApple: React.FC = () => (
    <Trans id="fruit.apple">Apple</Trans>
);
export const FruitOrange: React.FC = () => (
    <Trans id="fruit.orange">Orange</Trans>
);
km0tfn4u

km0tfn4u2#

以MS Word为例

复制并粘贴您的代码。

  • 控制H,搜索^p(尾部空格很重要,所以只捕获缩进的行),并将它们全部替换为空。
  • 控制H,搜索^p}并将其“全部替换”为}
  • 现在每个定义都在一行上。在主页图标栏中,转到段落部分,然后按排序(A-〉Z图标)。

然后将其复制粘贴回您的代码编辑器,如VS Code,并重新格式化。
只要任何多行定义都有缩进,这就应该起作用(VS Code和其他人应该为您做的)。

相关问题