【发布时间】:2018-10-06 00:26:23
【问题描述】:
所以最近我看到 PHP 社区中的许多开发人员按长度排序他们的使用语句。我一直想知道如何在 PhpStorm 中做到这一点。我想我终于找到了解决方案,但我想我在这里做错了,它不起作用。
因此,名为PHP-CS-Fixer 的工具可以选择执行此操作。而且我知道我可以将这个工具与 PhpStorm 一起使用,使用 Tools -> External Tools 并单击 + 符号然后进行配置。
注意:我使用 Composer 提取工具,就像 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}}'".
所以我想我在配置它时在这里做错了,但似乎无法弄清楚是什么。有人知道吗?
【问题讨论】:
-
1) 在控制台中手动输入相同的命令是否可以正常执行? 2) 作为外部工具运行时运行的确切命令是什么? 3)论点的顺序? (不太可能,但在他们的示例中是
fix filename --rules...) 4)您是否尝试过 alt 选项——通过配置文件? -
所以 PHPStorm 正在运行:
...fix --rules='{ordered_imports: {sort_algorithm:length}}'...当我接受整个命令并在终端中运行它时,它给了我 JSON 无效错误,一旦我修复了 JSON 中的引号,它就会运行正好。所以我想我需要告诉 PHPStorm 考虑这些报价,我不知道该怎么做。 -
仅供参考:intellij-support.jetbrains.com/hc/en-us/community/posts/…。尝试
"\",您需要在其中获得"。我的意思是:fix --rules='{"\"ordered_imports"\": {"\"sort_algorithm"\":"\"length"\"}}' $FileDir$/$FileName$ -
是的,phpstorm 支持也说了同样的话,但是当我尝试这样做时,命令变成了
... --rules='{\"ordered_imports\":{\"sort_algorithm\":\"length\"}}' ...所以当我再次在终端中手动运行这个命令时,仍然是同样的无效 JSON 错误:( -
好的。那么
""呢?除此之外(如果您不希望使用中间 shell 脚本)只需向 Issue Tracker 提交一张新票,提供所有详细信息,以便开发人员/支持人员可以尝试准确复制。
标签: php phpstorm php-cs-fixer