如何递归美化JavaScript文件?

如何递归美化JavaScript文件?

我的 Node.js 项目的子文件夹和子子文件夹中有很多*.js我胡乱编写的文件,现在我正在寻找一个可以遍历所有文件并美化它们的工具。

我发现js-美化包,但我不确定它是否能满足我的要求。此外,我怀疑 node 包是否是我想要的。我想我需要一个可以从 Ubuntu 终端调用的软件。

答案1

Vim 支持使用命令gg=G.来格式化源代码文件gg,这是一个(可能多余的)动作,用于跳转到文件开头;=是命令indentG动作表示“执行到文件末尾”。我知道,这听起来像外星人的语言。

为了在许多文件上执行此操作,您可以创建一个文件并将其命名为您想要的任何名称,例如vim-indent.txt,在其中输入以下内容:

gg=G:wq

带有尾随换行符。

基本上,这个文件包含我们在运行 Vim 时想要按下的按键的记录。该:wq<ENTER>命令表示“写入并退出”,并且必须以换行符结束。如果没有换行符,vim 只会键入命令并等待您手动按下 Enter。

然后,您可以像这样在文件上执行脚本:

vim -s vim-indent.txt your_file.js

结果是 Vim 会打开文件your_file.js并“按下” 中记录的所有键vim-indent.txt,其结果是应用缩进、写入文件并退出。

您可以使用以下命令对整个文件树自动执行此命令find

find [path/to/your/directory] -type f -name '*.js' -exec vim -s vim-indent.txt "{}" \;

请注意,强烈建议您复制整个目录,对副本进行操作并检查是否喜欢结果。

相关内容