The third build of the PhpStorm 2019.2 EAP (192.4787.17) is now available!
With this build you can try the following new features: PHPT support, new intentions in String Juggling Toolbox, Method Breakpoints via gutter, shell scripts support, automatic suggestions of related files while you commit to a VCS.
As usual, all the updates from Web, DB, and the IntelliJ Platform are included!
Download PhpStorm 2019.2 EAP from the EAP page or via the JetBrains Toolbox App. Or, if you have the previous PhpStorm 2019.2 EAP build (192.4488.6) installed, you should soon get a notification in your IDE about a patch update.
Looking to contribute to the PHP interpreter source and join the PHP Internals core team? That could be a tough task if you don’t know C well. The best way to start contributing to any open source project is to write documentation or add tests! Fortunately, for the latter, you only need to know PHP. Tests for PHP are written in special .phpt files, which are basically a set of PHP scripts and additional information divided into several sections.
Well, PhpStorm 2019.2 comes with support for .phpt files!
- Highlighting for sections and scripts
- PHP and INI languages auto-injection to corresponding sections
- Completion of section names
- Jump to files referenced in EXTERNAL sections
Please let us know what you think and report new issues for missing PHPT features or any bugs you find!
New Intentions in String Juggling Toolbox
PhpStorm can help you with routine string manipulations. Whenever you need to split a string, change quotes, convert interpolation to
sprintf call, or maybe concatenation to interpolation – just press Alt+Enter on a string and choose the appropriate action from the list.
In PhpStorm 2019.2, we’re extending this list with a couple more neat additions.
Let’s say you have a long
sprintf expression, but you need to replace some substring and make it a parameter. Simply select it, press Alt-Enter, and PhpStorm will choose the correct place for a parameter for you:
The same trick works when you need to extract a part of a string and concatenate:
Method Breakpoints via the gutter
As you debug, sometimes you want to find out whether the execution flow goes into a certain function, i.e. whether the function did or did not run. To do this, you had to find the first executable line in a function body and put a breakpoint on it.
Starting with 2019.2, PhpStorm will support method breakpoints, so all you’ll need to do is place a breakpoint on the function declaration line and instead of a round icon you’ll see a rhombus.
Predicting forgotten files
When you’re forming a commit, the upcoming PhpStorm 2019.2 will suggest that you include the files you typically modify, together with the files you’re currently committing.
Show history for directory works through Git log
In PhpStorm 2019.2, it will be possible to select several folders in Project View and see all changes in any of these folders. Select the folders you want to check the changes in, and then choose Git | Show History from the context menu.
Support for Shell Scripts
PhpStorm 2019.2 will provide rich editing support for shell scripts, including word and path completion, rename refactorings, code generation (Cmd+N), and a number of live templates (Cmd+J).
The upcoming PhpStorm 2019.2 includes integration with several external tools to enhance the shell script support even further.
For detecting possible errors in your script, the IDE will prompt you to install the inspection tool named Shellcheck, which can detect a ton of issues and provide quick-fixes for them.
PhpStorm 2019.2 will also integrate with the external formatter engine known as mvdan/sh. When you invoke the Reformat Code action for the first time, the IDE will suggest installing this tool, and once that’s done PhpStorm will properly format your shell script.
The upcoming release of PhpStorm will have integration with the Explainshell website. Starting with this EAP build, you can select a command in the editor and press Alt-Enter on it. The IDE will then take you to Explainshell where you’ll find a detailed explanation of the selected command.
For the full list of changes in this build, including both bug-fixes and improvements, see the release notes.
Please report any problems to our issue tracker or comment on this post. Your feedback is much appreciated!
Your JetBrains PhpStorm Team
The Drive to Develop