PHP CS Fixer File Watcher 导致 PHPStorm 中的文件缓存冲突

Łuk*_*ski 3 php phpstorm file-watcher php-cs-fixer

我使用定义为这样的文件观察器

在此输入图像描述

这是我的watchers.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<TaskOptions>
  <TaskOptions>
    <option name="arguments" value="fix $FileDir$/$FileName$ --verbose " />
    <option name="checkSyntaxErrors" value="false" />
    <option name="description" />
    <option name="exitCodeBehavior" value="ERROR" />
    <option name="fileExtension" value="php" />
    <option name="immediateSync" value="true" />
    <option name="name" value="PHP CS Fixer" />
    <option name="output" value="" />
    <option name="outputFilters">
      <array />
    </option>
    <option name="outputFromStdout" value="false" />
    <option name="program" value="/usr/local/bin/php-cs-fixer" />
    <option name="scopeName" value="Project Files" />
    <option name="trackOnlyRoot" value="false" />
    <option name="workingDir" value="$ProjectFileDir$" />
    <envs />
  </TaskOptions>
</TaskOptions>
Run Code Online (Sandbox Code Playgroud)

执行自动保存时,有时我会收到一条有关内存和磁盘更改之间冲突的错误消息。

在此输入图像描述

我该如何解决这个问题?

小智 5

发生这种情况是因为 PHP CS Fixer 修改了文件,正如 @LazyOne 所说,但“刷新的输出路径”值为空,因此 IDE 无法知道这些更改。

将“要刷新的输出路径”的值设置为$FileName$- 与参数中相同 - 以使 PhpStorm 知道更改(这取决于其他选项中设置的“工作目录”值 - 如果它设置为 $FileDir$那么您不需要在刷新路径中提及它)。