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

This entry was posted in Cool Feature, Early Access Program, Newsletter. Bookmark the permalink.
  • http://www.stidges.com/ Stidges

    Since this version it seems that when using Run with keyboard shortcuts (Ctrl + R / Ctrl + Shift + R for me), the editor focus is lost (the Run panel gains focus). Is this configurable behavior? Takes the speed out of my TDD having to click the editor after every run – especially because I’m using VIM bindings so my hands aren’t on the mouse.

    • http://jetbrains.com/webide Alexey Gopachenko

      ESC always moves focus to editor from anywhere

      • http://www.stidges.com/ Stidges

        Thanks for your reply, I’ll try that. This behavior isn’t in line with previous versions though right?

  • Xan Bertison

    Wow, still no collaborative development features? Most expensive IDE is getting it’s butt whooped lately by free offerings such as VS Code and Atom.

  • Ilija

    The CodeSniffer support is nice but what about php-cs-fixer? It has more stars on GitHub than CodeSniffer. Are you considering supporting it as well?

  • Ali Selcuk

    PS is getting buggier and slower in every release. I’ve been using PS from the version 4 or 5 maybe.

    2018.1.* really bugged me so much. I am experiencing constant freezes now, and rarely I cant even restart macOS without a hard one.

    I dont quite agree on “VS codes sucks” above. It is missing some core features that PS have, but when they arrive, many of us wont look behind if you continue messing up like this.

    Stop adding features, just make this IDE faster as it was before.

    just open up both IDE’s and type, just type something you’ll see the difference

    no sorry I cant file any bug report and send any logs, and dont have time for that.

    • michael kimsal

      haven’t moved to vscode, but I understand and generally agree with the sentiment. yes, I’ve disabled all my plugins.(however… what’s the point of using a tool with no plugins?) yes, things still hang more than they should. sorry, I’ve only got a quadcore 2.8ghz with a mere 16g of ram and 512 ssd – maybe my machine isn’t performant enough?

      my linux-using friends swear they have 0 problems with jetbrains stuff, and say it’s all mac related. but … i’ve watched some, and they seem to encounter some of the random hangs I see, but … they also seem to not notice it – I don’t think this is all mac-based (but… maybe I’m wrong?)

    • Dmitry Tronin

      There’s an ogoing issue related to OS X: https://youtrack.jetbrains.com/issue/IDEA-191859
      It’s fixed in IDE version 2018.1.5. It would be great if you could update & check how it works. If it still lags/freezes somewhere – you’re welcome to troubleshoot it with us (the support team). Use Help > Submit New Request for that.

  • Martin

    Has FQCN Completion been removed again in the newer builds? Doesn’t seem to be working in my PS-182.2949.27 any more.

  • Dimas S.C.

    Without CodeIgniter support yet :-(