所以最近我看到PHP社区中的许多开发人员按长度对他们的使用语句进行排序。我一直想知道如何在PhpStorm中做到这一点。我想我终于找到了解决方案,但我想我在这里做错了什么,它不起作用。
因此,一个名为PHP-CS-Fixer的工具可以选择执行此操作。我知道我可以在PhpStorm中使用此工具,使用Tools -> External Tools
并单击+
符号,然后对其进行配置。
注意:我使用作曲家拉动了工具,就像这样composer global require friendsofphp/php-cs-fixer
所以我在 PhpStorm 中对外部工具的配置如下所示:
- 节目:
/Users/rohan0793/.composer/vendor/bin/php-cs-fixer
- 参数:
fix --rules='{"ordered_imports": {"sort_algorithm":"length"}}' $FileDir$/$FileName$
- 工作目录:
$ProjectFileDir$
但是当我运行它时,我看到了这个错误:
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的支持,请参阅此处的博客文章:https://blog.jetbrains.com/phpstorm/2018/09/phpstorm-2018-3-early-access-program-is-open/