Symfony Language Tools makes your editor understand Symfony: route names, service IDs, template names, translation keys, environment variables, bundle configuration and more get completion, hover, navigation, references, rename and diagnostics. It works alongside a general PHP language server.
Use it two ways:
- in your editor, while you write code;
- on the command line, to check a project in CI or before a commit.
See the supported integrations for what it knows about Symfony.
Install the self-contained extension from the Visual Studio Marketplace:
code --install-extension symfony.language-toolsAdd --pre-release for prerelease versions. VSCodium users can install the
matching .vsix from
GitHub Releases. See the
VS Code guide.
Install symfony-lsp from a release or with Mason, then enable it:
vim.lsp.enable('symfony_lsp')See the Neovim guide.
The extension isn't in Zed's registry yet. Install it from source by following the Zed guide. Linux and Apple Silicon macOS only.
Install symfony-lsp, then declare it as a custom language server so the
coding agent gets Symfony diagnostics and navigation. See the
OpenCode guide.
Download the archive for your platform from
GitHub Releases, verify
it against SHA256SUMS and extract the self-contained symfony-lsp
executable:
./symfony-lsp --versionSee the installation guide for supported platforms and building from source.
Check saved files without an editor:
symfony-lsp check --format=githubSymfony CLI can manage the executable for you with symfony lsp:check. The
checker reports in human, JSON, GitHub Actions, GitLab Code Quality and SARIF
formats, blocks on the codes you choose and accepts existing findings through
a baseline. It runs your application unless you pass --source-only. See the
command-line guide.
An application on a maintained Symfony version, with its Composer dependencies installed and a PHP command compatible with it. That command can run in a container; see Docker support.
Symfony Language Tools is continuously tested with Kimai, Mautic, Sulu Demo, Sulu Skeleton, Sylius, Shopware, Pimcore Skeleton and Symfony Demo across supported Symfony versions.
- Installation
- Using it in your editor
- Checking a project from the command line
- Supported Symfony integrations
- Project configuration
- Docker support
- 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.