The new PhpStorm 2018.3 EAP build (183.2635.12) is now available! You can download it here or via JetBrains Toolbox App. Or, if you have the previous PhpStorm 2018.3 EAP build (183.2635.12) installed, you should soon get a notification in the IDE about a patch update.
This build delivers multiline todos, support for Intersection Types, flexible Heredoc and Nowdoc syntax, PHPDoc PSR-5 <generic> collection type hints, a bunch of bug fixes and improvements for PHP and Web, and includes the latest enhancements of IntelliJ Platform.
As you may know, you can create reminders in code comments, and then view them at a later point in the Todo tool window. The comment must start with
@TODO, or any other custom pattern that you add under Preferences | Editor | Todo.
Start the todo comment with the usual
Todo and then add extra indents on the next lines to continue the todo. If you remove the indentation, PhpStorm will treat it as a normal comment.
Flexible Heredoc and Nowdoc Syntax Support
Developers were not using Heredoc and Nowdoc strings much because of ugly syntax. Luckily, in PHP 7.3, Heredoc and Nowdoc will be significantly improved. You may indent the closing marker as you wish, and the indentation of the closing marker will dictate the amount of whitespace to strip from each line within the heredoc/nowdoc. PhpStorm now supports this upcoming neat syntax:
Support for Intersection Types
PHPDoc has the concept of Union Types
Foo|Bar for many years, and so does PhpStorm. The less known concept is Intersection Types, written as
Foo&Bar. It means that the type of a variable is
Bar at the same time. Read more about Union Types vs. Intersection Types in a great write up by Ondřej Mirtes.
In this build, PhpStorm adds support for Intersection syntax on the parser level. Both
| will behave the same way for now. Stay tuned for more!
tearDown methods for PHPUnit
PhpStorm has a wide range of context-aware code generation options, which you can access by pressing Cmd+N in the editor.
If you are implementing a PHPUnit test case, you’ll see several additional options. In this build, we’ve added the generation of
tearDown methods. These methods are called every time before and after running each test method, respectively.
PHPDoc PSR-5 <generic> collection type hints
The PSR-5 PHPDoc standard is in the draft state for some time, and is having an Entrance Vote in the PHP-FIG right now. Meanwhile, in PhpStorm we are already adding Generics-style notation support for collections on parser level. See the Collections section in the standard for more examples.
Let us know what you think about it.
Other PHP updates worth noting
- Fixed extract field refactoring (WI-41683 +9)
- Fixed order of variables in autosuggestion (WI-30362 +5)
- Fixed completion inside breakpoint condition while debugger session is not active (WI-6792 +8)
Other platform updates worth noting
- Added Cmd+1,2,3,4 for selecting tabs like in Chrome, Safari, Firefox (IDEA-68324 +43)
- Now showing current branch on Commit Dialog (IDEA-63893 +86)
- Auto-reconnecting to db after “db timeout / disconnect / ssh timeout” (DBE-5294 +66)
- Fixed spell checker false positive in SQL files at symbol (@) (DBE-2250 +5)
- Added “Reassociate” action to change a file type association (IDEA-186794 +7)
See the full list of bug-fixes and improvements in the complete release notes.
Use the board to view the up-to-date list of the features planned for 2018.3 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!
Your JetBrains PhpStorm Team
The Drive to Develop