如何通过一次操作对工作区中的所有文件使用 VS Code 的 将缩进转换为空格 或 将缩进转换为制表符 命令,而不是对每个文件使用该命令?
如果您使用的是 UNIX 系统,则可以使用以下修改版本通过命令行执行此操作:
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 过滤器中的正则表达式更改为您需要的任何内容即可。
该命令用制表符替换前导的 4 个空格组。只需将
--tabs
参数更改为 unexpand
命令,并使用缩进的空格数即可。
如果您想要 VS Code 方式来执行此操作,您可以使用 rioV8 的扩展:Command on All Files (我与此扩展没有任何关系)(使用
editor.action.indentationToTabs
或 editor.action.indentationToSpaces
命令)。我从这个问答中发现了这一点:如何在 VS Code 中跨多个文件执行命令?.