Skip to content

PhpStorm plugin that adds code completion in composer.json file

License

Notifications You must be signed in to change notification settings

psliwa/idea-composer-plugin

Repository files navigation

PHP composer.json support

Build Status Version Downloads Downloads last month Donate using Paypal Donate using Bitcoin

Adds code completion, inspections and more to composer.json file.

This plugin provides:

  • completion for:

    • composer.json schema
    • package names and version (in require, require-dev etc) from packagist repository and custom repositories defined in composer.json file ("composer", "package" and "path" repository types are supported right now)
    • filepath completion (in bin, autoload etc)
    • class and static method names in "scripts" properties
    • namespaces eg. in "autoload.psr-0" property
  • inspections for:

    • composer.json schema + quick fixes (remove entry / property, create property etc.). Schema inspections and completions are synced to eea4098 commit of composer/composer repository.
    • filepath existence (in bin, autoload etc) + quick fixes (remove entry, create file / directory)
    • misconfiguration + quick fixes
    • version constraints misconfiguration + quick fixes
    • not installed packages + install quick fix
    • scripts callbacks (class names and method signature)
  • navigation for (eg. by Ctrl+LMB):

    • class and method names in "scripts" properties
    • files and directories in properties that store file path (eg. "bin")
    • package directory (eg. in "require", "require-dev")
    • urls and emails (eg. in "homepage")
  • documentation:

    • external documentation (shift+f1) for packages
    • quick docs (ctrl+q) and external docs (shift+f1) for properties
  • others:

    • show current installed version from composer.lock

There you can find plugin homepage.

This plugin in work

Screen

What's next?

  • If you have feature ideas, please create an issue! I have created a lot of features that used to be useful for me during my daily job, so I waiting for yours ideas too ;)