我该如何在单个操作中对工作区中的所有文件使用VS Code的将缩进转换为空格或将缩进转换为制表符命令,而不是针对每个文件使用该命令?
我该如何在单个操作中对工作区中的所有文件使用VS Code的将缩进转换为空格或将缩进转换为制表符命令,而不是针对每个文件使用该命令?
git ls-files | command grep -E '*.ts$' | awk '{print "expand --tabs=4 --first-only", $0, " > /tmp/e; mv /tmp/e ", $0}' | sh
。这个命令会列出当前工作目录中Git仓库中跟踪的所有文件,然后过滤出扩展名为.ts
的文件,并使用awk
和expand
命令将制表符开头的缩进替换为指定数量的空格。
要从空格转换为制表符,请使用unexpand
命令。
如果你不是在使用Git仓库,可以将git ls-files
替换为find -type f
(git ls-files
的优点是它不会触及未被跟踪的文件)。
只需根据需要更改grep过滤器中的正则表达式即可。
--tabs
参数更改为与您的缩进所需的空格数相对应的unexpand
命令即可。
editor.action.indentationToTabs
或editor.action.indentationToSpaces
命令)。我从这个问答中找到了这个方法:如何在VS Code中执行跨多个文件的命令?。