PhpStorm 2023.1 Early Access Program Is Open!
The Early Access Program (EAP) for the next major PhpStorm release starts today!
In this first EAP build, you’ll get 3v4l integration, full IDE zoom, improvements for Markdown files, and VCS enhancements.
In addition, the build features its first batch of performance improvements, including downloadable shared indexes for top PHP packages and the availability of the Go to Class action during indexing.
If you’re unfamiliar with how our EAP works, here’s a quick recap…
- We publish new EAP builds every week and showcase upcoming features.
- EAP builds are free to use and don’t require a license.
- You can install the EAP version alongside your stable version of PhpStorm – there is no need to uninstall it.
- The easiest way to get EAP builds and keep both your stable and EAP versions up to date is with the Toolbox App.
- Download builds from the EAP page or receive them automatically in the IDE by selecting Check IDE Updates for the Early Access Program under Settings/Preferences | Appearance & Behavior | System Settings | Updates.
For this release, we published a public roadmap, and we greatly appreciate all of the feedback we have received so far. Many of the items mentioned in the PhpStorm 2023.1 Roadmap have already been implemented, while others are still works in progress.
For now, let’s look at what’s new in the first EAP build of PhpStorm 2023.1.
Run PHP files on 3v4l.org
3v4l.org is a popular service that lets you test PHP code on all versions of PHP, even those that have not yet been released.
PhpStorm 2023.1 natively integrates with 3v4l.org and allows you to run PHP scratch files on a desired PHP version without having to install anything else.
- Create a new PHP scratch file by pressing Cmd+Shift+N.
- Choose your desired PHP version from the dropdown, and press the Run button. You’ll see the output of the script next to the editor.
- You can also run arbitrary code from your project. To do this, select a piece of code, press Alt+Enter, and then choose Create new scratch file from selection.
If you find the 3v4l.org service useful, consider supporting its author with a donation here: https://3v4l.org/sponsor.
Shared indexes for popular PHP packages
As part of our work to improve performance, we have added downloadable shared indexes for PHP dependencies.
Unlike regular indexes, which are built locally in your PhpStorm, shared indexes are generated once and are later reused on another computer whenever they are needed.
For example, symfony/console is one of the most used PHP packages in the world. Why should everyone need to compute its index over and over again if we can just index it once and share it? This is what shared indexes are about.
In v2023.1, when you open a PHP project, PhpStorm checks `composer.json` to see which of the dependencies specified have a prebuilt shared index. For example, popular versions of packages like PHPUnit, aws/aws-sdk-php, doctrine/orm, laravel/framework, symfony/*, and many others have downloadable indexes.
PhpStorm may download the index or rebuild it locally, depending on whether your CPU and RAM are faster than your internet connection.
It’s good to know that you can also generate your own shared indexes for your private projects. Learn more about how to do that here.
Here is, for example, a prebuilt shared index for Shopware by Shyim: https://github.com/shopwareLabs/shopware-shared-project-cache-generator
Go to Class action available during indexing
As another part of our effort to improve performance, we’re working to ensure that as many actions as possible will be available during indexing.
Go to Class (Cmd+O or Navigate | Class…) is one of the most popular actions for navigating through code. In v2023.1, it is available anytime, even while your index is being rebuilt. Previously it would display an empty list until indexing was finished.
Before:
After:
Clickable paths and class references for var_dump() / dd() output in the terminal
We want to improve the debugging experience for users who prefer the “dump and die” approach. As a the first step, we’ve already made file paths and class references active. Clicking on them opens the corresponding file in the editor.
We are planning to add more augmented features for the terminal. What would you like to see?
User experience
New UI
If you haven’t adopted the new UI yet, we recommend doing so, as it has become even more refined. According to our internal research results, the majority of users have responded very positively to it.
You can switch to the new UI in Preferences | Appearance & Behavior | New UI.
Full IDE zoom
It is now possible to zoom in and out of PhpStorm as a whole, changing the size of all UI elements simultaneously. From the main menu, select View | Appearance and adjust the IDE’s scaling.
This could be helpful for demonstrations, live streams, online meetings, or presentations.
Giving these actions unique in Settings/Preferences | Keymap | Main Menu | View | Appearance also makes it simpler for you to invoke these actions.
Another way to assign shortcuts is by going to the Search Actions window (Cmd+Shift+A) and pressing Alt+Enter.
New Remember size for each tool window setting
We’ve introduced a new layout option that allows you to unify the width of the side tool windows or retain the ability to freely adjust their sizes as you customize your layout. The new Remember size for each tool window checkbox is available in Settings/Preferences | Appearance | Appearance & Behavior | Tool Windows.
In the new UI, the setting is switched off by default. This means that the tool windows are displayed featuring the unified width and their sizes remain constant when you switch between them. In the old UI, the option is switched on by default, so the tool windows have different widths, though you can choose to align them at any time simply by turning the setting off.
Visible file name pane when tabs are hidden in the new UI
The name of the file that is currently open is now displayed in a pane when editor tabs are hidden.
Markdown
Fill Paragraph for Markdown files
Markdown files now support the Fill Paragraph editor action, which lets you break up long pieces of text into lines of equal length. To do this, put the caret inside the paragraph you want to change and choose the action from the Edit menu. You can also use Find Action (Cmd+Shift+A) to look for the Fill Paragraph command and run it.
New Smart Keys settings page for Markdown
We’ve added a page to Settings/Preferences | Editor | General | Smart Keys where you can set up and change your Markdown preferences.
This page should make it easier for you to manage your preferences because it has separate checkboxes for different editor features. Previously, there was only one checkbox in Settings/Preferences | Languages & Frameworks.
Version Control Systems
VCS status color hints in the Structure tool window
In the Structure tool window, we’ve added color hints for changes.
This means you can now see which properties, methods, functions, and so on have been changed or added.
Improved Branches popup
It is now easier to move between branches because they are stored in lists that can be expanded.
Auto-completion in the Create New Branch popup
With PhpStorm 2023.1 EAP #1, we’ve implemented auto-completion in the Create New Branch popup. Once you start typing a name for your new branch, the IDE will suggest relevant prefixes based on the names of existing local branches.
Background pre-commit checks
Pre-commit checks for Git and Mercurial are now performed in the background after you commit but before you push. This should speed up the overall commit process.
That’s all for the first build! We’ll keep you informed about any upcoming changes in weekly EAP blog posts.
The complete list of updates in this build is available in the release notes.
Please report any problems you find to our issue tracker, or leave a comment below this post.