Skip to content

Repository files navigation

Symfony Language Tools

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.

Installation

Visual Studio Code

Install the self-contained Symfony Language Tools extension from the Visual Studio Marketplace:

code --install-extension symfony.language-tools

Add --pre-release to install a version with a prerelease suffix. See the Visual Studio Code guide for configuration and troubleshooting.

Neovim

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.

Zed

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.

OpenCode

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.

Standalone Server

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 --version

See the standalone installation guide for supported platforms, checksum verification and source installation.

Requirements

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.

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

75 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages