What’s New in PhpStorm 2016.1

This is the first update in the series of the releases planned for 2016. Take advantage of even better code understanding, top-notch coding assistance, and support for all major tools and frameworks.

PHP Language & Editing Experience

Major Improvements in Type Inference, Completion, Code Analysis

Better PHP Language Support

In this release we specially focused on long-awaited improvements in support of PHP language such as improved type inference, completion, support of traits and more.

Support for group use statements

Support for group use statements

Enjoy full support for group use statements in PhpStorm, which includes:

  • Reuse of group use statements during auto-import
  • Support of group uses during refactoring (move method, class, namespaces refactorings)
  • Handy intentions to group or split use statements
Make Static refactoring

Make Static Refactoring

Use the Make Static refactoring in PhpStorm to easily make methods static in any situation, by converting all invocations and by adding object as a parameter or adding parameters for fields if needed.

Read more about "Make Static" refactoring

New intentions

New intentions

We've added more handy intentions to help you code even faster than before:

  • Convert switch to if
  • Convert if to switch
  • Flip if/else branches

New Debugging Experience

Zero-configuration debugging

Usability Improvements for Debugging

If you have never used debugging before, it’s time to start now! We've made Zero-Configuration Debugging easier to discover and set up for new users. PhpStorm will automatically provide complete information and fixes to help you get started with debugging.

XDebug for REST Client

XDebug for REST Client

In PhpStorm you can now debug your RESTful Web Service right from within the REST Client, without leaving the IDE. PhpStorm has a button in the REST Client that sends the HTTP request with the right cookie automatically set, so debugging your API has never been easier.

Read more about XDebug for REST Client

Frameworks, Tools, and more

SFTP/FTP/FTPS keep-alive

SFTP/FTP/FTPS Keep-Alive

PhpStorm contains now the Keep-Alive feature for SFTP/FTP/FTPS servers and Remote Interpreters. In previous releases any connection to remote server used to be closed once the task was ready, such as files uploaded, contents of directory listed, etc. It was bringing significant overhead on authorisation and was especially difficult for those using single-usage passwords to connect. The Keep-Alive feature in PhpStorm resolves all these situations for you.

Read more about SFTP/FTP/FTPS Keep-Alive

Project-level interpreters

Project-Level Interpreters

Now you are able to configure interpreters not only at application, but also at project level. This is extremely practical when you have lots of projects, each having a distinct server used only there or when you want to share your interpreter settings with teammates or put them under version control.

Read more about Project-Level Interpreters

Mappings for Remote Interpreters

Mappings for Remote Interpreters

Work with Remote Interpreters and their mappings in a more transparent and manageable way. Now all detected and inherited path mappings are shown in one place, and you can add custom mappings and disable detected ones easily.

Support re-run failed tests for PHPUnit/Behat

Rerun failed tests for PHPUnit/Behat

In PhpStorm you can now rerun failed PHPUnit or Behat tests. In this new release if you have failed tests to fix, you don’t have to rerun your whole test suite, but just use Rerun Failed Tests button directly from the Test Runner Tool to see if a change has fixed the broken test.

Read more about Rerun Failed PHPUnit Tests

Top-notch Web Technologies

Improved Angular 2 support

Improved Angular 2 support

Angular 2 support in PhpStorm becomes powerful with coding assistance for event and property bindings, as well as completion inside any data binding. Code insight and navigation are available for directives, variables defined in templates, custom event handlers, paths in templateUrl and styleUrls fields, and many other situations.

Better TypeScript support

Better TypeScript support

Enjoy better TypeScript support in PhpStorm, which includes:

  • New refactorings (Create method, Extract method,Inline method and Introduce field)
  • New intentions (Make class abstract, Make public/private and Remove modifier)
  • Unused imports inspection
  • Support of the latest TypeScript 1.8 features
New features in JavaScript debugger

New features in JavaScript debugger

The JavaScript debugger for Chrome now allows debugging asynchronous client-side code and arrow functions in ECMAScript 6, and lets you stop at breakpoints set in Web workers. You can now debug an app’s main process in a built or packaged Electron application, by using Node.js run/debug configuration. You can also debug render process by using Chromium remote debug configuration.

As usual, all features and improvements of WebStorm are available in PhpStorm either out of the box or with free plugins available in the repository. Other noteworthy web-related features include better refactoring options and unused imports inspection for ECMAScript 6 and TypeScript, support for CSS Custom Properties, the possibility for running and debugging Node.js apps remotely, running and debugging Electron applications and more.

IDE improvements

Version Control

Version Control

Version Control comes with the following changes:

  • By-word changes highlighting when merging and comparing revisions with Git and other VCS
  • Compare revisions between branches (For Mercurial))
  • New actions available in Git
  • Work with multiple working trees (introduced in Git 2.5) as you do with regular repositories
Right-to-left languages support

Right-to-left languages support

PhpStorm adds support for right-to-left languages to the editor, such as Arabic and Hebrew.

Speed search

Speed search

Speed-search in the Show Usages popup was improved. Now, when you use it, the matches are highlighted for easier navigation. Besides now you can enjoy the speed search also in the Terminal tool window.

JSON Schema

JSON Schema

PhpStorm now supports JSON schema, a format for describing JSON files. Thanks to it we provide coding assistance for certain types of JSON files. You can add one of the available schemas, or create your own schema and then map it to a specific JSON file in your project. Code completion for tsconfig.json, .eslintrc and .babelrc is now powered by JSON Schema.

Docker

Docker

The Docker plugin was improved and now includes:

  • Support for Docker Machine
  • Dedicated tool window for Docker
  • The right-side panel now allows you to see logs, manage environment variables and port bindings
  • The lists of containers and images are now separate and more readable