PHP CS Fixer 在 PhpStorm 中按长度排序使用语句抛出错误

PHP CS Fixer order use statements by length in PhpStorm throwing error

所以最近我看到 PHP 社区中的许多开发人员按长度对他们的 use 语句进行排序。我一直想知道如何在 PhpStorm 中执行此操作。我想我终于找到了解决方案,但我想我在这里做错了,它不起作用。

所以一个名为 PHP-CS-Fixer 的工具有一个选项可以做到这一点。我知道我可以使用此工具与 PhpStorm 使用 Tools -> External Tools 并单击 + 符号然后配置它。

注意:我像这样使用 Composer 提取了该工具 composer global require friendsofphp/php-cs-fixer

所以我在 PhpStorm 中对外部工具的配置如下所示:

但是当我 运行 它时,我看到了这个错误:

The rules contain unknown fixers: "'{ordered_imports{sort_algorithm:length}}'".

所以我想我在配置它时做错了什么,但似乎无法弄清楚是什么。有人知道吗?

参数看起来有效,如果从 CLI 运行以下命令,它可以完美运行,因此确实是将此配置从 IDE 传递到 CLI。

php-cs-fixer fix --rules='{"ordered_imports": {"sort_algorithm":"length"}}'

让我提出如何以不同的方式进行操作。 通常,最佳做法是将配置放入配置文件,而不是放入 IDE 设置,这样配置文件可以与存储库一起共享。这里的例子: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/2.12/.php_cs.dist

此外,您不需要为 PHPStorm 配置外部工具。它现在内置了对 PHP CS Fixer 的支持,请在此处查看博客 post:https://blog.jetbrains.com/phpstorm/2018/09/phpstorm-2018-3-early-access-program-is-open/