Skip to content

About

Official Symfony language tools for VS Code, Zed, Neovim, and other editors

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

165 stars

Watchers

4 watching

Forks

Repository files navigation

Symfony Language Tools

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:

See the supported integrations for what it knows about Symfony.

Installation

Visual Studio Code

Install the self-contained extension from the Visual Studio Marketplace:

code --install-extension symfony.language-tools

Add --pre-release for prerelease versions. VSCodium users can install the matching .vsix from GitHub Releases. See the VS Code guide.

Neovim

Install symfony-lsp from a release or with Mason, then enable it:

vim.lsp.enable('symfony_lsp')

See the Neovim guide.

Zed

The extension isn't in Zed's registry yet. Install it from source by following the Zed guide. Linux and Apple Silicon macOS only.

OpenCode

Install symfony-lsp, then declare it as a custom language server so the coding agent gets Symfony diagnostics and navigation. See the OpenCode guide.

Standalone server

Download the archive for your platform from GitHub Releases, verify it against SHA256SUMS and extract the self-contained symfony-lsp executable:

./symfony-lsp --version

See the installation guide for supported platforms and building from source.

Continuous Integration

Check saved files without an editor:

symfony-lsp check --format=github

Symfony 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.

Requirements

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.

Tested with Real Applications

Symfony Language Tools is continuously tested with Kimai, Mautic, Sulu Demo, Sulu Skeleton, Sylius, Shopware, Pimcore Skeleton and Symfony Demo across supported Symfony versions.

Documentation

Contributing

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.

Security

Read the security policy to report a potential vulnerability privately.

License

Symfony Language Tools is available under the MIT License. Distributions also include the applicable third-party notices and license texts.

About

Official Symfony language tools for VS Code, Zed, Neovim, and other editors

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

165 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages