PHP composer.​json support

Compatible with IntelliJ IDEA Ultimate, PhpStorm
Screenshot 1
Screenshot 2

PHP composer.json support


Donate using PayPal or Bitcoin

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

What’s New

1.0.38

  • Farewell notification - the last release

1.0.37

  • Support for aliases in "scripts"
  • [#88] Update GNU licenses SPDX license identifiers

1.0.36

  • [#89] Fix php callback inspection for "scripts"
  • Reference support for "scripts"
  • [#87] New quick-fix: Replace unbounded version constraint by already installed package version

1.0.35

  • [#34] Optimizations for version suggestions
  • [#71] Explicitly skip http request for private packagist, fix satis support
  • [#72] Skip asking for version for built-in packages
  • Visualise packages replaced by other package
  • [#75] Fix navigation to package sources

1.0.34

  • [#85] Fix memory issue in 1.0.32 version
  • [#65, #48, #66, #67] Restore fixes from 1.0.32 version

1.0.33

  • [#85] Revert to 1.0.31 version because of possible memory issues in specific cases

1.0.32

  • [#65] Fix misconfiguration inspection when license is an array
  • [#48] Do not produce warning for dev-master version for roave/security-advisories package
  • [#66] Preserve ordering for excludedPackages in settings
  • [#67] Do not show "package is not installed" warning when package is replaced by other package
  • Update composer-schema.json and improve filepath inspections

1.0.31

  • [#84] Fix packages installation

1.0.30

  • [#83] Skip info annotations in batch mode

1.0.29

  • [#80] Fix semantic versions ordering in versions suggestions

1.0.28

  • [#79] Switch from scala-parser-combinators to spray-json
  • Add plugin icon

1.0.27

  • [#78] Fix exception in PackageReferenceProvider

1.0.26

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

1.0.25

  • [#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

1.0.24

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

1.0.23

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

1.0.22

skipped

1.0.21

  • [#44] Timeouts for fetching data via http

1.0.20

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

1.0.19

  • [#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

1.0.18

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

1.0.17

  • [#37] Fix inspections for scripts

1.0.16

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

1.0.15

  • [#32] Fix email format inspection

1.0.14

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

1.0.13

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

1.0.12

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

1.0.11

  • [#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

1.0.10

  • [#23] fix plugin settings

1.0.9

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

1.0.8

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

1.0.7

  • [#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

1.0.6

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

1.0.5

  • [#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

1.0.4

  • 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

1.0.3

  • 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

1.0.2

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

1.0.1

  • 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

1.0.0

  • 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"

0.2.2

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

0.2.1

  • "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 authors.name)
  • "misconfiguration" inspection - currently there is one misconfiguration detected: not stable project without enabled "prefer-stable" + quick fixes

0.2.0

  • 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

0.1.2

  • 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

0.1.1

  • Performance improvements - versions completion caching + prefetching packages form packagist.org

0.1.0

  • Property names and values auto completion based on enhanced composer.json schema
  • Package names and versions auto completion in require, require-dev etc. properties
Updated 4 years ago
Feb 19, 2020
Version 1.0.38

Rating & Reviews

5.0
113 Ratings (664,000 Downloads)
5
4
3
2
1

Kinsey

23.11.2024

Composer’s composer.json file is a powerful way to manage PHP dependencies and project configurations. It allows you to define dependencies, scripts, and autoloading rules in a clean, structured format. If you're new to it, I recommend checking out some tutorials or examples—koalageddon.com has some great resources for related tools and practices. How do you currently manage dependencies in your projects?

0

Tan Le Ngoc

04.02.2021

Great thanks to plugin's developer(s).

To anyone want to write down a "please update the plugin".

This is your awnser:

Since PhpStorm 2020.1 big part of the plugin's features have been built-in into IDE itself so all composer.json editing features are handled by PhpStorm itself. The plugin is not needed anymore - it is the last release.

Taken from plugin repo:

-1

Pavlo Marenyuk

27.10.2020

abandoned

0

Additional Information

Vendor:
Piotr Śliwa(Non-trader)
Plugin ID:
org.psliwa.idea.composer