IntellIJ IDEA 2017.1 EAP: Async Smart Step Into and Faster Git File History

Last week we published EAP of the upcoming IntelliJ IDEA 2017.1 that included initial support for async stacktraces. Today, along with a fresh EAP build, we’re happy to introduce another improvement aimed at making debugging asynchronous code easier: step into that supports lambda expressions executed on other threads:

Earlier this was only possible when you manually added a breakpoint directly at a lambda expression, but now you can just Smart Step Into to debug asynchronous code.

Another improvement available in this update is the reworked Git File History. It’s faster, can display the revisions graph, and even has a button to include changes from branches other than the current.

Last but not least: we’ve added a new option that allows you to drag and drop breakpoints to remove them.  If you enable it, simply clicking a breakpoint, instead of removing it, will enable/disable it. This is very convenient because it saves you from accidentally removing a breakpoint and losing its parameters such as a condition.

This option is selected via Settings | Build, Execution, Deployment | Debugger | Drag a breakpoint to the editor area to remove it.

As always, your feedback is welcome here in the comments and in our issue tracker.

Develop with Pleasure!

Posted in EAP Releases, New Features | Tagged , , | 9 Comments

IntelliJ IDEA 2017.1 EAP Extends Debugger with Async Stacktraces

Following the reactive programming trend, our code is getting more asynchronous. Earlier Java 8 introduced CompletableFuture (adopted from Guava’s ListenableFuture). Akka, Ratpack, Reactor, RxJava, Vert.x and other libraries implement Reactive Streams, Scala offers Future, Kotlin is adding Coroutines, and finally, Java 9 is about to bring us the Flow. Well, reactive programming helps us build efficient applications, but boy are they difficult to write and debug.

Consider this sample (courtesy of github.com/nurkiewicz):

Continue reading

Posted in EAP Releases, New Features | Tagged , , | 16 Comments

Java Annotated Monthly – February 2017

New year, new style?  This month we’re experimenting with a simpler format for JAM, so you can see at a glance the real titles of the articles being linked to.  The upside is more links! More news! And you can see all the topics at a glance.  The downside? Less witty banter from yours truly.  Let us know in the comments whether you prefer the “usual” format or the new.  As always, we will cover what’s new in the Java world and throw in other bits and pieces that seem interesting for developers.

JavaAnnotatedMonthly@2x

Continue reading

Posted in News & Events | Tagged , , | 14 Comments

IntelliJ IDEA 2016.3.4 Update is Out

While we’re busy working on IntelliJ IDEA 2017.1 and its shiny new features, we don’t forget to backport bugfixes to the latest stable version. Please welcome IntelliJ IDEA 2016.3.4.

If you’re running IntelliJ IDEA 2016.3.3, click Check for Updates and apply the patch via Download and Install. Otherwise, feel free to download the update from our website, or using the ToolboxApp.

Check out the release notes to see the list of bugfixes.

Develop with Pleasure!

Posted in Releases | Tagged , , | 5 Comments

Git Questions – How to get started with a GitHub project

In this week’s Git questions we take a look at a simple but rather important step when you’re working on a GitHub Open Source project – how do you get started?

In the video, Gary and I demonstrate how to fork and clone a project (I chose some Spring example code and Gary chose a JavaScript framework) and how to set up additional remotes so that you can easily keep your fork up-to-date as per our last video. This time Gary’s demonstrating the functionality in WebStorm while I stick with IntelliJ IDEA, as usual the features we demonstrate are common to all the IntelliJ Platform IDEs.

Posted in Tips & Tricks | Tagged , , , , | 1 Comment

IntelliJ IDEA 2017.1 EAP 171.2613.7 is Out

Hello, and welcome to IntelliJ IDEA 2017.1 weekly. We have a fresh EAP build, that, among the usual bugfixes, brings several notable changes:

  • ANSI color codes are now supported by the Docker and Google App Engine consoles
  • Docker tool window now allows you to configure visible Docker images and containers
  • New inspection Inline else code branch
  • Constant Conditions & Exceptions inspection now also reports nullable methods that always return non-null values
  • Hyperlinks are now clickable in Terminal
  • Even better inspection that checks and converts for loops into chains of Java 8 Stream API calls

Your feedback is very welcome in our issue tracker as well as the discussion forum as always.

Develop with Pleasure!

Posted in EAP Releases, New Features | Tagged , | 3 Comments

Git Questions – How to Keep a Git Fork up to Date

Carrying on our series of Git Questions, this week Gary Hockin (PhpStorm Advocate) and I look at the question: how do I make sure my GitHub fork is up to date when the open source project it forked has moved on?

GitHub’s help does, of course, cover this question. But not everyone is comfortable working from the command line, and even those who are, sometimes prefer to use the IDE if they’re already working in it.

This video shows an answer to this question which uses Git’s fetch, pull and push from within IntelliJ IDEA.

Posted in Tips & Tricks | Tagged , , , | 5 Comments

Git Questions – How do I switch branches without losing my work?

We regularly get questions about how to achieve a particular thing – as developers there are parts of our workflow which trip us up, that our tools can help us with if we understand how.  So we’ve decided to start answering these real world questions with videos showing what to do.

The first video features me, Trisha Gee (Developer Advocate for IntelliJ IDEA) and Gary Hockin (Developer Advocate for PhpStorm) answering the question “How do I switch branches without losing the code I was working on?”. Through frequent battles with Git I have learnt there’s always more than one way to do things, so in this video we present two different options.  We’re also two advocates using two different IDEs, coding in two different languages – many challenges we face as developers aren’t unique to our language or tool.

We’re really interested in what you think of this more informal format – it’s more like a video podcast than a screencast. We’d also love to hear what questions or problems you’d like us to tackle in future videos.

Posted in Tips & Tricks | Tagged , , , | 13 Comments

IntelliJ IDEA 2017.1 EAP is Out

Finally, the holidays are over and it’s time to get back to work. We hope you’ve already had a chance to try IntelliJ IDEA 2017.1 EAP. If not, there’s one more reason to do it now: a freshly published EAP build.

Along with the usual bugfixes it brings a handful of quite interesting novelties.

Docker plugin now supports Docker for Mac (via “unix://”). Support for Windows (via “npipe://”) is almost there with certain limitations.

Spring support is becoming better with coding assistance for Spring MVC’s path attribute:

And with the support for Spring Testing (up to Spring 5.0) and Spring Boot Testing (test runners and inspections):

Last, but not least, we’ve addressed the issue related to Korean, Chinese and Japanese keyboard layouts on OS X.

As always, your feedback is very welcome. Please submit bug reports and requests to issue tracker, share your thoughts in the discussion forums, or here in the comments.

Develop with Pleasure!

Posted in EAP Releases, New Features | Tagged , , , | 8 Comments

Java Annotated Monthly – January 2017

Happy New Year!  I hope you had a fun/restful/productive (delete as appropriate) festive season, if applicable.  January’s Annotated Monthly is a gentle introduction to 2017 with a summary of the state of Java and the community, and an overview of some of the key technology trends from 2016.

JavaAnnotatedMonthly@2x

Continue reading

Posted in News & Events | Tagged | 7 Comments