PhpStorm 2018.1. EAP 181.3263.18

The new PhpStorm 2018.1 EAP build (181.3263.18) is now available! You can download it here or via JetBrains Toolbox App. Or, if you have the previous PhpStorm 2018.1 EAP build (181.3007.10) installed, you should soon get a notification in the IDE about a patch update.

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

Configurable unchecked exceptions

In the last release, we’ve implemented new inspections that help you to find uncaught exceptions as well as to find redundant @throws tags. It was possible to ignore \Runtime and \Logic exception and all their children, but we were asked to make a configurable list of unchecked exceptions.

In this build, we added the list that can be found at Preferences | Languages & Frameworks | PHP | Analysis tab. To cover most cases, we extended the list with \Error and \PHPUnit\Exception. PhpStorm takes into account not just listed exception but all children classes as well. You can add your specific exception that shouldn’t be caught but we encourage you to keep the list as short as possible to avoid missing a real exception.

unchecked_exceptions

REST Client: support for response handler scripts

We continue improving REST client and in this build, we’ve added a way to run custom JavaScript code (ECMAScript 5.1 specification) to generate and manipulate variables that can be used later in HTTP requests.

We provide two additional objects:

  • client stores meta information about the session, it can be modified inside a script and it will preserve its state till IDE will be closed. All variables saved in client.global can be used in subsequent HTTP requests as {{variable_name}}
  • response holds information about the response, i.e. content-type, status, response body.

Objects completion and documentation are already enabled in in-place scripts. To enable completion in a separate javascript file open a context menu in a target file, select Use JavaScript Library and select HTTP Response Handler.

rest_js

PHPUnit: Gutter icons for running tests

There is a fantastic PHPUnit Enhancement plugin that provides additional PHPUnit specific completion, navigation, and support of Prophecy. It also adds gutter icons to run the tests. Unfortunately, the current implementation has its limitations.

We’ve decided to implement gutter icons for PHPUnit tests right in the PhpStorm core. PHPUnit gutter icons support different type of running tests (Run, Debug, Run with Coverage), works with Local as well as Remote Interpreters and shows the previous execution state (passed, failed, not started).

Please vote for issue in case you see double icons.

phpunit_gutter

Other features worth noting:

  • Spellchecker gives very small amount of suggestions WI-705 
  • Support PHPUnit @coversDefaultClass annotation WI-30157
  • REST Clien: Show documentation for header fields WEB-30841 
  • Actions to navigate to prev/next occurrence of identifier under caret IDEA-59638 
  • Use yarn instead of npm if yarn is installed WEB-27974 

Apart from new features, this build brings many important bug fixes and usability improvements, including these:

  • Can’t typehint a class with the name “Resource/Bool/Integer/Object” WI-15619 
  • Wrong PHPDoc parameter type generated for variadics WI-29429 
  • Wrong PHPDoc formatting with Brackets WI-31025 

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

Download PhpStorm 2018.1 EAP 181.3263.18 for your platform from the project EAP page or click “Update” in your JetBrains Toolbox App. And please do report any bugs and feature request to our Issue Tracker.

Your JetBrains PhpStorm Team
The Drive to Develop

This entry was posted in Early Access Program. Bookmark the permalink.
  • Thomas Schulz

    I disabled PHPUnit Enhancement plugin, but the gutter icons on test methods DO NOT “… shows the previous execution state (passed, failed, not started).”
    I still see only a green arrow (no circle). Not like you showed in the screenshot above.

    PhpStorm 2018.1 EAP
    Build #PS-181.3263.18, built on January 31, 2018

    • Maxim Kolmakov

      Have you restarted PhpStorm? What is your version of PHPUnit?

      • Thomas Schulz

        Yes.

        PHPUnit 5.7.23

  • radiat-r

    Gutter icons for running tests are nice.
    Finding tests for class/method ( https://youtrack.jetbrains.com/issue/WI-37775 ) is very helpful too.

    Now, the only thing missing for awesomeness is combining both to show the gutter icons right at the method/class being tested. Are there any plans for this?

    I guess https://youtrack.jetbrains.com/issue/WI-9554 would be required for this. But for large legacy codebases even the icon alone would be helpful to see, that there are already tests in place for a specific method.

  • http://sputnik.pl Pies

    Did anyone else notice, that this EAP changes the way keystrokes are queued? When I write something too quickly into 2017.3.4 (and previous EAP) it queues the keystrokes so that when PHPStorm catches up it outputs them or uses them. In the new EAP if I type too quickly it just drops those keystrokes. It’s very annoying.

    • Maxim Kolmakov

      Could you please create an issue with attached logs (Help|Compress Logs and Show in…) at https://youtrack.jetbrains.com/issues#newissue=25-1856527 ? We will need to investigate your case.

    • Glutexo Driežasson

      I am losing keystrokes too.

      • Dmitry Tronin

        Could you please check that with all custom plugins disabled (File | Settings | Plugins > Show: Custom)?

        • Glutexo

          Checked. It still happens.

    • kiler129

      @Pies:disqus @glutexodrieasson:disqus It’s not just you guys: https://youtrack.jetbrains.com/issue/WI-40592