Custom protocol handler for the PhpStorm
JavaScript Shell
Switch branches/tags
Nothing to show
Clone or download
aik099 Merge pull request #28 from jovendigital/master
total compatibility x64 windows
Latest commit 5c3a27e Jan 11, 2018


This app allows to use phpstorm:// protocol to open a file in a PhpStorm IDE the same way as it's done in TextMate, (section 21.2).

NOTE: Built-in idea:// and phpstorm:// protocols are supported in PhpStorm 8 EAP 138.190+ according to this comment.

Following string must be specified as an editor in your app:


Alternative syntax is supported for cross-platform compatibility with PhPStorm 8+ (Mac version)


If something doesn't work, then feel free to submit an issue on GitHub.

More reading about protocol handlers:

Installing on Linux

A package for Arch Linux (Arch, Manjaro, Antergos, etc.) is available from the AUR. If you're using other Linux distribution then follow these instructions:

  1. clone repository
  2. go to cloned folder
  3. read installation instructions in
  4. delete cloned folder

Installing on Mac

Please follow instructions from the this page if the PhpStorm won't work as expected on your OS X version. PhpStorm 8+ (Mac version only) has built-in url handler and phpstorm://open?file=%f&line=%l url needs to be used instead (see

  1. clone this repository
  2. go to cloned folder
  3. copy folder PhpStorm to /Applications/ folder
  4. delete cloned folder

Installing on Windows

  1. clone this repository
  2. go to cloned folder
  3. copy folder PhpStorm Protocol (Win) to C:\Program Files\ folder
  4. double click on C:\Program Files\PhpStorm Protocol (Win)\run_editor.reg file
  5. agree to whatever Registry Editor asks you
  6. update settings at C:\Program Files\PhpStorm Protocol (Win)\run_editor.js file, because each PhpStorm version is installed into it's own sub-folder!
  7. delete cloned folder

Working under another path?

You can make use of the [project alias settings](/PhpStorm Protocol (Win)/run_editor.js#L11-L14) in case you are working under a network share or Vagrant.