News

PhpStorm 2018.1.1 is released

PhpStorm 2018.1.1 build 181.4445.72 is now available! You can download it here or in JetBrains Toolbox App. If you have installed the previous PhpStorm 2018.1 or PhpStorm 2018.1.1 EAP build (181.4445.32), please invoke the Check for updates action to receive the latest update.

This build delivers new features, bug fixes and improvements for PHP and the Web, and takes on the latest improvements in IntelliJ Platform.

If you don’t receive the automatic update, please check your settings under Preferences | Appearance & Behavior | System Settings | Updates and make sure that Automatically check for updates is enabled. You may also invoke the Check for updates action.

File-level suppression to PHP inspections

PhpStorm provides a lot of inspections to catch all sort of errors in your code, but it may occur that some particular code shouldn’t follow the standards set for the whole project. In previous PhpStorm versions, you were able to suppress a warning for a particular statement or declaration.

PhpStorm 2018.1.1 brings the ability to suppress an inspection for the whole file: just add /**@noinspection <inspection_name> */ right after the first opening PHP tag or press ALT+Enter on the inspection warning and select Suppress for file in the submenu. You can also use /**@noinspection ALL */ to suppress all inspection for the file.

We encourage you to use this feature with caution, since it may cost you a bug in production.

supress_for_file

Required plugins for a project

Suppose you’ve found an essential plugin that would help a lot with developing your project (Symfony or PHP Annotations plugins are good examples of such plugins), and you want to make sure that everybody on your team is on the same page. Previously there was no way to let your colleagues know about the plugins without talking to them or writing the readme file.

PhpStorm 2018.1.1 introduces Required plugins, which you can locate under Preferences | Build, Execution, Deployment | Required Plugins. You can specify the plugins and their exact versions as the project’s requirements.  After you’ve set them, PhpStorm will notify if the required plugins are missing or need an update.

required_plugins

Go to Type action

You might have already used the Navigate | Type declaration action when working with  JavaScript or when using our other IDEs. It lets you navigate to the type declaration from any expression, and now it is available in PHP, as well.

Suppose you have the following code:

<?php
class C{}
class D{
  public function f() {
    return new C;
  }
}

$a = new D;
$a->f();

When you invoke the action on the $a variable, the caret will move to class D, since this is the type of the variable. If the action is invoked on the f method callthe caret will move to its return type, which is class C in our case.

Notable bug fixes and features worth mentioning:

  • Incorrect ‘find usages’ / refactoring of __constructor of parent class WI-19518
  • Indexing of large files WI-41378
  • Deployment: context menu is missing if no default server is selected WI-40826
  • Docker-compose: output isn’t shown WI-41002
  • Keystrokes lost during freezing IDEA-186636
  • CommonJS: properties of function object returned by exported module not resolved WEB-24161
  • DESC/DESCRIBE in read-only mode DBE-397

See the full list of bug-fixes and improvements list in our issue tracker and in the complete release notes.

Download PhpStorm 2018.1.1 build 181.4445.72 for your platform or click “Update” in your JetBrains Toolbox App and please do report any bugs and feature request to our Issue Tracker.

JetBrains PhpStorm Team
The Drive to Develop

image description