PHP CS Fixer File Watcher вызывает конфликт кэша файлов в PHPStorm

Я использую File Watcher, определенный как этот

Вот мой 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>

Когда выполняется автосохранение, иногда я получаю сообщение об ошибке о конфликте между изменениями в памяти и на диске.

Как я могу решить эту проблему?

1 ответ

Решение

Это происходит потому, что PHP CS Fixer изменяет файл, как говорит @LazyOne, но у вас есть пустое значение "Выходные пути для обновления", поэтому IDE не может знать об этих изменениях.

Установите значение "Выходные пути для обновления" в $FileName$ - так же, как в аргументах - чтобы PhpStorm знал об изменениях (это зависит от значения "Рабочий каталог", которое было установлено в других параметрах - если оно установлено в $FileDir$, то вам не нужно упоминать его в пути для обновления).

Другие вопросы по тегам