EC-CUBE IntelliSense
A Visual Studio Code extension that provides rich code completion and IntelliSense for EC-CUBE 4.x development. Supports PHP entities, repositories, services, Twig templates, YAML configuration, and plugin development workflows.
Features
PHP Completion
- Entity completion: Auto-complete EC-CUBE core entities (
Product, Customer, Order, OrderItem, Cart, Category, and more) with their properties and methods.
- Repository completion: Suggests repository methods when using
$this->entityManager->getRepository(...). Automatically lists all entity classes from src/Eccube/Entity, app/Customize/Entity, and app/Plugin/*/Entity.
- Service completion: Type hints and completions for
CartService, PurchaseFlow, MailService, EccubeConfig, and other built-in services.
- Event name completion: Provides all available EC-CUBE event names inside
getSubscribedEvents() — including template events (Shopping/index.twig), controller events (eccube.event.controller.*), and admin events.
- Route completion: Completes route names inside
path(), url(), and redirectToRoute() calls by scanning routes.yaml and PHP #[Route] attributes or @Route annotations.
- EccubeConfig key completion: Suggests common configuration keys when accessing
$this->eccubeConfig[...].
Twig Completion
- EC-CUBE functions: Completes
asset(), url(), path(), eccube_block_logo(), eccube_block_category(), eccube_block_cart(), and other built-in Twig functions.
- EC-CUBE filters: Suggests
|price, |ellipsis, |no_image_product, |trans, and other EC-CUBE-specific filters.
- Template path completion: Auto-completes template paths in
extends and include tags using EC-CUBE's standard template structure.
- Route completion: Completes route names inside
path() and url() Twig calls, including dynamically scanned routes from your workspace.
- Twig tags: Keyword completions for common Twig tags (
set, if, for, block, extends, include, etc.).
YAML Completion (services.yaml)
- Tag completion: Suggests EC-CUBE service tags such as
eccube.event.subscriber, eccube.twig.extension, eccube.purchase.flow.cart, eccube.purchase.flow.order, and more.
- Service class completion: Lists common EC-CUBE service classes for DI configuration.
- PurchaseFlow priority hints: Shows recommended priority ranges for each processor stage (validate, stock, price, discount, delivery, payment, tax, total).
Snippets
PHP Snippets
| Prefix |
Description |
eccube-entity |
EC-CUBE Entity class with Doctrine ORM annotations |
eccube-repository |
EC-CUBE Repository extending ServiceEntityRepository |
eccube-subscriber |
EventSubscriber with getSubscribedEvents() |
eccube-formtype |
FormType class |
eccube-controller |
Controller with @Route annotation |
eccube-pluginmanager |
Plugin PluginManager with all lifecycle methods |
eccube-processor |
PurchaseFlow Processor implementing ItemHolderPreprocessor |
eccube-getrepo |
$this->entityManager->getRepository(Entity::class) |
eccube-config |
$this->eccubeConfig['key'] |
eccube-qb |
Doctrine QueryBuilder template |
Twig Snippets
| Prefix |
Description |
eccube-extends |
Extends default_frame.html.twig with {% block main %} |
eccube-price |
Price filter: {{ value\|price }} |
eccube-path |
{{ path('route_name', {}) }} |
eccube-asset |
{{ asset('path') }} |
eccube-for-pagination |
For loop over pagination with empty state |
eccube-product-image |
Product image tag with no_image_product filter |
eccube-form |
Full form render with form_start, form_row, form_rest, form_end |
eccube-csrf |
CSRF token hidden input |
eccube-block-* |
EC-CUBE block helpers (logo, category, cart) |
eccube-pagination |
KnpPaginator pagination links |
YAML Snippets
| Prefix |
Description |
eccube-yaml-subscriber |
EventSubscriber service registration |
eccube-yaml-twig-ext |
Twig extension service registration |
eccube-yaml-purchaseflow-cart |
CartFlow processor registration with priority |
eccube-yaml-purchaseflow-order |
OrderFlow processor registration with priority |
eccube-yaml-formtype-ext |
Form Type Extension registration |
Boilerplate Generator
Run the EC-CUBE: Generate Boilerplate command from the Command Palette (Ctrl+Shift+P) to quickly scaffold:
- Entity class
- Repository class
- EventSubscriber
- FormType
- Controller
- Plugin PluginManager
- PurchaseFlow Processor
Requirements
- Visual Studio Code 1.80.0 or higher
- An EC-CUBE 4.x project in your workspace (the extension auto-detects
src/Eccube/, app/Customize/, or app/Plugin/ directories)
EC-CUBE Version Support
Extension Settings
| Setting |
Default |
Description |
eccubeIntellisense.enable |
true |
Enable or disable the extension |
eccubeIntellisense.eccubeVersion |
"auto" |
EC-CUBE version (4.2, 4.3, or auto) |
eccubeIntellisense.enablePhpCompletion |
true |
Enable PHP completions |
eccubeIntellisense.enableTwigCompletion |
true |
Enable Twig completions |
eccubeIntellisense.enableYamlCompletion |
true |
Enable YAML completions |
eccubeIntellisense.scanOnStartup |
true |
Scan workspace on startup for dynamic completions |
Recommended Extensions
This extension works best alongside:
- Intelephense — PHP language support and static analysis
- Twig Language 2 — Twig syntax highlighting
License
MIT
Contributing
Issues and pull requests are welcome at https://github.com/TakashiHishiki/eccube-intellisense.
| |