Symfonykd Extension Features
Status: This extension is currently in pre-release. Expect active iteration, rapid changes, and occasional breaking adjustments while core workflows stabilize.
What Symfonykd Helps You Do
Symfonykd is designed to bring common Symfony workflows closer to the editor so developers can inspect project data, navigate faster, and run framework tasks without leaving VS Code.
Current feature areas include:
- Symfony project exploration inside the activity bar
- Profiler history access and profile opening flows
- Symfony console command execution
- Twig language support in the editor
- Symfony-focused chat commands
- Semantic token enhancements for Twig-related editing
Symfonykd adds a dedicated Symfony section to the VS Code activity bar.
Available views
| User-facing area |
What it does |
| Symfony |
Opens the Symfony workspace area in the activity bar. |
| Profiler |
Shows profiler history and related actions. |
| Project Tree |
Shows a Symfony-oriented project tree for quick exploration. |
Profiler Features
Symfonykd includes tools for working with Symfony profiler sessions directly from VS Code.
Users can:
- Start the profiler proxy
- Stop the profiler proxy
- Refresh profiler history
- Clear stored profiler history
- Open a selected profile
- Open the latest captured profile
Available actions
| Label shown in VS Code |
What users can do |
| Start Profiler Proxy |
Begin listening for profiler data through the local proxy. |
| Stop Profiler Proxy |
Stop the running profiler proxy. |
| Refresh History |
Reload the profiler list. |
| Clear History |
Remove saved profiler entries from the history view. |
| Open Profile |
Open a selected profiler entry. |
| Open Last Profile |
Jump directly to the latest available profile. |
Profiler view actions
The Profiler view includes toolbar actions for starting, stopping, refreshing, and clearing history. It also includes an inline action to open an individual profile entry.
Project Tree Features
Symfonykd provides a project tree focused on Symfony development so users can inspect relevant project structure from a Symfony perspective instead of relying only on the generic file explorer.
The Project Tree is designed as a Symfony-aware navigation surface. Instead of exposing only folders and files, it surfaces framework concepts and lets users jump from those concepts to the related source or configuration files.
Users can browse:
- Environment variables from dotenv sources
- Symfony parameters and their resolved values
- Bound service arguments configured in the container
- System configuration and configuration files
- Routes grouped by path category
- Services grouped by root namespace
- Twig components and template files
- Nelmio-related API model mappings when available
What users can inspect
| Area |
What users can see |
What users can open |
| Dotenv |
Environment variable entries exposed to the project tree |
Variable inspection inside the tree |
| Parameters |
Parameter names, values, types, and nested object or array data |
Related configuration files when source locations are available |
| Bound Arguments |
Container-bound arguments and configured values |
Related configuration files when source locations are available |
| Configuration |
System configuration entries and discovered configuration files |
Underlying configuration files |
| Routes |
Route names, HTTP methods, paths, controllers, defaults, requirements, and options |
Controller files when route source information is available |
| Services |
Services grouped by namespace, including id, class, visibility, synthetic status, and autowiring-related presentation |
PHP class files and service configuration files |
| Twig |
Twig components and template groups |
Component PHP classes and template files |
| Nelmio |
Alternative model names, aliases, PHP types, groups, and areas |
Config files and related PHP classes |
Navigation behavior
The Project Tree is not only descriptive. Many items are clickable and open the exact source behind the entry, including:
- Parameter definitions in configuration files
- Bound argument definitions in configuration files
- Service classes and service configuration entries
- Route controller files
- Configuration files for bundles and application config
- Twig component PHP classes and template files
- Nelmio model configuration and PHP classes
When line information is available, Symfonykd opens the file at the relevant location instead of only opening the file at the top.
To keep larger projects easier to scan, the Project Tree applies Symfony-aware grouping:
- Routes are grouped by the first static segment of the route path
- Services are grouped by root namespace
- Configuration is split into system configuration and configuration files
- Twig content is split into components and templates
This makes the Project Tree useful as both a discovery tool and a shortcut into the parts of a Symfony project that developers inspect most often.
Available action
| Label shown in VS Code |
What users can do |
| Refresh Project Tree |
Reload the Symfony project tree when project metadata changes. |
Current scope notes
- The Project Tree currently exposes Symfony configuration, routing, services, Twig, dotenv, parameter, and Nelmio-focused data.
- The structure already supports deep navigation into files and definitions, which makes it more than a static overview panel.
- A dedicated PHP-focused tree section does not appear to be enabled yet, so PHP-specific tree browsing is not documented as a current feature.
Console Workflow
Symfonykd includes a command for running Symfony console actions from within VS Code.
| Label shown in VS Code |
What users can do |
| Execute Console Command |
Run Symfony console commands without leaving the editor. |
Twig Editing And Navigation
Symfonykd adds Twig-specific language support so Twig templates behave more like a first-class editing experience in VS Code.
Current Twig support includes:
- Registered Twig language support for
.twig and .html.twig files
- Twig-aware editor configuration
- Twig grammar support for standalone Twig and HTML + Twig templates
- Embedded language handling for HTML, Twig, JavaScript, JSON, and CSS inside Twig templates
- A navigation command for jumping to resolved Twig-related locations
Available action
| Label shown in VS Code |
What users can do |
| Go to twig location |
Navigate to a resolved location related to a Twig reference. |
Twig language registration
| Property |
Value |
| Aliases |
HTML (Twig), twig |
| File extensions |
.twig, .html.twig |
Twig grammar coverage
| Template type |
Purpose |
| Twig |
Base Twig syntax support |
| HTML + Twig |
HTML templates with embedded Twig support |
Symfony Chat Assistant
Symfonykd includes a sticky Symfony Assistant chat entry in VS Code.
This gives users a Symfony-oriented chat entry point inside VS Code for quick project inspection tasks.
Supported chat commands
| Chat command |
What users can ask for |
status |
Project status and counts |
routes |
Routes discovered in the project |
services |
Services discovered in the project |
parameters |
Project parameters |
bundles |
Registered bundles |
controllers |
Controllers in the project |
templates |
Twig templates in the project |
make |
Creation of Symfony components such as controllers, entities, and forms |
Configuration
Symfonykd exposes settings so users can adapt the extension to local project structure and profiler setup.
| Setting |
Default |
What it controls |
symfonykd.projectRoot |
${workspaceFolder} |
Root path of the Symfony project |
symfonykd.projectConfigurationsPath |
config |
Relative path to Symfony configuration files |
symfonykd.binaryPath |
`` |
Optional Symfony CLI path; empty enables auto-detection |
symfonykd.consolePath |
bin/console |
Relative path to the Symfony console entry point |
symfonykd.env |
dev |
Environment used for Symfony debug commands |
symfonykd.profiler.baseUrl |
http://localhost:8000 |
Base application URL used for profiler access |
symfonykd.profiler.proxyPort |
8001 |
Local port used by the profiler proxy |