perltidy执行缩进规则前能否先移除所有行首空白字符?
实现方案
这个需求可以直接通过perltidy自带参数实现,不需要提前手动处理代码。
你需要用的参数是 -ils(全称为 --ignore-leading-space),作用是完全忽略原代码的行首缩进基准,直接按照规则重新生成所有行的缩进,刚好符合你「先清除所有行首空白左对齐,再应用缩进规则」的要求。
你之前尝试的 -dws 参数作用是删除行内多余的空格,不涉及行首缩进基准的重置,因此不会生效。
用法示例
直接对目标文件执行命令:
perltidy -ils test.pl
处理你的示例代码后,输出结果如下:
use Data::Dump q[pp]; sub something{ return 2 + 2; }
如果需要长期生效,可以把 ignore-leading-space = 1 写入你的.perltidyrc 配置文件,后续执行perltidy时会自动应用该规则。
内容的提问来源于stack exchange,提问作者sail0r
相关产品推荐
相关产品推荐

