PhpStorm文件监视程序不监视MJML文件

PhpStorm文件监视程序不监视MJML文件,phpstorm,file-watcher,Phpstorm,File Watcher,我已经从node package manager全局安装了MJML,然后在PhpStorm中创建了一个MJML文件类型,并使用以下设置为MJML文件添加了一个新的文件监视程序 Name: MJML Type: MJML from the dropdown Program: /usr/bin/mjml Argument: --watch $FileName$ -o $FileNameWithoutExtension$.html Working Directory: $FileDir$ PhpSt

我已经从node package manager全局安装了MJML,然后在PhpStorm中创建了一个MJML文件类型,并使用以下设置为MJML文件添加了一个新的文件监视程序

Name: MJML
Type: MJML from the dropdown
Program: /usr/bin/mjml
Argument: --watch $FileName$ -o $FileNameWithoutExtension$.html
Working Directory: $FileDir$
PhpStorm版本

PhpStorm 2016.3.2
Build #PS-163.10504.2, built on December 20, 2016
Licensed to PhpStorm Evaluator
Expiration date: April 3, 2017
JRE: 1.8.0_112-release-408-b6 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

由于某些原因,它不监视并生成输出文件

刚刚检查-观察者

生成输出文件。但是您需要使用
File | Synchronize
手动刷新项目以查看生成的文件,而watcher永远不会完成

这是预期的行为:PhpStorm等待作为文件监视程序运行的工具的退出代码,以便刷新虚拟文件系统。由于MJML run with
——watch
选项会一直运行,直到您杀死它,因此在文件生成完成时不会返回退出代码,因此VFS不会自动同步,并且watcher会一直运行。因此,解决方案是使用
-r
而不是
-watch

-r $FileName$ -o $FileNameWithoutExtension$.html

您已经在PHPStorm中将mjml注册为监视程序,无需将
--watch
传递给它

文件保存事件(手动或自动)或文件修改检测(例如,在IDE之外修改文件)时执行文件监视程序。1) 如果您选择在该文件监视程序设置中“showconsole:Always”,它会显示吗?2) 如果您强制重新运行文件监视程序,它会运行吗()3)该文件是否符合用户创建的MJML文件类型?4) PhpStorm论坛上也会问到同样的问题,欢迎使用一些屏幕截图(仅供参考):上述解决方案在Mac中有效,但在Lubuntu中无效。问题是,如果我在文件监视程序中设置了Mjml文件类型,则文件监视程序不会启动。如果我设置了任何值,它将启动并生成HTML文件。