Skip to main content

How it works

When you click an element in the overlay, the bundle generates a URL using Symfony’s framework.ide configuration key. Symfony substitutes %%f with the absolute file path and %%l with the line number, then sends the resulting URL to the browser. The browser passes this URL to the OS, which routes it to the registered IDE URL handler — typically installed automatically by the IDE.

Configuration

Add the ide key to your dev framework config:
# config/packages/dev/framework.yaml
framework:
    ide: 'phpstorm://open?file=%%f&line=%%l'
Replace the URL string with the one matching your IDE from the table below.
Add this only to config/packages/dev/framework.yaml, not to the production config. The IDE URL is irrelevant in production and the inspector should never be active there.

IDE URL strings

ide: 'phpstorm://open?file=%%f&line=%%l'
The JetBrains Toolbox or the PhpStorm installer registers the phpstorm:// handler at the OS level.

OS-level URL handler registration

For a click in the browser to open your IDE, the OS must know which application handles the custom URL scheme (phpstorm://, vscode://, etc.).
  • macOS and Windows — The IDE installer handles this automatically.
  • Linux — Varies by distribution and desktop environment. Most IDE installers register the handler, but if clicking does nothing, consult your IDE’s Linux installation documentation.
Only one application can be registered per URL scheme at the OS level. If you have multiple JetBrains IDEs installed via Toolbox, the handler is usually pointed at the most recently used one.