PhpStorm 2020.1 EAP #5

Posted on by Roman Pronskiy

The fifth build of the PhpStorm 2020.1 Early Access Program is available!
In this blog post, you can read about the Bundled Grazie spell checker, updates for сomposer.json support, new inspections for PHP, and styling of @deprecated elements in Structure view.

If you prefer to watch the updates on YouTube, at JetBrains channel we continue the series of What’s Coming in PhpStorm 2020.1 videos – Episode 3 is already online!

Download PhpStorm 2020.1 EAP

Bundled Grazie Spell Checker

Some time ago we announced a plugin called Grazie. This plugin provides intelligent spelling and grammar checks for texts that you write in the IDE, and it supports over 15 languages, including English, German, Russian, Chinese, and more.

In this EAP build and in the upcoming 2020.1 release, Grazie is bundled by default. To learn more, please read this blog post.

Just like with errors in the code, you can use the quick-fix Alt+Enter to correct typos and mistakes.

grazie

You can enable checking VCS commit messages under Preferences/Settings | Editor | Proofread | Grammar.

✨ The plugin works offline and all checks are performed locally, there is no remote processing at all.

Updates for Composer

In the upcoming PhpStorm 2020.1 release, we’ve bundled support for composer.json which was originally available only via the plugin.

We received great feedback with many interesting ideas. And the plan is to continue improving composer.json support.

In this build, there are a few updates for the scripts section to try.

Support for references
To enable script re-use and avoid duplicates, you can call a script from another one by prefixing the command name with @. This will be correctly supported in PhpStorm 2020.1.

Type @ and use code completion (Ctrl+Space) to see the defaults such as @php, @composer as well as your custom scripts:

composer_scripts_refrerences

Navigation to script references
If you are referencing a custom script, you can press Cmd+Click to go to its definition:

composer_scripts_navigation

Renaming script references
And if you decide to rename the script, you only need to do it once thanks to the Rename Refactoring (Shift+F6 or Ctrl+T, 1):

composer_scripts_rename

Miscellaneous PHP Improvements

Inspection to find redundant ternary expressions
Have you seen these trivial ternary operator expressions and thought “why”?

Phpstorm will highlight them and by using a quick-fix (Alt+Enter), you can replace them with a simpler expression:

ternary_redundant

Inspection and quick-fix for pass-by-ref
Using pass-by-reference could lead to unexpected consequences, and this is one of the reasons why Nikita Popov suggested to allow explicit call-sit pass-by-reference annotation in PHP.

Meanwhile, PhpStorm 2020.1 will detect when a parameter is marked as passed-by-reference, but this is in fact unnecessary and can be safely removed. Such parameters will be highlighted, and you can use a quick-fix (Alt+Enter) on them.

pass-by-ref_param

The same will work for arrays with pass-by-reference used in a foreach loop:

pass-by-ref_array

Styling of @deprecated elements in the Structure tree view
With the Structure view window (Cmd+F12 / Ctrl+F12), you can get an overview of the members of any class or just any file. You can start typing here to narrow down the search and quickly navigate to some method.

However, the deprecated members were shown just like all the other ones:

In PhpStorm 2020.1, the elements marked with @deprecated tag will be displayed with strikethrough style by default.

deprecated_structure_view

Config files path changed

Starting from version 2020.1, the configuration files will be stored in a different folder.

For example, on macOS:

– ~/Library/Preferences/<product><version>
+ ~/Library/Application Support/JetBrains/<product><version>

- ~/Library/Preferences/PhpStorm2019.3
+ ~/Library/Application Support/JetBrains/PhpStorm2020.1

For more information on where exactly these files will be stored on your machine, please refer to this article https://www.jetbrains.com/help/phpstorm/2020.1/tuning-the-ide.html#default-dirs.


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 feedback is much appreciated, and the most active EAPers will get special limited-edition gifts from us!

Your JetBrains PhpStorm team
The Drive to Develop

Subscribe

Subscribe for updates