PhpStorm 2022.1 EAP #3: Enhanced Array Shapes
The third build of our Early Access Program for PhpStorm 2022.1 is now available!
This blog post will cover enhanced support for array shape annotations that improve code completion for object-like arrays.
Multiline and nested array shapes
In PhpStorm 2021.2, we introduced support for array shapes in PHPDoc blocks. It came with a significant limitation, though – only single-line and single-level annotations were supported.
To get multiline support, you had the option of using the #[ArrayShape] attribute. However, this still had no support for nested structures.
In PhpStorm 2022.1, we are adding full support for multiline and nested array shapes in both PHPDoc and attributes!
While PHP has a great object system, there could be times when defining a real class feels excessive and it’s more convenient to work with simple data structures or object-like arrays.
In such cases, define the structure of arrays with array shape annotations to get the code completion for the keys and infer the value types.
You can use booth PHPDoc and Attribute syntax in PhpStorm, whichever you prefer. The syntax is supported for return types and parameters type definitions. See the PHPDoc example above and here is an attribute one:
Along with the multiline and nested annotations support, there are many additional improvements for array shapes.
Support array shapes with numeric keys
Support specific arrays in object-like arrays
Support lists in array shapes
Support @var array shape annotations of variable usages
Improvements to Vue
PhpStorm incorporates all the improvements for HTML/CSS/JS and other web technologies from WebStorm.
So the 2022.1 version of JetBrains’ IDE comes with several improvements to Vue 3. In this version, if you define components as global, the IDE will recognize them in your .vue files. PhpStorm will also properly support the createApp syntax. It will correctly match applications created using createApp with their related elements.
This version also includes support for Nuxt 3, a new version of the popular Vue framework.
The full list of changes, including bug fixes and improvements, is available in the release notes.
Join the Early Access Program
EAP is a great opportunity to provide feedback on the upcoming features and help us shape the future of the IDE.
PhpStorm EAP builds are not fully tested and may be unstable.You can install an EAP build side by side with a stable PhpStorm version to try out the latest features.EAP builds are free to use but expire 30 days after the build date.
Please report any issues you come across to our issue tracker, or mention them in the comment section of this post.
Tweet at us @phpstorm!
Your JetBrains PhpStorm team
The Drive to Develop