Early Access Program

PhpStorm 2020.2 EAP #5

Build 5 of the PhpStorm 2020.2 Early Access Program is available!

In this blog post, read about fixed resolve when multiple projects opened, OpenAPI support, and improvements for Git.

If you prefer to watch the updates on YouTube, our JetBrains channel continues the What’s Coming in PhpStorm 2020.2 series of videos, and Episode 2 is already online!

Download PhpStorm 2020.2 EAP

Multiple projects in the same window – no more resolve interference

PhpStorm makes it possible to open multiple projects in a single window. The major problem with this approach for PHP codebases was inspections reporting a class as having multiple implementations. In reality, the implementations were just coming from two different projects. As a result, when you tried to jump to a declaration, PhpStorm offered multiple choices.

multiple-projects-resolve-2019

These issues will be finally gone in the upcoming 2020.2 release. It is now safe to have as many projects opened in a single window as you like, and inspections and resolve will no longer interfere with each other.

multiple-projects-resolve-2020.2

Lower priority for definitions from ‘vendor’

Let’s say there is a class in the application that has the same name as a class in one of the project dependencies or in some PHAR file.

Previously, the suggestions priority was undetermined in this case, but PhpStorm 2020.2 will move the application entities to the top of the suggestion list.

OpenAPI (Swagger) specification support (via plugin)

Starting with 2020.2, PhpStorm supports the OpenAPI Specifications plugin. This is a free plugin developed by JetBrains which provides completion, navigation, and validation in OpenAPI spec files.

But what’s more, it is now integrated with the HTTP client, as well. So if you’d like to run requests to API endpoints, the URLs will be autocompleted for you.

openapi-request

If you decide to rename some API endpoints, the IDE will also assist you by renaming the corresponding usages accordingly.

openapi-rename

What’s next

It is possible to implement the integration with Guzzle and other tools, too. For example, you would be able to get autocompletion for URLs from an OpenAPI spec file in your PHP code. Would you like to see this integration available in PhpStorm?

Git

Improved actions dialogs

We have redesigned the Git dialogs for actions such as Merge, Pull, and Rebase to ensure greater visual consistency and less clutter. We’ve also made it easier to understand which Git command will be executed, and included some previously missing options.

All commands are available under the VCS | Git menu.

We’ve added the --rebase option to the Pull dialog and the --no-verify option to the Merge dialog.

git-merge
git-pull
git-rebase

Drop commit action

You can now easily remove redundant local commits by selecting them in the Git log tool window and choosing Drop Commit from the context menu. Behind the scenes, the IDE will run an interactive rebase to eliminate the commit from history.

git-drop-commit


The full list of changes in this build, including bug fixes and improvements, is available in the release notes.

  • Important! PhpStorm EAP builds are not fully tested and may be unstable.
  • You can install an EAP build side by side with a stable PhpStorm version to try out the latest features.
  • EAP builds are free to use but expire 30 days after the build date.

Please report any problems you find to our issue tracker, or by commenting on this post.

Your JetBrains PhpStorm team
The Drive to Develop

image description