I’ve started using PhpStorm for doing PHP development. So far, it’s been great. I find that I need to have significantly fewer programs and windows open, and that it automates a lot of the tasks I was doing manually.
Today, I puzzled out how to have PhpStorm invoke Grunt instead of running grunt watch in a terminal window:
- Navigate to Project Settings > File Watchers.
- Click + > Custom.
- Name: Grunt.
- Show console: Always.
- Deselect Immediate File Synchronization.
- File type: Any.
- Scope: Click … button.
- Click + and add a new scope – name it Grunt Watch, click OK.
- Expand this window.
- With your scope selected, browse in the file tree and select directories that Grunt would be watching and click Include Recursively.
- Select files that Grunt is outputting (such as minified CSS and JS files) that you included in the previous step and click Exclude (this prevents the resulting output file from endlessly re-triggering Grunt execution).
- Click OK.
- Program: (browse to grunt executable path).
- Working Directory: (browse to the directory that contains the Grunt file).
- Click OK to create the File Watcher.
- Click OK to exit the Preferences dialog.