Tech Blog
4 MIN READ

JetBrains – What is plan for the 2023.1 version of PhpStorm?

Is it a good idea for developers to publish their application development roadmaps before releasing the latest version of the app? JetBrains dared to find out last year when they published a public roadmap for the first time.

Considering the fact that they announced they will be doing it again for the 2023.1. version of PhpStorm, we can conclude that this was indeed a good idea.

As Roman Pronsky states in this blog, the comments from Reddit, Twitter and other social media had a really positive impact on their

So, what is plan for the 2023.1 version of PhpStorm?

In the first release of 2023, JetBrains plans to improve performance and indexing, add 3v4l integration, and add and improve generics support and support for multi-composer and multi-vendor projects.

JetBrains also announced putting more effort into making PhpStorm significantly faster.

Main initiatives

 

Improved responsiveness of IDE will be followed by fixing known freezes, moving some additional computations to background threads, and improving menu responsiveness. JetBrains will always try to make editing and in interacting with code lightweight and fluid.

Code highlighting, indexing, and time-consuming inspections will all be sped up in the next version.

More available options during indexing.

To get the most out of PhpStorm, it first needs to index everything. JetBrains announced that they will try to allow more features to run together with speeding up the process of indexing.

Downloadable shared indexes

The benefit of shared indexes is amazing. Once generated, shared indexes can be reused on another computer anytime.

If symphony/console is one of the most used PHP packages in the world, why compute its index repeatedly when you can index it once and share it?

JetBrains will try to implement shared indexes for PHP packages in the next releases. Maybe the best result will not be seen in the first version because they can index only popular packages and versions, but in future ones, it will be for sure. If you didn’t know, you can generate your own indexes for your personal projects, and here is the link for instructions.

Run PHP snippets on 3v4l.org right in the IDE

The well-known 3v4l.org tool will be available for PHP code testing in the upcoming PhpStorm release. It is very practical for rapid testing and comparing the behavior of specific code because it runs on all versions of PHP.

 

Neos

Automatic configuration of local setup

When opening a project for the first time in PhPStorm, you need to configure a few things manually and that is sometimes very annoying. JetBrains announced that they will try to automate configurations such as specifying the PHP interpreter and setting up quality tools and other third-party integrations. When you open the next new version, all you’d need to do is open a project, run composer installs from the terminal or PhpStorm, and everything else would be set up for you.

Class references for var_dump() / dd() output in the terminal and clickable paths

For Var dump() and dd() output in the terminal, clickable paths and class references are provided.

For users who prefer the “dump and die” method, JetBrains want to enhance the debugging experience. They have already created active file paths and class references as a first step. The associated file will be opened in the editor when you click on them.

Neos
Neos

One of the most desirable features of PHP is support for generics. What JetBrains wants in the future is for users to make maximum and full use of all generics in PhpStorm, and to improve inspections and cover the remaining edge cases on user projects.

Here are the planned features that JetBrians plans to tackle:

  • WI-65460 Infer the “@template T of Type” in the generic class itself.
  • WI-62769 Generics: Support wrapping T into T[].
  • WI-64022 Support @mixin with a template.
  • WI-69638 Support Generics Type in @mixin.
  • WI-63498 Generics: Cannot combine extends with a template.
  • WI-63845 Generic autocomplete does not work with class properties.
  • WI-63722 Generics doesn’t preserve `static` type.”

PHPStan and Psalm tags

In the next release of PhpStorm, JetBrains plans to add type inference, parsing for all current tags, and some specialized highlighting. They will add more support in the IDE for tags like @no-named-arguments, immutable, @mutation-free, @api and @readonly

Support for multi-composer and multi-vendor projects

It is quite normal that several independent applications with their `composer.json’ dependencies work on one project.

PhpStorm currently treats each open project as a single window, so JetBrains has announced that it wants to implement support for these types of projects.

With this addition, you will be able to set different source roots, test directories, and even different language levels. So, with the same project open in a single PhpStorm window, one of your services could be running on PHP 7.4 while another could be running on the most recent PHP 8.2.

Great, isn’t it?

Debugger for data flow analysis.

One of the last announced benefits will be DFA debugger. With this, you will not need to use step-into to see the branches of code that will never be executed, because conditions will be computed in advance.

Before the code is executed, you can see that PhpStorm is aware of the outcome of the conditions, so you can understand the situation in the code without reading any further.

JetBrains will add inlay values of precomputed conditions. Any branches that won’t be executed could also be highlighted in gray, as seen in the example video above.

This is more advanced support for those who use Xdebug for debugging PHP apps.

What do you think about these additions? JetBrains will try to make it happen by the next new version of PhpStorm.

Feel free to leave a comment on Linkedin or email us so we can send your suggestion to JetBrains and help develop the new version of PhpStorm in the best possible way.

 

 

Blog resource: https://blog.jetbrains.com/phpstorm/2023/01/what-s-next-in-phpstorm-the-2023-1-public-roadmap/

Skip to content