PhpStorm 2018.1 Early Access Program is Open

Today we start the Early Access Program for PhpStorm 2018.1 (EAP). A fresh build 181.3007.10 is available for download here and within the JetBrains Toolbox App.

What is Early Access Program?

Early Access Program (EAP) allows you to try pre-release versions of our software to evaluate features that will be added in the next release. It is important to distinguish EAP from traditional pre-release software. Please note that the quality of EAP versions may at times be far below even usual beta standards. If you are looking for a stable version of PhpStorm, please visit our site.

webide_logo

This build delivers new features, bug fixes and improvements for PHP and the Web, and includes the latest improvements in IntelliJ Platform.

Creating class from test

PhpStorm already can create a test from a class (Shift+Cmd+T), which is a time-saver for covering the class implementation with a test. With TDD becoming more and more popular, the situations are pretty common, in which the test is already in place, but the class does not exist yet. To handle such situations, PhpStorm will help you generate a class as well as the class methods from an existing test.

You can invoke the Create missing target class or Create missing target method actions by placing the caret on the element and pressing Alt-Enter.

createMethod-compressor

You can generate all the class methods at once: invoke Run inspection by name and select the Missing target element for PHPUnit test inspection. PhpStorm will take your PSR-0/PSR-4 structure into account and will generate the target class and the class methods in their respective locations.

createMethodBatch-compressor

Improved @covers support

PhpStorm 2018.1 significantly enhances the support for the PHPUnit @covers and @coversDefaultClass annotations. When you add a @coversDefaultClass annotation for a test class, PhpStorm will now provide classes completion for you. With the class selected, PhpStorm will provide you with the relevant choice of the class methods to annotate with @covers. By invoking code completion (CMD/CTRL+Space) twice, you can also complete visibility modifiers.

coversCompletion

You can navigate from a method to all test methods that cover it: simply invoke the Test action with the caret placed inside the method. And then, there’s more: the new inspection will show all usages of @covers with methods and functions not prepended with :: (the scope resolution operator).

New composer actions

We continue improving the support for Composer. In this version, we’ve added six new actions that can be invoked right from the editor: Validate, Dump Autoloader, Check for Changes in Dependencies, Clear Caches, List Licenses, and Diagnose. For the Validate and Dump Autoloader actions, a set of options is provided to better adapt them to your workflow.

composerActions

Other features worth noting

  • New deployment actions in version control Update info panel: WI-7372
  • Script Output tab for debugger: WI-4466
  • Reworked class_alias support: now hierarchy checks and exception analysis work correctly for aliases: WI-33814 and related
  • PHPUnit: now runs all method listed in @depends before the actual test method
  • Completion of test methods’ names based on tested class: WI-38938
  • Inplace extract refactorings: WI-39248WI-14691
  • New inspection: ‘foreach’ can be replaced with ‘array_map’: WI-38051
  • New feature “open terminal here”: IDEA-149976 

Apart from new features, this build brings many important bug fixes and usability improvements, including these:

  • CSS inspector does not recognize SVG elements and properties: WEB-56 
  • Alignment of text when line spacing > 1.0: IDEA-149608 

See the full list of bug-fixes and improvements in our issue tracker and the complete release notes.

Future plans

Use the board here to view the up-to-date list of the features planned for 2018.1 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!


Download PhpStorm 2018.1 EAP build 181.3007.10 for your platform from the project EAP page or click “Update” in your JetBrains Toolbox App and please do report any bugs and feature request to our Issue Tracker.

Your JetBrains PhpStorm Team
The Drive to Develop

This entry was posted in Early Access Program, Newsletter. Bookmark the permalink.

