Repository navigation
Releases
PHPlumb 0.6.0
🤖 This was written by an AI agent on behalf of @lussoluca (claude-code/claude-opus-5-5).
PHPlumb 0.6.0 fixes 62 issues across the engine and the Drupal and Symfony features.
- Faster on large projects. On a large Drupal project, a warm start drops from about 5 s to 1.5 s, and an update of 1,000 files from 7 s to 0.25 s.
- More types resolve. Array shapes, method-level templates, conditional types, callbacks of generic methods, invokable objects, enum cases and
match (true)narrowing. - Drupal. Symlinked modules belong to the project that links them, and annotations in files outside the index no longer open a wrong class.
- Symfony routes and templates. Routes from class constants, aliases, localized paths, PHP and XML route files and bundles, and templates from bundles and YAML configuration, navigate.
- Messenger. Envelopes,
HandleTrait::handle(), Scheduler messages, wildcard and YAML-tagged handlers, interface-typed messages and handlers limited to one bus. - Services and parameters. Aliases,
#[Autowire]forms, imported files, PHP and XML configuration and bundle configuration lead to their definitions. - Doctrine. Repositories from mapped superclasses and annotations, YAML mappings, association attributes and
getRepository('Alias:Entity'). - Diagnostics. Fewer false alarms from kernel overrides, custom Twig loaders and bundle parameters, and more names checked: XML and logout routes, template lists and interpolated names, and calls outside the
tryblocks that catch their error.
Install the .vsix for your platform with code --install-extension <file>. Requires VS Code 1.140 or later on macOS (Apple silicon) or Linux (x64). The Zed extension installs this release on its next start.
PHPlumb 0.5.0
🤖 This was written by an AI agent on behalf of @lussoluca (claude-code/claude-opus-5-5).
PHPlumb 0.5.0 adds a Zed extension, contributed by @giuseppe-esposito-87 in #73.
- Runs the engine for PHP, YAML and Twig files, including Drupal YAML to PHP navigation.
- Downloads the latest release on first start, and keeps the installed one when GitHub can't be reached.
- Takes the same options as the VS Code settings, under
lsp.phplumb.initialization_options. - Leaves out type hierarchy and Doctrine XML.
The extension is not in Zed's registry yet. Install it from the editors/zed folder with zed: install dev extension, as the Zed extension README describes.
The engine and the VS Code extension are unchanged from 0.4.0. Install the .vsix for your platform with code --install-extension <file>. Requires VS Code 1.140 or later on macOS (Apple silicon) or Linux (x64).
PHPlumb 0.4.0
🤖 This was written by an AI agent on behalf of @lussoluca (claude-code/claude-opus-5-5).
PHPlumb 0.4.0 adds Symfony support and follows code through PHP's built-in symbols, enums and generic types.
Symfony
The module turns on when the project's composer.lock requires symfony/framework-bundle. The new phplumb.frameworks.symfony setting forces it on or off.
- Routes. A route name in
redirectToRoute(),generateUrl()or Twigpath()andurl()opens its controller or its YAML route. - Templates. A template name in
render(),#[Template]or a Twig tag opens the Twig file, includingtwig.pathsnamespaces. - Messenger.
dispatch()lists the handlers of the message, and a handler lists the places that dispatch its message. - Parameters and YAML. A parameter name in
getParameter(),#[Autowire]or%x%opens its definition. Classes and@serviceids inconfig/YAML open theirs. - Doctrine.
*.orm.xmlmappings link to their classes and properties, andgetRepository(X::class)is typed as the entity's repository. - Broken references. Route, template and parameter names defined nowhere are flagged in PHP, Twig and YAML. A name stays silent when a source that could define it cannot be read.
PHP
- Built-in symbols. Functions, classes and constants such as
array_map()andDateTimeresolve from phpstorm stubs bundled with the extension. - Enums. Enum cases are typed as their enum, and enums get their implicit
UnitEnumandBackedEnuminterfaces. - Generics. PHPDoc templates and element types carry through
foreach, array access, array callbacks and generic classes.
Changed
- Each framework module reads only the folder of its own
composer.lock. A Drupal codebase inside a Symfony application gets each module in its own folder.
Install the .vsix for your platform with code --install-extension <file>. Requires VS Code 1.140 or later on macOS (Apple silicon) or Linux (x64).
PHPlumb 0.3.0
PHPlumb 0.3.0 adds a project folder setting and finds Drupal sites kept in a subfolder.
phplumb.rootnames the folder of the PHP project, relative to the workspace folder, such assrc/drupal. Only that folder is indexed.phplumb.excludeglobs and Drupal detection start from it.- Drupal detection in
automode also finds acomposer.lockthat requiresdrupal/coreup to three directories below the workspace folder. Drupal navigation, including classes in.services.ymland.routing.ymlfiles, then works for a site in a subfolder.
Install the .vsix for your platform with code --install-extension <file>. Requires VS Code 1.140 or later on macOS (Apple silicon) or Linux (x64).
PHPlumb 0.2.0
PHPlumb 0.2.0 adds docblock navigation and limits Drupal behavior to Drupal projects.
- Docblock navigation: class names,
@seetargets and annotation names in docblocks lead to their declarations. - Drupal annotations resolve as plugin discovery reads them. Plugins whose annotation shares its short name with a nearby class are now found.
- Outside Drupal projects,
coreandcontribdirectories count as project code and get diagnostics. Drupal file extensions such as.moduleand.incare no longer indexed or opened as PHP. - In Drupal projects, VS Code opens
.module,.inc,.install,.theme,.profileand.enginefiles as PHP once the server has started.
Install the .vsix for your platform with code --install-extension <file>. Requires VS Code 1.140 or later on macOS (Apple silicon) or Linux (x64).
PHPlumb 0.1.0
First release of PHPlumb: fast code navigation in VS Code for reviewing PHP that AI agents write.
- Core PHP navigation: definition, implementations, references, call and type hierarchy, hover, workspace symbols and outline.
- Broken reference diagnostics for classes, functions, methods and constants that exist nowhere.
- Drupal: services, entities, hooks, plugins, routes and YAML navigation, plus diagnostics for unknown service, route and plugin ids.
Install the .vsix for your platform with code --install-extension <file>. Requires VS Code 1.140 or later on macOS (Apple silicon) or Linux (x64).