Rector如何避免格式化源代码



当运行简单的Rector规则NormalizeNamespaceByPSR4ComposerAutoloadFileSystemRector时,源代码将被完全格式化,用于美化源代码的换行符和空格将被删除。Rector如何避免这种情况?

$services->set(NormalizeNamespaceByPSR4ComposerAutoloadFileSystemRector::class);

是rector.php中唯一的服务配置。

校长说"![注意]文件"将添加:";因此,根据规则,它会创建一个新文件(实际上是同一个文件…(。我认为这对Rector来说是新的,因为规则添加了命名空间。

校长对此没有影响;重新格式化是因为PHP代码解析器的工作方式。

Rector使用来自nikic的PHP Parser
它生成一个令牌树(AST-抽象语法树(,并将重新组装它,然后进行转换
不幸的是,解析器没有(iirc,它不能(跟踪空白。

我不确定是否有任何方法可以防止这种情况或重建原始间距
请尝试关注相关的GitHub问题。

最新更新