# Symfony Plugin Other

**Other features** include various utilities and enhancements that don't fit into the main categories.

---

## IntelliJ Endpoints Tool Window Integration

**Feature ID:** `SymfonyEndpointProvider`  
**Date:** 2026-03-02  
**Feature Page:** [IntelliJ Endpoints Tool Window Integration](https://espend.de/phpstorm/plugin/symfony#symfony-endpoint-provider)  

Integrates Symfony routes with IntelliJ Ultimate's **Endpoints** tool window. Routes are displayed with HTTP methods, paths, and controller information.

---

## Find Usages for Symfony routes

**Feature ID:** `RouteFindUsagesHandler`  
**Date:** 2026-04-09  
**Feature Page:** [Find Usages for Symfony routes](https://espend.de/phpstorm/plugin/symfony#route-find-usages-handler)  

Runs IntelliJ's **Find Usages** on route declarations and returns PHP and Twig route references in one result view.

Twig route usages are indexed from `path()`, `url()`, route comparisons, and other route-aware Twig contexts, while PHP usages are filtered to real route references.

### Code Examples

```php
# Route declaration:
#[Route('/product/{id}', name: 'app_product_show')]
public function show(Product $product): Response
{
}
```

```twig
# Twig and PHP usages:
<a href="{{ path('app_product_show', {id: product.id}) }}">
    {{ product.name }}
</a>
```

---

## Find Usages for PHP symbols from Twig

**Feature ID:** `TwigFindUsagesHandlerFactory`  
**Date:** 2026-04-15  
**Feature Page:** [Find Usages for PHP symbols from Twig](https://espend.de/phpstorm/plugin/symfony#twig-find-usages-handler-factory)  

Runs **Find Usages** from Twig variables, properties, methods, functions, filters, constants, enum cases, and `@var` type declarations, then delegates to the resolved PHP target.

Usages are grouped as Twig usages so a PHP method or field search also shows property-style Twig shortcuts such as `product.name` and method calls such as `product.getName()`.

### Code Examples

```twig
# PHP member usages in Twig:
{# @var product \App\Entity\Product #}
{{ product.name }}
{{ product.getName() }}
```

```twig
# Twig extension and constant usages:
{{ product_number(product) }}
{{ product.sku|product_label }}
{{ constant('App\\Enum\\Status::ACTIVE') }}
```

---

## Find Usages for Twig Templates

**Feature ID:** `TwigTemplateReferencesSearchExecutor`  
**Date:** 2026-03-03  
**Feature Page:** [Find Usages for Twig Templates](https://espend.de/phpstorm/plugin/symfony#twig-template-references-search-executor)  

Use IntelliJ's **Find Usages** (Alt+F7) on any Twig template to see all references grouped by semantic type: extends, include, embed, import, from, form_theme, controller, and component.

### Code Examples

```
# extends:
{% extends 'base.html.twig' %}
```

```
# include:
{% include 'partials/nav.html.twig' %}
{{ include('partials/nav.html.twig') }}
{{ source('partials/nav.html.twig') }}
```

```
# embed:
{% embed 'layout.html.twig' %}
    {% block content %}Override{% endblock %}
{% endembed %}
```

```
# import / from:
{% import 'macros.html.twig' as macros %}
{% from 'macros.html.twig' import input as text_input %}
```

```
# form_theme:
{% form_theme form with 'form/div_layout.html.twig' %}
```

```
# controller:
return $this->render('home/index.html.twig');
return $this->renderView('home/index.html.twig');
```

```
# component:
{{ component('Alert', { type: 'success' }) }}
{% component Alert type='success' %}{% endcomponent %}
<twig:Alert type="success"></twig:Alert>
```

---

## Twig block() function template resolution

**Feature ID:** `TwigBlockFunctionTemplateResolution`  
**Date:** 2026-04-01  
**Feature Page:** [Twig block() function template resolution](https://espend.de/phpstorm/plugin/symfony#twig-block-function-template-resolution)  

Resolves template names passed to Twig's `block()` function and includes them in template navigation, move/rename handling, and template usage classification.

### Code Examples

```twig
# Template argument in block():
{{ block('teaser', 'partials/_teaser.html.twig') }}
```

---

## PHP attribute implicit usage detection

**Feature ID:** `SymfonyImplicitUsageProvider`  
**Date:** 2026-04-12  
**Feature Page:** [PHP attribute implicit usage detection](https://espend.de/phpstorm/plugin/symfony#symfony-implicit-usage-provider)  

Marks Symfony, Doctrine, and MCP attribute-driven classes and callback methods as used so IDE unused-declaration inspections do not flag framework entry points.

Covered attributes include commands, event listeners, message handlers, schedules, Twig components, Doctrine listeners, Doctrine lifecycle callbacks, validator callbacks, workflow listeners, autoconfigure tags, and MCP capabilities.

### Code Examples

```php
# Attribute-driven entry points:
<?php

#[AsCommand(name: 'app:sync')]
final class SyncCommand extends Command
{
    public function __invoke(): int {}
}

#[AsEventListener(event: KernelEvents::EXCEPTION, method: 'onKernelException')]
final class ExceptionListener
{
    public function onKernelException(): void {}
}

#[ORM\PrePersist]
public function updateTimestamps(): void {}
```

---

## AssetMapper: importmap function

---

## Controller shortcut: renderBlock

---

## Related template target

---

## Related method targets

---

## Symfony Console Command Completion in Terminal

**Feature ID:** `CommandNameTerminalCompletionContributor`  
**Date:** 2025-12-11  
**Feature Page:** [Symfony Console Command Completion in Terminal](https://espend.de/phpstorm/plugin/symfony#command-name-terminal-completion-contributor)  

Provides intelligent code completion for Symfony console commands directly in the integrated terminal. When typing `bin/console` or `console` commands, the plugin automatically suggests available commands, and for command options after the command name.

Supports completion for:

### Code Examples

```twig
# Example
bin/console NAME
```

---

