Early Access Program Features Releases

PhpStorm 2018.2 Early Access Program is Open

Today we start the Early Access Program for PhpStorm 2018.2 (EAP). A fresh build 182.2371.32 is available for download here and within the JetBrains Toolbox App.

What is Early Access Program?

Early Access Program (EAP) allows you to try pre-release versions of our software to evaluate features that will be added in the next release. It is important to distinguish EAP from traditional pre-release software. Please note that the quality of EAP versions may at times be far below even usual beta standards. If you are looking for a stable version of PhpStorm, please visit our site.

webide_logo

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

FQCN Completion

Completion now matches the namespace in addition to the element name. So now you can avoid typing or invoking completion for each part of \Zend\Mail\Message and just type ZMMes instead. The GIF below demonstrates the full power of a new completion.

completion

Structural Search and Replace

In PhpStorm 2018.2, we’ve completely reworked Structural Search and Replace for PHP, which offers lots of new capabilities and greatly simplifies patterns writing. Now you can specify the type of Structural variable, which lets, for example, find a call to the specific method where the first parameter is a string. You can use a simple pattern to find a foreach loop with unconditional return statement or even create your own inspection that will capture an unnecessary double-quoted string if your code style enforces this.

We will cover Structural Search and Replace in-depth in upcoming blog posts so stay tuned!

ssr

Simple CodeSniffer/MessDetector setup

PhpStorm can automatically set up PHPUnit and other test frameworks for you if you have them listed as dependencies in composer.json. In doing so, it also configures PSR-0/PSR-4 roots and even chooses the appropriate PHP Language Level. PhpStorm 2018.2 moves automatic project configuration further by introducing automatic setup of CodeSniffer and MessDetector. You only need to add them as dependencies in composer.json and enable the corresponding inspection after that.

To achieve this, we’ve also allowed the CodeSniffer and MessDetector configurations to reside on the project level instead of the application one. This will let you have different versions of these tools installed as well as use different Sniffs and rulesets for different projects. If you’ve already had a configured CodeSniffer or MessDetector, its configuration is copied to the Default Settings (File | Preferences for New Projects) and will be applied to all existing and newly created projects.

code_sniffer

Other PHP features worth noting

  • The new presentation for Quick Documentation: WI-39783
  • New quickfix: Add PHPDOC @method annotation for methods that don’t exist. WI-13197 
  • New inspection: Non-canonical order of elements WI-17482
  • New inspection: Default before required parameter WI-37565

Other platform features worth noting

  • New icons
  • MacBook touch bar support
  • VCS: favorite branches, merge conflicts group in Local changes, multiple VCS Log tabs, multiple GitHub accounts, skip Push dialog on Commit
  • New automatic JSON schema verification and completion (including Composer support)
  • Add a template variable that displays file path from project root. IDEA-136387 
  • Allow Node.js/Chromium remote debugger to reconnect automatically WEB-25672 
  • Add support for angular-cli setting “stylePreprocessorOptions” > “includePaths” WEB-28376

More details at IntelliJ IDEA 2018.2 EAP blog and WebStorm 2018.2 EAP blog.

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

  • Connection problems with FTPS. “session reuse required” on vsFTPd/pure-ftd/proftpd (can be enabled in Advanced Settings for FTPS server) WI-18980
  • Unused argument in the construct method WI-37926 
  • Missing yield statement when yield is used in expression context  WI-34792 
  • Default “Open directory/project” path and better navigation IDEA-84622 
  • “Cannot redo. Unexpected document state” when undoing then redoing in IntelliJ IDEA 2016.2 IDEA-156074 
  • WebStorm doesn’t understand bound variables in Angular structural directives WEB-26939 
  • Can’t run Karma in @angular/cli 6 project WEB-32653 

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

Future plans

Use the board here to view the up-to-date list of the features planned for 2018.2 release, as well as discovered bugs. The list only reflects our current plan and is not final. It may be revised during development since new issues may appear and existing may be re-planned to appear in later versions. Please share your opinions on what is important to you and what would you like to see in the new version!


Download PhpStorm 2018.2 EAP build 182.2371.32 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

image description