PHP composer.json support

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion GoLand DataGrip Rider MPS Android Studio
Feb 09, 2019
296 813

PHP composer.json support

Donate using PayPal or Bitcoin

This plugin adds auto completion and inspections support for composer.json file in PHP projects.

Download plugin

Recent change notes


  • [#74] Fix support for 2019.1 (EAP)


  • [#51] Fix NullPointerException during browsing local history
  • [#56] Append backslashes automatically for namespace completion
  • [#50] Change SchemaInspection short name in order to avoid conflicts with the other plugins
  • [#54] Configurable composer options for package installation
  • [#58] Add custom user-agent for http requests


  • There is no any new feature or bug fix - only charity action summary.


  • [#52] Add scripts-descriptions to Composer schema




  • [#44] Timeouts for fetching data via http


  • Composer icons for composer.json and composer.lock files
  • Treat composer.lock as json file


  • [#36] do not offer custom repositories for official repository
  • [#39] fix possible NullPointerException - problem with concurrent access to cache
  • Update composer-schema.json file version


  • [#38] Fix packages names completion after reaching "/" char


  • [#37] Fix inspections for scripts


  • [#33, #17] Fix NullPointerExceptions
  • update composer-schema.json file version


  • [#32] Fix email format inspection


  • [#30] add support for support.rss and config.sort-packages properties
  • update composer-schema.json


  • [#24] support for packagist custom repositories
  • minor bug fixes for package versions quick fixes and inspections
  • update composer-schema.json


  • [#28] make "name" and "description" properties once again required only for library


  • [#27] enhance misconfiguration inspections + quick fixes
  • [#25] navigate to package documentation through clicking package version (ctrl+LMB / cmd+LMB) and get custom documentation url from composer.lock if available
  • add support for new composer.json properties
  • enable package version inspections and quickfixes by default


  • [#23] fix plugin settings


  • [#22] Support for "path" repository path + code completion
  • Update composer-schema.json file - support for new composer features
  • Minor fixes (messages, refactorings etc.)


  • [#16] Fix cache invalidation bug
  • [#14] "name" and "description" property are required only when package type is "project"
  • fix "set property value" quick fix


  • [#10] Fix inspection and quick fixes for relative file paths
  • Support for completion inline repositories that are defined in "repositories" property as "package" repo type
  • Add support for new properties in composer.json file + update descriptions etc.
  • Support for named repositories completion and inspections
  • Schema inspection messages fixes


  • [#7] Fix NullPointerException in files other than composer.json
  • Fix NullPointerException while rendering current installed package version in erased file


  • [#6] External docs (shift+f1) for packages
  • External docs (shift+f1) and quick docs (ctrl+q) for properties
  • Version inspections also work in require-dev property


  • BETA: Custom repositories support in packages and versions code completion. "composer" repository type is only supported right now, so satis is supported as well. You should enable this feature explicitly for each composer.json file in notification that would be shown when you define custom repositories.
  • Inspections for scripts correctness in "scripts" property


  • quick fixes that refactor version constraints with "~" and "^" operators to readable equivalents, eg. ~1.2 to >=1.2 <2.0.0. It might be useful when you are not sure what is difference between ~1.2, ~1.2.0 or ^1.2.0 - you can use quick fix to show equivalent version and eventually refactor it.
  • omit already existing properties in completion list
  • add support for symfony specific properties in "extra" property


  • show installed package version (from composer.lock) for currently focused package


  • desc sorting of package versions in completion
  • improve "next significant release" operators in versions completion
  • [#4] support for stability in versions completion
  • "already defined property" inspection + quick fix
  • completion for repositories in "repositories" property
  • [#3] add "proprietary" license to completion


  • detect not installed packages + install quick fix - so new packages could be installed from composer.json file. Inspection analyses proper composer.lock file, not "vendor" dir content.
  • [#2] completion + reference support for class and static method names in "scripts" property
  • completion + reference support for namespaces eg. in "autoload.psr-0" property
  • minior enhancements and fixes for schema completion
  • new quick fix for invalid "enum" property value
  • support for go to urls and emails eg. in "homepage"


  • detect unbound version constraints (as inspection) + quick fixes (composer faq)
  • detect version constraints combining wildcard and comparisons (as inspection) + quick fixes (composer faq)


  • "go to" feature: filepaths (e.g. in "bin") and packages (e.g. in "require") are clickable (CTRL+LMB)
  • "create property" quick fix for required properties (e.g. name and
  • "misconfiguration" inspection - currently there is one misconfiguration detected: not stable project without enabled "prefer-stable" + quick fixes


  • Inspections
  • composer.json schema validation + related "quick fixes"
  • Inspections for filepath existence (for "bin" etc properties) + related "quick fixes": remove entry, create file/directory
  • Display property description in completion list
  • Minor completion bug fixes


  • Generic completion usability improvements
  • UI improvements
  • Completion for package versions supports ranges (>=, -, comma etc), next significant release markers (~, ^), wildcard (*) etc
  • Support for filepath completion in bin, autoload etc
  • Performance and bug fixes


  • Performance improvements - versions completion caching + prefetching packages form


  • Property names and values auto completion based on enhanced composer.json schema
  • Package names and versions auto completion in require, require-dev etc. properties