PhpStorm 2018.1.2 is released

PhpStorm 2018.1.2 build 181.4668.78 is now available! You can download it here or in JetBrains Toolbox App. If you have installed the previous PhpStorm 2018.1.1 or PhpStorm 2018.1.2 EAP build (181.4668.24), please invoke the Check for updates action to receive the latest update.

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

Syntax Highlighting in Quick Definition

Using the Quick Definition popup became more convenient: with added syntax highlighting, you can now read what exactly a function or a class is doing, without losing your current context.
quick_definition

Flexible configuration of imports from the global namespace

In the previous versions of PhpStorm, you could choose to either import everything (functions, classes, constants) from the global namespace or use FQN for functions and constants. We’ve listened to your feedback and realized that more flexibility is sometimes required. In PhpStorm 2018.1.2, you can control auto-import separately for classes, functions, and constants.

For classes, you can choose between “insert FQN” and “prefer import” (PhpStorm will insert import if this doesn’t result in a conflict). For functions and constants, the options are “insert FQN”, “prefer import”, and “prefer fallback” (you can refer to the PHP documentation for its exact meaning).

import_global

Notable bug fixes and features worth mentioning:

  • Collapsing tree node does not collapses all subnodes (regression) IDEA-186081
  • Command Line Tools Console – Cursor Not In Run Box WI-39796
  • Incorrect variable name during phpDoc generation for field in case inferred type in constructor $this WI-40887
  • ‘Goto definition’ on ‘new expression’ targeting parent class __construct instead of referenced class WI-41585
  • Provide the ability to disable tooltips in editor without disabling inspections IDEA-114803
  • Subversion File History not working for links with spaces IDEA-185360
  • Typescript readonly type inference from const WEB-32055
  • Add option to omit JsDoc types for TypeScript code WEB-28964

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

Download PhpStorm 2018.1.2 build 181.4668.78 for your platform or click “Update” in your JetBrains Toolbox App and please do report any bugs and feature request to our Issue Tracker.

JetBrains PhpStorm Team
The Drive to Develop

Posted in Newsletter, Release Announcements | Tagged | Leave a comment

Code navigation improvements

In PhpStorm 2018.1, navigating your codebase is a bit easier. The navigation features are actually not new, but we’ve fixed several issues with them to make them behave more predictably. If something was not working for you previously, now it’s probably the right time to give them a second chance.

splash

Continue reading

Posted in Cool Feature, Newsletter | Tagged , , , | 6 Comments

PhpStorm 2018.1.2 EAP 181.4668.24

It’s a start of Early Access Program for PhpStorm 2018.1.2, a second minor update for the recently released PhpStorm 2018.1. A fresh build 181.4668.24 is available here, in JetBrains Toolbox App or, if you have installed PhpStorm 2018.1.1 and have “Early Access Program” channel in Settings->System Settings->Updates, you should soon get a notification in the IDE about a patch update.

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

Continue reading

Posted in Cool Feature | 11 Comments

Configurable unchecked exceptions

In PhpStorm 2017.3, we’ve implemented several inspections that will help you eliminate unhandled exceptions and redundant @throws from your code. Initially, it was possible to exclude the \RuntimeException and \LogicException exceptions, as well as their derived classes, from the inspection scope.

In PhpStorm 2018.1, we are providing you with even more control over how you analyze your code:

analysis_tab
Continue reading

Posted in Cool Feature, Newsletter | Tagged , | Leave a comment

Handling responses in the HTTP Client

At the HTTP client’s inception, we’ve been primarily focused on the composing requests experience, and PhpStorm 2018.1 brings numerous improvements in this area. Working with responses, however, has been greatly enhanced, too. Let’s resume where we left off, and take a look at it.

splash

Continue reading

Posted in Cool Feature, Newsletter | Tagged , , | 10 Comments

PhpStorm 2018.1.1 is released

PhpStorm 2018.1.1 build 181.4445.72 is now available! You can download it here or in JetBrains Toolbox App. If you have installed the previous PhpStorm 2018.1 or PhpStorm 2018.1.1 EAP build (181.4445.32), please invoke the Check for updates action to receive the latest update.

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

