PHP CS Fixer File Watcher 在 PHPStorm 中导致文件缓存冲突
PHP CS Fixer File Watcher causes File Cache Conflict in 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>
在执行 autosave 时,有时我会收到有关内存更改和磁盘更改之间冲突的错误消息。
我该如何解决这个问题?
发生这种情况是因为 PHP CS Fixer 修改了文件,正如@LazyOne 所说,但是 "Output paths to refresh" 的值为空,因此 IDE 无法知道这些更改。
将 "Output paths to refresh" 的值设置为 $FileName$
- 与参数相同 - 让 PhpStorm 知道更改(这取决于在其他中设置的 "Working directory" 值选项 - 如果它设置为 $FileDir$ 那么你不需要在刷新路径中提及它)。
我使用 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>
在执行 autosave 时,有时我会收到有关内存更改和磁盘更改之间冲突的错误消息。
我该如何解决这个问题?
发生这种情况是因为 PHP CS Fixer 修改了文件,正如@LazyOne 所说,但是 "Output paths to refresh" 的值为空,因此 IDE 无法知道这些更改。
将 "Output paths to refresh" 的值设置为 $FileName$
- 与参数相同 - 让 PhpStorm 知道更改(这取决于在其他中设置的 "Working directory" 值选项 - 如果它设置为 $FileDir$ 那么你不需要在刷新路径中提及它)。