Connecting to Deployment Servers and Remote Interpreters with SSH-Agent

When you work with remote servers, a common and recommended security measure is to use SSH key pairs for authentication.

Our friends at PyCharm have prepared a great blog post on the topic. It explains how to generate an SSH key pair, store the passphrase for the private key in the credential helper, and, in the end, how to connect to a remote Python interpreter over SSH using the generated key pair for authentication.

Before proceeding, make sure that you have a remote machine at hand to which you can connect over SSH using the generated key pair. Also, make sure to add your key to the credential helper application (SSH agent, Pageant, or a compatible tool). If you don’t have a spare remote machine, you can use the example Vagrant box provided as part of the above tutorial.

When ready, jump right into the PhpStorm specifics.

Continue reading

Posted in Cool Feature, Newsletter, Tutorial | Tagged , | 6 Comments

PhpStorm 2017.3 EAP 173.2941.8

The new PhpStorm 2017.3 EAP build (173.2941.8) is now available! You can download it here or via JetBrains Toolbox App. Or, if you have the previous PhpStorm 2017.3 EAP build (173.2463.17) installed, you should soon get a notification in the IDE about a patch update.

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

Performance Improvements

We’ve been working hard on performance improvements in the last two EAPs and we’ve managed to decrease typing latency in the very complex PHP files. For example, we’ve measured the following changes in mPDF main file (38k lines, a mix of PHP/JS/HTML):

Min Delay (ms) Max Delay (ms) Average Delay (ms)
PhpStorm 2017.3 EAP 15.4 46.2 27.3
PhpStorm 2017.2 124.9 210.4 134.6

The measurement was performed using the amazing tool, Typometer, that captures the delay between key press action and its appearance on the screen. As you see the delays have decreased by a factor of 4.

The work is still in progress and we hope to boost performance even further.  If you have particular examples of files that are sluggish in PhpStorm, please comment or create an issue in YouTrack.

Composer Log

In this build, we’ve implemented a Composer Log console. Before all the messages about composer actions and related settings changes were shown in the Event Log, which was overwhelming and not always informative. Now we’ve made a dedicated Composer Log for all Composer related actions and notifications in the project. As a bonus, you can also rerun all actions right from the Log. The Composer Log can be opened from the composer.json editor panel or from the Event Log when you get a first Composer notification. Check it out and let us know what you think!

composer

From the platform side the update brings:

  • Better synchronization of your settings across devices (more details here)
  • Mocha test runner: support –watch option (WEB-11104)

Apart from new features, this build has many bug fixes, including these:

  • Parse exception while converting JSON to object class working with GitHub (IDEA-178764)
  • Only some foreign key edges are shown in the diagram (DBE-2130)
  • Postgres: Database console sets different timezone in session that PGAdmin (DBE-2996)

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

Download PhpStorm 2017.3 EAP 173.2941 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

Posted in Early Access Program, Newsletter | 12 Comments

PhpStorm Team at DrupalCon Vienna – September 2017

Our PhpStorm team is eager to meet you at DrupalCon Vienna (September 26-29).

drupalconViennaDrupalCon brings together thousands of people from across the globe who use, develop, design, and support the Drupal platform. The PhpStorm team is backing the event, and our team lead and developers will be waiting for you at the booth ready to help answer any questions that you might have. We will also be sharing information about future releases, showing demos, and chatting to you about anything you like.

Be sure to register for our free license raffle and grab one of our awesome yo-yos and other gifts. Even if you don’t win a free license, we’ll send you a discount toward a new personal one-year subscription to PhpStorm.

JetBrains team: Alexey Gopachenko (Project Lead), Elena Shaverdova (Software Developer), Svetlana Zemlyanskaya (Software Developer), and Gary Hockin (PhpStorm Developer Advocate).

See you soon!

Keep up with the latest PhpStorm news on our blog and follow us on Twitter @phpstorm.

 JetBrains PhpStorm Team
The Drive to Develop

Posted in Conferences & Events | Leave a comment

Editor-based Rest Client

Among other features introduced in 2017.3 EAP we mentioned the editor-based REST client, which offers a new approach to working with web APIs.

Earlier, you could run your requests with the REST client built right into PhpStorm, but it required crafting each request by hand with lots of button clicking, adding and completing of fields, and so on.

What if we wanted to leverage the power of the PhpStorm editor for the very same task, with completions, refactorings, navigation, VCS capabilities and what not? That’s where the new editor-based REST client comes in. No more fiddling with tool windows: your HTTP requests are now first-class citizens in PhpStorm.

Continue reading

Posted in Cool Feature, Newsletter, PhpStorm, Tutorial | Tagged | 32 Comments

PhpStorm 2017.3 EAP 173.2463.17

The new PhpStorm 2017.3 EAP build (173.2463.17) is now available! You can download it here or via JetBrains Toolbox App. Or, if you have the previous PhpStorm 2017.3 EAP build (173.2290.12) installed, you should soon get a notification in the IDE about a patch update.

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

Support of nullability in refactoring

This build brings the support of nullability in “Extract Interface” and “Change Signature” refactorings. Support of nullability was introduced in PHP 7.1 and helps to avoid omitting type declaration or providing default null value for the function parameter for cases when you really want to pass or return null. Now PhpStorm will preserve nullability in case of “Extract Interface” refactoring and won’t trigger error when it notices nullable type in “Change Signature” refactoring.refactoring

Apart from new features, this build has many bug fixes, including these:

  • Run configurations dropbox should not change its width (IDEA-85375)
  • “Hide file extensions in editor tabs” removes all after dot (IDEA-176821)
  • Author field and Amend checkbox missing when only Unversioned files present (IDEA-169466)
  • Support for TypeScript 2.4+ dynamic import expression (WEB-28464)

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

