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.
Download the archive for your platform from
GitHub Releases. Extract
it and keep the symfony-lsp language server and
symfony-lsp-tree-sitter sidecar in the same directory. 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
- Standalone server guide
- Changelog
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.