Symfony Language Tools adds Symfony-aware completion, hover, navigation, references, diagnostics, code actions, rename support and code lenses to your editor. It works alongside a general PHP language server.
Features cover routing, dependency injection, Twig, translations, environment variables, bundle configuration, Messenger, events, Security, forms, validation, serializer metadata, AssetMapper, Stimulus, Live Components and Doctrine. See the supported integrations for details.
Install the self-contained Symfony Language Tools extension from the Visual Studio Marketplace:
code --install-extension symfony.language-toolsAdd --pre-release to install a version with a prerelease suffix. See the
Visual Studio Code guide for configuration and
troubleshooting.
Install symfony-lsp from a standalone release or with Mason when available,
then enable the nvim-lspconfig configuration:
vim.lsp.enable('symfony_lsp')See the Neovim guide for installation, workspace trust, configuration and troubleshooting.
Install the Symfony Language Tools extension from Zed's Extensions page. The extension downloads the latest stable server automatically and runs alongside a general PHP language server on Linux and macOS. Windows is not supported.
See the Zed guide for installation, workspace trust, configuration and troubleshooting.
Install symfony-lsp from a standalone release, then configure it as a custom
language server. OpenCode can use Symfony-aware diagnostics and navigation while
its coding agent works on the project.
See the OpenCode guide for configuration, workspace trust, supported features and platform limitations.
Download the archive for your platform from
GitHub Releases. Extract
the self-contained symfony-lsp language server. On Unix, verify the server
before configuring your Language Server Protocol client:
./symfony-lsp --versionSee the standalone installation guide for supported platforms, checksum verification and source installation.
Symfony Language Tools supports maintained Symfony versions listed in Symfony's release metadata. Runtime indexing requires the application's Composer dependencies to be installed and a PHP command compatible with its Symfony version.
- Supported Symfony integrations
- Visual Studio Code guide
- Neovim guide
- Zed guide
- OpenCode guide
- Standalone server guide
- Changelog
This repository uses an issue-first contribution model and does not accept external pull requests. Read the contribution guide before reporting a bug or requesting a feature. If you use an agent, point it to the guide and ask it to help prepare the issue using whatever context is most relevant to your setup, configuration, and use case.
Read the security policy to report a potential vulnerability privately.
Symfony Language Tools is available under the MIT License. Distributions also include the applicable third-party notices and license texts.