{"id":21316,"date":"2019-09-20T12:42:06","date_gmt":"2019-09-20T12:42:06","guid":{"rendered":"https:\/\/blog.jetbrains.com\/phpstorm\/?p=14880"},"modified":"2019-09-20T12:42:06","modified_gmt":"2019-09-20T12:42:06","slug":"phpstorm-2019-3-eap2","status":"publish","type":"phpstorm","link":"https:\/\/blog.jetbrains.com\/pt-br\/phpstorm\/2019\/09\/phpstorm-2019-3-eap2","title":{"rendered":"PhpStorm 2019.3 EAP#2"},"content":{"rendered":"<p>The second build of the PhpStorm 2019.3 EAP is now available!<\/p>\n<p>This build delivers PHPDoc improvements, lets you view the GitHub PR timeline and customize time format in VCS log, provides new quick-fixes for if-else constructs, and adds a couple of neat timesavers in PHP.<\/p>\n<p>Download it on <a href=\"https:\/\/www.jetbrains.com\/phpstorm\/eap\/\" target=\"_blank\" rel=\"noopener\">the EAP page<\/a> or via the <a href=\"https:\/\/www.jetbrains.com\/toolbox\/app\/\" target=\"_blank\" rel=\"noopener\">JetBrains Toolbox App<\/a>. Or, if you have the previous PhpStorm 2019.3 EAP build (193.2956.42) installed, you should soon get a notification in your IDE about a patch update.<\/p>\n<p align=\"center\"><a class=\"jb-download-button\" href=\"https:\/\/www.jetbrains.com\/phpstorm\/nextversion\/\" target=\"_blank\" rel=\"noopener\"><i class=\"download-icon\"><\/i>Download PhpStorm 2019.3 EAP<\/a><\/p>\n<p>If you\u2019re not yet familiar with our Early Access Program, here are the basics you should know:<\/p>\n<ul>\n<li><em>Every week<\/em> we publish a fresh build for the upcoming version of PhpStorm.<\/li>\n<li>EAP builds provide access to the <em>newest features<\/em> we\u2019re currently developing.<\/li>\n<li>EAP builds are <em>free<\/em> to use but expire within <em>30 days<\/em> of the build date.<\/li>\n<li><strong>Important! PhpStorm EAP builds are not fully tested and might be unstable.<\/strong><\/li>\n<li>You can install an EAP build <em>side by side with a stable<\/em> PhpStorm version to try the latest features.<\/li>\n<\/ul>\n<h2 id=\"phpdoc\">PHPDoc<\/h2>\n<p>PHPDoc blocks in PHP are an integral part of development. They can even affect the execution if you are using advanced annotations and AOP techniques.<br \/>\nTraditionally in PhpStorm, you had resolving for FQNs and links in PHPDoc, but the whole block was displayed in one color and styled just like regular comments.<br \/>\nNow, starting with PhpStorm 2019.3, doc blocks will get full highlighting for all the types, variables, params, methods, and properties. If you have HTML in your comments, it will also be highlighted as such.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-14882\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-phpdoc-light-theme.png\" alt=\"phpdoc-light-theme\" width=\"640\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-phpdoc-light-theme.gif\" \/><\/p>\n<p>Let us know how you like the changes and what we should improve!<\/p>\n<h2 id=\"quick_fixes_for_conditions\">Quick-fixes for conditions<\/h2>\n<p>The conditional <code>if-else<\/code> statement is probably the most used construct in the language. So in PhpStorm 2019.3, we\u2019ve added a few quick &amp; neat actions to manipulate conditions.<\/p>\n<p>If you have an assignment inside an <code>if<\/code> statement, PhpStorm will suggest extracting it to a variable with <em>Alt+Enter<\/em>:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-14885\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-if-assignment-extract.png\" alt=\"if-assignment-extract\" width=\"600\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-if-assignment-extract.gif\" \/><\/p>\n<p>If you have nested <code>if<\/code> conditions, it is now possible to quickly merge them into one with <em>Alt+Enter<\/em>:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-14887\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-if-merge-conditions.png\" alt=\"if-merge-conditions\" width=\"600\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-if-merge-conditions.gif\" \/><\/p>\n<p>You can merge <code>else<\/code> followed by <code>if<\/code> into a single <code>elseif<\/code>:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-14889\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-else-if-merge.png\" alt=\"else-if-merge\" width=\"600\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-else-if-merge.gif\" \/><\/p>\n<p>Or do the opposite and split <code>elseif<\/code> into <code>else<\/code> and <code>if<\/code>:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-14891\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-elseif-split.png\" alt=\"elseif-split\" width=\"600\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-elseif-split.gif\" \/><\/p>\n<h2 id=\"other\">Other Improvements<\/h2>\n<h4 id=\"auto_insert_php_when_just_is_typed_in\">Auto-insert &lt;?php when just &lt;? is typed in<\/h4>\n<p>Short tags are likely to remain a part of PHP at least for the next few years, as the last <a href=\"https:\/\/wiki.php.net\/rfc\/deprecate_php_short_tags_v2\" target=\"_blank\" rel=\"noopener\">RFC vote<\/a> did not pass.<\/p>\n<p>But PhpStorm will help you a bit with deprecating short tags, by automatically inserting <code>&lt;?php<\/code> as soon as you type <code>&lt;?<\/code>:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-14892\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-php-no-short-tag.gif\" alt=\"php-no-short-tag\" width=\"600\" \/><\/p>\n<h4 id=\"automatically_complete_to_after_array_key\">Automatically complete &#8216;=&#8217; to &#8216;=&gt;&#8217; after array key<\/h4>\n<p>Another small timesaver in the upcoming 2019.3. When you are adding an item into an array, and you type a key and then want to type <code>=&gt;<\/code> to specify a value, just press <code>=<\/code> and PhpStorm will auto-insert <code>=&gt;<\/code>:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-14896\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-array-quick-typing.gif\" alt=\"array-quick-typing\" width=\"600\" \/><\/p>\n<h4 id=\"fonts_colors_for_this_variable\">Fonts &amp; colors for $this variable<\/h4>\n<p>While coding, we sometimes spend more time reading than writing, so coloring and highlighting really matters. In 2019.3, you will be able to choose the font and colors for occurrences of <code>$this<\/code>:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-medium wp-image-14894\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-this-color-and-fonts.png\" alt=\"this-color-and-fonts\" width=\"499\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-this-color-and-fonts.gif\" \/><\/p>\n<p>What else would you like to have improved in highlighting? Let us know!<\/p>\n<h2 id=\"vcs\">VCS<\/h2>\n<h3 id=\"date_format_customization\">Date format customization<\/h3>\n<p>Sometimes, when you are looking through a version history log, it\u2019s easier to comprehend the information if the time is displayed in a relative format. Or, if you are from the US, you are most likely used to mm\/dd\/yyyy.<\/p>\n<p>In PhpStorm 2019.3, it is possible to configure the date format for VCS Annotate and VCS Log actions.<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-14904\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-vcs-date-formats.png\" alt=\"vcs-date-formats\" width=\"800\" data-gif-src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-vcs-date-formats.gif\" \/><\/p>\n<p>In fact, we&#8217;ve added the API for date\/time customization in the IntelliJ Platform, and we will add more UI areas where date and time formats are important. Feel free to create feature requests for them.<\/p>\n<h3 id=\"timeline_for_github_pull_requests\">Timeline for GitHub Pull Requests<\/h3>\n<p>Some time ago we introduced initial support for GitHub Pull Requests, to let you view the list of all Pull Requests in the project and browse through them to see the changes and their current status. While it was great to have this ability in the IDE, there were some known limitations, for example, being unable to view reviewers\u2019 comments.<\/p>\n<p>The upcoming PhpStorm 2019.3 will add this missing piece to the picture. It will display a timeline with all the relevant information about a pull request such as comments, reviews, and updates made to pull requests \u2013 basically, all the information you may need to make a decision whether or not to merge this pull request.<br \/>\nSimply double-click a pull request, and the IDE will display the comments in the editor tab.<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-14895\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2019\/09\/phpstorm-github-timeline.png\" alt=\"github-timeline\" width=\"798\" data-gif-src=\"https:\/\/imgur.com\/yrT2XKn.gif\" \/><\/p>\n<p>For the full list of changes in this build, including both bug-fixes and improvements, consult the <strong><a href=\"https:\/\/confluence.jetbrains.com\/display\/PhpStorm\/PhpStorm+193.3519.29+Release+Notes\" target=\"_blank\" rel=\"noopener\">release notes<\/a><\/strong>.<\/p>\n<p>Please report any problems to our <a href=\"https:\/\/youtrack.jetbrains.com\/issues\/WI\" target=\"_blank\" rel=\"noopener\"><strong>issue tracker<\/strong><\/a>, or by commenting on this post. Your feedback is much appreciated!<\/p>\n<p><em>Your JetBrains PhpStorm Team<\/em><br \/>\n<em>The Drive to Develop<\/em><\/p>\n","protected":false},"author":869,"featured_media":21332,"comment_status":"open","ping_status":"open","template":"","categories":[826],"tags":[438,284],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/phpstorm\/21316"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/phpstorm"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/types\/phpstorm"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/users\/869"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/comments?post=21316"}],"version-history":[{"count":0,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/phpstorm\/21316\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media\/21332"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/media?parent=21316"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/categories?post=21316"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/tags?post=21316"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/pt-br\/wp-json\/wp\/v2\/cross-post-tag?post=21316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}