2017-03-07 4 views
0

ノードパッケージマネージャーからMJMLをグローバルにインストールし、PhpStormにmjmlファイルタイプを作成し、以下の設定でMJMLファイル用の新しいファイルウォッチャーを追加しました。それは見て、出力ファイルを生成しませんいくつかの理由からPhpStormファイルウォッチャーは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 

+0

ファイルウォッチャーは、ファイルの保存イベントで実行されますに--watchを渡さないようにまたは自動)またはファイル変更の検出(IDEの外部で修正されたファイルなど)。 1)File Watcherの設定で「Show Console:Always」を選択した場合、それはまったく表示されますか? 2)File Watchersを強制的に再実行すると実行されますか?(http://stackoverflow.com/a/20012655/783119)3)そのファイルは、実際にユーザー作成のMJMLファイルタイプに適合していますか? 4)いくつかのスクリーンショットは歓迎されます – LazyOne

+0

*(参考のために)* PhpStormフォーラムで同じ質問:https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000117404-PhpStorm-file- watcher-does-not-for-MJML-files – LazyOne

答えて

2

だけ確認 - ウォッチャー

enter image description here

は、出力ファイルを生成しません。しかし、生成されたファイルを表示するにはFile | Synchronizeを使用してプロジェクトを手動でリフレッシュする必要があり、ウォッチャーは完了しません。

これは予想される動作です。PhpStormは、仮想ファイルシステムを更新するためにツールウォッチャーとして実行されたツールの終了コードを待機します。 --watchオプションを指定して実行されるMJMLは、ファイルを作成するまで終了コードを返しません.VFSは自動同期されず、ウォッチャーは実行され続けます。だから、解決策は--watchの代わりに-rを使用することです:あなたはすでにPHPStormでウォッチャーとしてmjmlを登録している

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

、必要が(手動それ

+0

ありがとうございました!それは今働きます。 – forethought

+0

上記の解決策はMacでは動作しますが、Lubuntuでは動作しません。問題は、File WatcherがMjmlファイルタイプを設定していて、ファイルウォッチャーが起動していない場合です。 Anyを設定すると、HTMLファイルが開始され、生成されます。 – forethought

関連する問題