TYPO3 CMS Plugin

The plugin update is pending JetBrains approval
Compatible with: IntelliJ IDEA PhpStorm
Dec 10, 2017
5 781
TYPO3 CMS Plugin GitHub Repository
beta quality
Features:
Autocompletion enhancements

The plugin reads the local project and tries to parse out usage of well-known APIs and provides you with autocompletion on points it knows for example possible parameter names.

  • Autocompletion for calls to IconFactory::getIcon with available Icons and preview
  • Line marker for Icon-Api usages with jump-to-definition and preview
  • TypeProvider for `$GLOBALS['TYPO3_DB']`, `$GLOBALS['TSFE']` and `$GLOBALS['BE_USER']`
  • Line marker for extbase entities

Service Locator & Extbase Dependency Injection Container

The plugin provides you with greater code stability, since the return types of instance creations are inferred, giving you stable auto-completion and insight into the written code.

  • infer return type of GeneralUtility::makeInstance() calls without meta file
  • infer return type of GeneralUtility::makeInstanceService() calls without meta file
  • infer return type of ObjectManager::get() calls without meta file
Routing
Backend

The plugin parses the available route names in the core and extensions. More precisely it parses the `Configuration/Backend/(Ajax)Routes.php` files.

  • completion for backend route names on BackendUtility::getAjaxUrl()
  • completion for backend route names on UriBuilder::buildUriFromRoute()
  • annotations for both valid and invalid route references
  • line marker to allow quick navigation to the route definition

TCA
  • completion for built-in TCA render types
  • completion for built-in TCA column types

Code inspections
  • Extbase property injection (@inject) performance inspection
  • TCA renderTypes (+ inspections)
  • TCA column types (+ inspections)

Code generation
  • Extbase ActionController
  • Extbase ActionController action
  • Extbase Entity class
  • Fluid ViewHelper
  • Fluid Styled Content Element (experimental)

Credits

Thank you to Daniel Espendiller and Adrien Brault for providing their Symfony2 Plugin in the first place. It is a great inspiration for possible solutions and parts of the code.

Contributors

Download plugin

Recent change notes

0.2.28
  • Refactor icon computations to use PsiReference
0.2.27
  • Refactor table name completion to use PsiReference
0.2.26
  • Add Route index and PsiReference
0.2.25
  • Add action to add controller action to extbase controller
  • Add action to add extbase entity to extension
0.2.24
  • Add support for generating a new ViewHelper
  • Add support for generating a new Extbase Controller
0.2.16
  • Add support for EXT:resource Strings
0.2.15
  • Fix error when creating a new project
0.2.14
  • Inspection for quantity based TCA properties
0.2.10
  • Autocompletion for TCA renderTypes
  • Inspection for valid renderTypes
  • Autocompletion for TCA column types
  • Inspection for valid column types
0.2.9
  • Add MissingTableInspection
0.2.8
  • CompletionProvider for table names in TCA configuration
0.2.4
  • Complete $table and $tableName arguments with table names (#57)
0.2.3
  • Fix faulty error highlighting for route parameters (#50)
0.2.2
  • Add completion contributor for tables defined in ext_tables.sql files
0.2.1
  • Amend PhpGlobalsTypeProvider to provide a type for the $GLOBALS['LANG'] index
0.2.0
  • Migrate to PHP TypeProvider3
0.1.12
  • Prevent NPE on CE creation
0.1.11
  • Icon API: Parse flag icons
0.1.10
  • Bugfix: Remove entity line marker
  • Stability: Scope icon providers by project and make access synchronized
0.1.9
  • Add generation of Fluid Styled Content elements
  • Change severity of icon not found from error to warning since user icons are not yet supported
  • Add line marker to extbase entities
0.1.8
  • Added TypeProvider for $GLOBALS['TYPO3_DB'], $GLOBALS['TSFE'], $GLOBALS['BE_USER']
0.1.7
  • QuickFix for Extbase property injection
0.1.6
  • New icon for icon type objects
  • Icon name completion for core icons on calls to IconFactory::getIcon
  • Annotators for icon references (with preview and jump-to-definition)
0.1.5
  • New icon for route type objects
0.1.4
  • Annotator for both valid and invalid route references to make them distinguishable from normal strings
  • LineMarkerProvider to allow quick navigation to the route definition
  • Extbase property injection (@inject) performance inspection
0.1.3
  • Added route name completion for BackendUtility::getAjaxUrl()
  • Added route name completion for UriBuilder::buildUriFromRoute()
0.1.2
  • Added TypeProvider for GeneralUtility::makeInstanceService
0.1.1
  • Added TypeProvider for ObjectManager::get
0.1.0
  • Added TypeProvider for GeneralUtility::makeInstance