Download PhpStorm 2017.3 EAP 173.2463.17 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

Posted in Early Access Program, Newsletter | 6 Comments

Taking control of PhpStorm updates

PhpStorm updates are usually patch-based: they are applied to the existing installation and only require you to restart the IDE. Due to the current limitations of the update system, these patches can only be applied sequentially, on top of one another. For example, if you are using PhpStorm 2017.1.1, you can patch it to 2017.1.2, but not to 2017.1.3.

If you skip or ignore a patch, you will lose the ability to apply the subsequent patches. As a result, when a new PhpStorm version is released, you will see a dialog box prompting you to download and install it:

ps_update_download

If this happens, you can restore the ability to apply patched-based updates by manually applying skipped updates one by one.

Follow these steps:

  1. Ignore the proposed update by clicking Ignore This Update. This way, you will add the proposed build’s number to the Ignored updates list.
  2. Open the PhpStorm Settings / Preferences dialog and navigate to Appearance and Behavior | System Settings | Updates.
  3. Click the Check Now button to check for available updates. If you only skipped a single update, the update dialog box will now prompt you to update and restart PhpStorm. Otherwise, keep ignoring the proposed updates until a patch-based update is proposed.
  4. Update and restart PhpStorm.
  5. Navigate back to the Updates settings page and click the View/edit ignored updates link to open the Ignored updates list.
  6. Delete the ignored build’s number from this list and check for available updates once more. The update that you have un-ignored will show up, and you can now apply it as a patch as well. Note that if you have ignored several updates, you need to remove and apply them one by one, starting from the oldest update.

A note for EAP users: you can update PhpStorm only to a minor EAP release, but not to the major one. For example, you can update PhpStorm 2017.2.3 to 2017.2.4 EAP but not to 2017.3 EAP. The 2017.3 EAP version in this case will be installed in parallel with your existing stable installation. EAP versions, however, can be updated to both newer EAP and stable PhpStorm versions.

Manage PhpStorm through Toolbox App

If you prefer a one-stop shop for managing all your developer tools, consider Toolbox App. It’s great for downloading and updating all your JetBrains developer tools, as well as launching your recent projects, from one convenient place. Maintain different versions of the same tool, install updates, and roll them back if needed. Toolbox App also remembers your JetBrains Account and uses it to automatically log you in when you install and register new tools.

To install Toolbox App, follow these steps:

  1. Download Toolbox App.
  2. Launch the downloaded file.
  3. When the installation is complete, accept the JetBrains Privacy Policy and sign in to your JetBrains Account.

ps_toolbox_manage

 

We hope it will help you to keep your PhpStorm updates under control and will make an update process more smooth and clear.

JetBrains PhpStorm Team
The Drive to Develop

Posted in Newsletter, Tutorial | Tagged | 6 Comments

PhpStorm 2017.2.4 is released

PhpStorm 2017.2.4 build 172.4155.41 is now available! It brings major bug fixes and performance improvements. See the full list of bug-fixes and improvements in our issue tracker and in the complete release notes.

You can download it here, in JetBrains Toolbox App or if you have installed the previous PhpStorm 2017.2.3 build (172.4155.25), you should soon get a notification in the IDE about a patch update.

JetBrains PhpStorm Team
The Drive to Develop

Posted in Early Access Program, Newsletter | 36 Comments

PhpStorm 2017.3 EAP 173.2290

The new PhpStorm 2017.3 EAP build (173.2290.12) is now available! You can download it here or via JetBrains Toolbox App. Or, if you have the previous PhpStorm 2017.3 EAP build (173.2099.16) installed, you should soon get a notification in the IDE about a patch update.

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

Quick fixes for Unhandled exception

In the previous EAP we made a new inspection Unhandled Exception with “Add @throws tag”  quick fix. Now we’ve implemented other quick fixes for this inspection Surround with try/catch and Add ‘catch’ clause(s)Surround with try/catch action has also been updated and now adds the exact exception that can be thrown in the surrounded block and not the general Exception.throws_quick_fixes

Inspection “Redundant @throws tag”

For cases when you’ve refactored your code and forgot to update PHPDoc, we’ve added a new inspection Redundant @throws tag. You can invoke either Remove @throws tag or Update PHPDoc quick fix to make a PHPDoc up-to-date.redundant_throws_tag2

Inspection “Redundant catch clause”

The last but by no means least inspection in the series of the new exception related inspections is “Redundant catch clause”. Now you will know when the exception you are trying to catch is actually never thrown and your catch block is redundant.

redundant_catch_clause

We hope that the new inspections will help you to keep exceptions under control!

Apart from new features, this build has many bug fixes, including these:

  • Reload dictionary on externals changes (WI-27124)
  • Navigate to file action should support fuzzier path search terms (IDEA-112841)

From the platform side the update brings:

  • Switch Context when switching branches in git (IDEA-69150)

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

Download PhpStorm 2017.3 EAP 173.2290 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

Posted in Early Access Program, Newsletter | Leave a comment

UML Diagrams in PhpStorm 2017.2

Unified Modelling Language can be used to draw out the relationships between classes, abstract classes, and interfaces, to help you to visualize exactly how your classes interact and are related. PhpStorm has tools that can help you to create these diagrams, and manipulate your code from within the chart.

Continue reading

Posted in Cool Feature, Newsletter | 3 Comments

PhpStorm 2017.3 Early Access Program is Open

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

What is the 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.

PhpStorm_201713EAP_splash

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

Continue reading

Posted in Early Access Program, Newsletter | 18 Comments