

Use this checkbox to configure automatic checks for available package updates. When settings synchronization with composer.json is enabled, PHP language level cannot be set manually on the PHP reference page of the Settings dialog ( Ctrl+Alt+S) or in the IntelliJ IDEA status bar. For examples and details on synchronizing settings, refer to the PhpStorm blog post. To learn more about PSR and autoloading, refer to the Composer official website. IntelliJ IDEA also detects the PHP language level based on the php setting in the require section.īecause composer.json contains the most up-to-date information about the project configuration, this automatic synchronization ensures that the Source and Test folders exactly match the project structure, and the correct PHP language level is set automatically. It sets the Source root based on the autoload section, and the Tests root based on the autoload-dev section. IntelliJ IDEA is aware of PSR-0/PSR-4 source roots and their namespace prefixes. Select this checkbox to automatically detect the PHP language level and configure project Source and Test roots based on the configuration from composer.json. Synchronize IDE Settings with composer.json If you want to edit the Composer packages under vendor/*/*, clear the checkbox. To protect packages under vendor/*/* against editing, leave the checkbox selected (this is the default setting). Use this checkbox to configure the open-for-edit status of Composer packages. Every subdirectory with composer.json installed in it will have its own PSR-0/PSR-4 roots settings and vendor directory with External Libraries. If a project contains subdirectories with dedicated composer.json files, IntelliJ IDEA handles Composer-managed dependencies and settings for each of such modules independently.

You can have several composer.json files in one IntelliJ IDEA project, and invoke Composer actions and commands for each of them. All the Composer commands invoked from Tools | Composer from the main menu will be executed in accordance with the settings from this configuration file. In this field, specify the location of the composer.json that you want to use as default.
