Skip to content

Repository files navigation

Overview

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:

phpstorm://open?url=file://%f&line=%l

The Windows version also supports opening a directory as project and files without specified line.

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

phpstorm://open?file=%f&line=%l

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

More reading about protocol handlers: http://pla.nette.org/en/how-open-files-in-ide-from-debugger.

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 https://github.com/sanduhrs/phpstorm-url-handler repository
  2. go to cloned folder
  3. read installation instructions in README.md
  4. delete cloned folder

Installing on Mac

Please follow instructions from the this page if the PhpStorm Protocol.app 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 https://youtrack.jetbrains.com/issue/IDEA-65879).

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

Installing on Windows

Compatibility

Works with a direct (standalone) PhpStorm install, or with PhpStorm installed/managed through JetBrains Toolbox — legacy Toolbox 1.x and current Toolbox 2.0+/3.x are both supported, including selecting a specific installed channel/version when more than one is present.

Tested with Toolbox 1.28.2, 2.9.1, and 3.6.2, and PhpStorm 2025.2, 2026.1.4, and 2026.2.0.1, on Windows 11 (ARM).

Downloading & Installation

  1. clone this repository
  2. go to cloned folder
  3. copy folder PhpStorm Protocol (Win) to C:\Program Files\ folder
  4. delete cloned folder
  5. double-click on C:\Program Files\PhpStorm Protocol (Win)\run_editor.reg file
  6. agree to whatever Registry Editor asks you

Uninstallation

  1. double-click on C:\Program Files\PhpStorm Protocol (Win)\uninstall.reg file
  2. agree to whatever Registry Editor asks you

Configuration

When using JetBrains ToolBox

  1. enable shell scripts in the JetBrains Toolbox configuration
  2. update settings at C:\Program Files\PhpStorm Protocol (Win)\run_editor.js file:

    run_editor.js:

    // Set to PhpStorm shell script (filename ends with "*.cmd") from the "C:\Users\%username%\AppData\Local\JetBrains\Toolbox\scripts" directory.
    toolbox_shell_script: 'PhpStorm.cmd'

    updated run_editor.js

     // Set to PhpStorm shell script (filename ends with "*.cmd") from the "C:\Users\%username%\AppData\Local\JetBrains\Toolbox\scripts" directory.
     toolbox_shell_script: 'pstorm.cmd'

When not using JetBrains ToolBox

  1. 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!):

    run_editor.js:

    // Set to folder name, where PhpStorm was installed to (e.g. 'PhpStorm')
    folder_name: '<phpstorm_folder_name>',

    updated run_editor.js

    // Set to folder name, where PhpStorm was installed to (e.g. 'PhpStorm')
    folder_name: 'PhpStorm 2017.1.4',
  • On some systems the installed phpstorm64.exe/phpstorm.exe doesn't match the x64 setting's assumed Program Files/Program Files (x86) folder — e.g. #56 reports a 64-bit phpstorm64.exe installed under Program Files (x86). If the executable isn't found, check where PhpStorm actually installed and hand-adjust the programFilesFolder/ executableName values built in getPhpStormCommandPath() (run_editor.js) to match, rather than relying on the x64 setting alone.

Working under another path?

  • You can make use of the project alias settings in case you are working under a network share or Vagrant.

  • If you're using JetBrains Toolbox, no additional settings need to be configured — PhpStorm is detected automatically.

About

Custom protocol handler for the PhpStorm

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages