PhpStorm 2016.3 Early Access Program Started

Great news: we are starting the Early Access Program for PhpStorm 2016.3! The fresh build 163.3512 is available for download and we are eagerly awaiting your feedback in the issue tracker.
PhpStorm_splash2016_3_EAP@2x-01

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

Ability to open several PhpStorm projects in one frame

In PhpStorm 2016.3 EAP you have a possibility to attach/detach a project to the current one. This will allow you to do a cross-project refactoring. Please note that all the settings will be taken from the primary project, so no per-project PHP settings are allowed.

projects

Support of Docker in Remote Interpreters

Now you can add Docker as a remote PHP interpreter in the “Configure Remote  PHP Interpreter” settings in PhpStorm. Thus it becomes even easier to setup your development environment with Docker and start the PHP Scripts, PHPUnit tests, Behat tests, PHP CodeSniffer or PHP Mess Detector inside Docker.

docker

Сompletion of overridden methods and fields without function and var keyword

In PhpStorm 2016.3 it’s allowed to complete overridden methods and fields without function and var keywords. When you invoke completion you will see a method and a field available to override.

overridden

Project wide PHP 7 strict types

We’ve added a “Missing Strict Types Declaration” inspection which enables strict type mode in PhpStorm (Settings|Editor|Code Style|Inspections|PHP|Type Compatibility). It gives a warning if you didn’t have declare(strict_types=1); as the first line of the file. There is also an intention which allows you to fix this across the whole project. This is especially useful if you are converting a whole project to PHP 7 and want to enable strict types.

strict_types

Improved support of PSR-0/PSR-4

“Create new test” and “Create new class” actions were improved and now they take into account PSR-0/PSR-4 and allow you to generate new folders. Also if you have a folder marked as “Test Source Root” this folder will be picked up automatically in the directory field when you create a new test.

test

Auto-detection and configuration of PHPUnit and Behat

We made it easier to set up PHPUnit and Behat for your project. Now existence of these test frameworks will be detected from the composer.json and you will get a popup tooltip suggesting configure them automatically.

phpunit2

PHP stubs are shown as external libraries

Now PHP stubs are shown as an external library in PhpStorm.

stub

PHP UML support directories

In PhpStorm 2016.3 we’ve added support of directories for UML diagrams. You can expand classes/subfolder by clicking Expand in directory context menu.

uml2

Support of list() and array of objects

PhpStorm 2016.3 correctly sets up types of variables inside list() if on the right side of assignment is a array of objects.

list

New option to surround chars ‘->’ with spaces

We’ve added an option which allow automatically surround  ‘->‘ with spaces. You can activate it in Settings|Editor|Code Style|PHP and check Object access operator (->) in the Spaces tab.

char

Improvements from platform side

This update brings many Version Control improvements, such as Undo commitRestore and Delete tracked branch actionsSign-off commit, and Scope highlighting and other changes. You can find more details in the IntelliJ blog.

idea_2016_3_undo_commit

JavaScript and CSS

PhpStorm 2016.3 also brings major improvements in its support of top-notch web technologies, such as integration with Flow, PostCSS support, smarter rename for TypeScript, more Angular CLI, grouping generated files in ProjectView, and generation of .editorconfig. You can find more details in the WebStorm blog.

idea_2016_3_flow

Other Changes

Other changes worth mentioning:

  • Improvements in anonymous classes support
  • Support of PHPUnit application-level configurations

See the complete list in our issue tracker and read the full release notes for PhpStorm 2016.3 EAP 163.3512.

Download PhpStorm 2016.3 EAP build 163.3512 for your platform from project EAP page, and please report any bugs and feature requests to our issue tracker.

Your PhpStorm Team
The Drive to Develop

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

    I don’t like the new (Re)open Project dialog.

    Before we had 1 click for either use SAME or NEW frame.
    Now we need to select one option and click OK. That’s 2 clicks.

    Btw, I don’t have the mentioned “Add to currently opened projects” checkbox in my 2016.3 EAP. :-(

    • Matthew Hailwood

      Same issue here

    • Bayu Hendra Winata

      Me too.

      PhpStorm 2016.3 EAP
      Build #PS-163.3512.10, built on August 31, 2016
      PhpStorm EAP User
      Expiration date: September 30, 2016
      JRE: 1.8.0_112-release-b325 x86_64
      JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

      • Bayu Hendra Winata

        I c, look like it doesn’t work when opening via “Open recent…”

  • stevenkw

    Love to be able to open database files in a new window. PhpStorm doesn’t play well with multiple windows. It’s possible to float windows but the program doesn’t behave. Should be easy to group and move “tabs” into windows at will.

  • Owen Kieffer-Jones

    Is there a way to turn off the feature that hides the mouse cursor when typing in the editor? I find it rather disorienting, but can’t find a setting for it.

  • Rasmus Schultz

    Any particular reason you guys have to change the name of temp-folder with every major release?

    Storm performs horribly on Windows if you don’t add an exclusion for the temp-folder to Windows Defender – it slows the whole IDE to a crawl.

    Also, a lot of junk accumulates on my system – I had 9 (nine!) of these folders on my system.

    I’m not sure “C:Users{User Name}” is even the correct place for temp-files in the first place? Traditionally those go in “C:WindowsTemp”, which I believe is automatically excluded from real-time protection, which should improve the experience for everyone. (including those who are just trying out a demo version, or those who think Storm is just horribly slow as a matter of fact.)

    At the very least, you could use an extra sub-folder and maintain the same temp folder-name across major revisions, so we can add that folder once, and not have to do it again after every release…

    • Alexandre Martini

      Hi Rasmus, can you give me some directions on what I could be missing here? I want to make the IDE work as fast as possible… Do I just include the usersusernamephpstorm 2016.2 folder to windows defender exclusions?

      • Rasmus Schultz

        That, and your workspace root.

    • Anna Lebedeva

      We don’t make C:WindowsTemp a default temp folder because a lot of people use PhpStorm under non-admin accounts.
      As for the folders you have found, could you please give us the list?

      • Rasmus Schultz

        There’s a folder for every version I’ve had installed, so “.WebIde80”, “.WebIde90”, “.WebIde100”, etc. for the first generation, and “.PhpStorm2016.1”, “.PhpStorm2016.2”, etc. for the second generation of the IDE. It looks like there’s a new folder after every update.

        I’m suggesting to use e.g. “.PhpStorm2016.1” etc. in the future instead, so the “.PhpStorm” can be added to exclusions once and for all.

        A lot of users don’t know about this though. Many of my coworkers at the office never ask questions and simply put up with the horrible performance on Windows until I teach them how to fix it – most of them think (due to past experience with other IDEs) that it’s just normal; that IDEs are simply “supposed” to be horribly slow.

        Maybe the installer (or perhaps better, the application, on startup) could check the Windows Defender exclusions (in the registry) against the folders it’s using and issue a notice, so the end user would know which folders to exclude? Doing the same for major anti-virus products might be a good idea as well.

        People I know who have been using Php Storm (and/or other JetBrains IDEs) for 1+ years still haven’t figured this out. I imagine a lot of potential IDE users try out the product and quickly conclude that it’s just too slow, and continue to use their sh*tty text-editors…

        Edit: checking the workspace folder against the list of exclusions when I open a project would probably be a good idea, too.

        • rahilwazir

          +1 this is needed. I have to manually remove previous generation directories 2016.1, 2016.2 after importing to the new generation 2016.3 folder