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$, то вам не нужно упоминать его в пути для обновления).