If you don’t receive the automatic update, please check your settings under Preferences | Appearance & Behavior | System Settings | Updates and make sure that Automatically check for updates is enabled. You may also invoke the Check for updates action.

File-level suppression to PHP inspections

PhpStorm provides a lot of inspections to catch all sort of errors in your code, but it may occur that some particular code shouldn’t follow the standards set for the whole project. In previous PhpStorm versions, you were able to suppress a warning for a particular statement or declaration.

PhpStorm 2018.1.1 brings the ability to suppress an inspection for the whole file: just add /**@noinspection <inspection_name> */ right after the first opening PHP tag or press ALT+Enter on the inspection warning and select Suppress for file in the submenu. You can also use /**@noinspection ALL */ to suppress all inspection for the file.

We encourage you to use this feature with caution, since it may cost you a bug in production.

supress_for_file

Required plugins for a project

Suppose you’ve found an essential plugin that would help a lot with developing your project (Symfony or PHP Annotations plugins are good examples of such plugins), and you want to make sure that everybody on your team is on the same page. Previously there was no way to let your colleagues know about the plugins without talking to them or writing the readme file.

PhpStorm 2018.1.1 introduces Required plugins, which you can locate under Preferences | Build, Execution, Deployment | Required Plugins. You can specify the plugins and their exact versions as the project’s requirements.  After you’ve set them, PhpStorm will notify if the required plugins are missing or need an update.

required_plugins

Go to Type action

You might have already used the Navigate | Type declaration action when working with  JavaScript or when using our other IDEs. It lets you navigate to the type declaration from any expression, and now it is available in PHP, as well.

Suppose you have the following code:

When you invoke the action on the $a variable, the caret will move to class D, since this is the type of the variable. If the action is invoked on the f method callthe caret will move to its return type, which is class C in our case.

Notable bug fixes and features worth mentioning:

  • Incorrect ‘find usages’ / refactoring of __constructor of parent class WI-19518
  • Indexing of large files WI-41378
  • Deployment: context menu is missing if no default server is selected WI-40826
  • Docker-compose: output isn’t shown WI-41002
  • Keystrokes lost during freezing IDEA-186636
  • CommonJS: properties of function object returned by exported module not resolved WEB-24161
  • DESC/DESCRIBE in read-only mode DBE-397

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

Download PhpStorm 2018.1.1 build 181.4445.72 for your platform or click “Update” in your JetBrains Toolbox App and please do report any bugs and feature request to our Issue Tracker.

JetBrains PhpStorm Team
The Drive to Develop

Posted in Newsletter, Release Announcements | Tagged | 2 Comments

Easier start with the HTTP client

The HTTP client in the code editor introduced in PhpStorm 2017.3 has been incredibly well received. In fact, it’s even due to fully replace the GUI-based REST client. Just in case you’ve missed it, take a look at the introductory post to get started. In PhpStorm 2018.1, we’ve made the onboarding process with the HTTP client smoother than ever.

splash

Continue reading

Posted in Cool Feature, Newsletter | Tagged , , | Leave a comment

Codeception сode coverage support

PhpStorm 2018.1 delivers long-awaited code coverage support for Codeception. Now you can get a detailed overview of which portions of your application’s codebase are covered with tests.

splash
Continue reading

Posted in Cool Feature, Newsletter | Tagged , | Leave a comment

PhpStorm 2018.1.1 EAP 181.4445.32

It’s a start of Early Access Program for PhpStorm 2018.1.1, a minor update for the recently released PhpStorm 2018.1. A fresh build 181.4445.32 is available here, in JetBrains Toolbox App or, if you have installed PhpStorm 2018.1 and have “Early Access Program” channel in Settings->System Settings->Updates, you should soon get a notification in the IDE about a patch update.

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

Continue reading

Posted in Early Access Program | 6 Comments

Inline method refactoring

In PhpStorm, you can use the Extract method refactoring to transform a group of statements into a method. Surprisingly enough, doing the opposite has not been possible up until recently. In PhpStorm 2018.1, we are introducing the Inline method refactoring.

inline-method-splash

Continue reading

Posted in Cool Feature, Newsletter | Tagged , | Leave a comment