26 Responses to PhpStorm 2018.1 Early Access Program is Open

  1. Jan-Christoph Ihrens says:

    In the Toolbox App, the new EAP version doesn’t show up yet. Is this a problem on my or on your side?

  2. Xan Bertison says:

    Still hoping for something like Visual Studio Code’s LiveShare or Atom’s TeleType.

  3. Peter Kokot says:

    At the time of this comment, link for the download at the bottom is not working – 404 error. Should be this one:
    https://www.jetbrains.com/phpstorm/eap/

  4. Casp says:

    “Find in Path” and “Replace in Path” seems to have some issues.

    With “Replace in Path” if I enter a search and replace keywords, which return 84 results, and I click the “Replace All” button. I get the confirmation “Replace 84 occurrences of ‘searchWord’ across 10 files with ‘replaceWord’?” but when I click “OK” I get an error dialog: “No search text entered”

    “Find in Path” also behaves strangely sometimes. Under some circumstances it would return less results if I have the “Anywhere” filter selected and then return more results if I select the “except comments” filter.

  5. Junaid Atari says:

    Not working for me. Always ask to download stable version 2017.3.3. what’s up?

  6. Профиль заблокирован says:

    MANS!!! Update LINK to 2018.1 from 2017.3.3!!!

  7. Sylwester says:

    You have a horrible update system. I’m trying to patch every version and when it doesn’t work I ignore then try again and patch every step forward. Now I have 2017.3.3 EAP and it refuses to patch to 217.3.3 or 2018.1 so I’m struck at 2017.3.3 EAP… I refuse to download as I’ve change the Icon so that I can see the difference between the EAP and Stable.

    • Maxim Kolmakov says:

      We provide patches between the following EAP->EAP (same major version), major version->major version, EAP->minor and minor->minor. Unfortunately, we don’t build patches between each possible combination. Please take a look at: https://blog.jetbrains.com/phpstorm/2017/09/taking-control-of-phpstorm-updates/ there are some way to handle patching.

      In your case I believe you’ve missed one EAP update 2017.3.3 EAP -> 2017.3.3 EAP2 and as a result patch system suggests you to download the full version:( There is a workaround (blog above) but Toolbox will be an universal solution.

      Please note that we don’t provide patches between release version (2017.3.3) -> EAP for the new version (2018.1) since a first two EAPs may be a bit unstable and we don’t want to ruin your stable installation.

  8. Ilya Rogov says:

    Is it possible to install the version 2018 via snap?

  9. Carles says:

    Great work! I’m starting to use it today. One thing I have found is that I can’t import two live templates I got from this repo: https://github.com/knpuniversity/phpstorm-settings

    I have placed that two xml files in config/templates, and in PHPStorm2017.3 I’m able to use them, but I can’t in 2018.1. If I open live templates window, I don’t see that two new entries. Do I need to place them anywhere else?

    Thank you

    • Eugene Morozov says:

      No, it’s the exact same location. Just tried with knp_frontend.xml, works as expected.

      • Carles says:

        Really? I’m using PHPStorm 2018.1 in Fedora Core 27, and I’m unable to see that two live templates. I have copied only one, downloaded again from github, and nothing. If I copy that same files to PHPStorm2017.3 version, I can see and activate them. It’s strange.

        • Eugene Morozov says:

          https://screencast-o-matic.com/watch/cFnhDsoBs2
          Could you please try performing the same actions (starting with creating an empty ‘templates’ folder)?

          • Carles says:

            It has a strange functionality. I deleted templates folder and started Phpstorm 2018EAP. No new live templates there. Then I did the same as you, with Phpstorm opened, I created templates folder and saved knp_frontend template. Restarted the program and it shows the live template. Then I did the same with the other template, restarted and no way to show the second template there. It only shows the first one.

            So I renamed the full ~/.Phpstorm2018.1 to ~/.Phpstorm2018.1.old to start again with a fresh configuration, and didn’t import any settings apart from the settings that gets from jetbrains profile. Then I did the same but with the symfony template, and when I restarted Phpstorm I see the two templates. If I go to templates folder, I only have 1 xml there, but restarting Phpstorm I still see the two templates.

          • Eugene Morozov says:

            It sounds like a bug. Could you please collect the logs (Help | Collect and Show Logs) for this last config folder you’ve made, and submit it at https://youtrack.jetbrains.com/newIssue?project=WI

          • Carles says:

            Done! https://youtrack.jetbrains.com/issue/WI-40652 I tried to explain as good as I can, I hope it helps!

  10. Marco says:

    When will the stable version be released, more or less? Thanks!

Leave a Reply

Your email address will not be published. Required fields are marked *