Я использую 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>
В то время как автосохранение выполняется, иногда я получаю сообщение об ошибке о конфликте между изменениями в памяти и на диске.
Как я могу решить эту проблему?
Это происходит потому, что PHP CS Fixer изменяет файл, как говорит @LazyOne, но у вас есть пустое значение «Выходные пути для обновления», поэтому IDE не может знать об этих изменениях.
Установите значение «Выходные пути для обновления» в $FileName$
— так же, как в аргументах — чтобы PhpStorm знал об изменениях (это зависит от значения «Рабочий каталог», которое было установлено в других параметрах — если оно установлено в $ FileDir $, то вам не нужно упоминать его в пути для обновления).
Других решений пока нет …