Java Annotated Monthly – February 2015

In February’s edition of the Java Annotated, we’ll cover the latest JVM research, new developments from GWT and resources for mobile developers. On the Java Annotated Monthly, we travel far and wide to bring you the latest news from around the Java community. If you are interested in contributing, or would like to continue reading these stories in the future, let us know! Thanks for reading, and develop with pleasure.


Continue reading

Posted in News & Events | 5 Comments

Extract Method Refactoring Improved in IntelliJ IDEA 14.1

<Extract method refactoring> turns a fragment into a method whose name explains the purpose of the method.

Martin Fowler

When we select a block of code, IntelliJ IDEA’s data flow analysis engine is able to deduce all local variables and parameters that are used inside, but are declared outside of it. These variables form the initial set from which a parameter list of the extracted method is be constructed:

Initial set is {i}, and the extracted method will have a signature such as newMethod(int i) .

So far, so good. Now, what if some parameters are always grouped together inside the code block?

We could derive a new parameter set {str} from an initial one {args, i}, where str = args[i]. IntelliJ IDEA does this under the hood, and the resulting set is configurable via the “Fold parameters” check-box:


The same result may be achieved by following these steps:

  1. Extract the method with parameters (args, i).

  2. Apply “Extract parameter” to args[i], accept the suggestion to replace all occurrences, and delete the unused parameters args and i.

These exact steps (possibly in reverse order) are performed on replacing duplicates when the initial selection does not contain the necessary variables:

At first step the selection is replaced with a newMethod() call, whose initial parameter set is empty. Then after “Hello, ” string is extracted as a parameter, the remaining line System.out.println(“World”) may be replaced with the newMethod(“World”) call.

This observation was inspiring. What if IntelliJ IDEA could do it automatically in the same way it detects that parameters could be folded together? You asked and we’ve delivered: IntelliJ IDEA 14.1 EAP detects duplicates in the code that may accept different values as parameters and shows this suggestion:

Continue reading

Posted in EAP Releases, New Features | Tagged , | Leave a comment

Simultaneous Tag Editing in IntelliJ IDEA 14.1

If you’re involved in web development and, for some reason, you haven’t given a ride to IntelliJ IDEA 14.1 yet, this will talk you into doing it right away.

Has it happened to you that you changed an HTML or an XML tag in your code and broke it because of forgetting to change both the opening and the closing tag? Of course it has, it happens once in a while time and drives you really crazy. That’s why we let IntelliJ IDEA provide a little bit of a help with this:


The new option is called Simultaneous <tag></tag> editing and is available in Preferences/SettingsEditorGeneralSmart Keys. We hope this small enhancement will make your everyday life easier.

Don’t forget to write back to us in our discussion forum and to the issue tracker to share your feedback on this feature.

Develop with Pleasure!

Posted in New Features | Tagged , , , | 7 Comments

Debug Decompiled Code with IntelliJ IDEA 14.1

Earlier this week we’ve announced the start of IntelliJ IDEA 14.1 EAP. Among the new features available in the preview build, this one you’re going to especially like: the built-in decompiler (introduced in IntelliJ IDEA 14) now has debugging capabilities.

This means that now you can use breakpoints anywhere in the decompiled code, with almost the same experience that you’d normally have when debugging with actual sources:


With IntelliJ IDEA 14.1 missing library sources is not a problem anymore, well, provided that it comes with the line number attributes.

Download the EAP build right away and tell us what you think in our discussion forum, or, in case you find a bug, in the issue tracker.

Develop with Pleasure!

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

IntelliJ IDEA Workshop at The JetBrains BASH – Belfast, February 16th

The afternoon of February 16th, we will be holding an IntelliJ IDEA workshop with Hadi Hariri at The MAC in Belfast.

The JetBrains BASH

In this workshop we’ll discover how to work effectively with IntelliJ IDEA. Get first-hand tips and tricks and learn to be more productive, all while seeing the hottest new features in action. There will be plenty of time for your questions and conversation.

For more information and to register for the workshop, email with your name and address. To cover expenses a £25 fee will be charged at the door and for corporate bookings an invoice can be made.

In the evening there will be a free and open talk for all with Hadi. He will share his thoughts on developing for developers, what makes for a killer IDE and how to continuously roll out new products and the challenges around it. The evening will be very informal with plenty of time reserved for questions and conversation.

Workshop attendees are guaranteed a place at the evening event and the remaining spots are first come, first served. To register now for the evening event only, click on the link “Join and RSVP” from The BASH meetup page. Act fast or miss out!

Posted in News & Events | Tagged , , | Leave a comment

IntelliJ IDEA 14.1 EAP is Available!

Great news, everyone! It’s time to reveal what we’ve been working on since December and what new features the next update will bring to you. Today we’re officially announcing the start of IntelliJ IDEA 14.1 EAP (Early Access Program), which means you can not only see the list of new features, but also give them a try and share your feedback!

The following new features are available in the current EAP build:

Quite a list this is, and more is to come yet! Stay tuned and read our blog for more details on these and other new features.

Download the IntelliJ IDEA 14.1 EAP build right away, and share your feedback with us at the discussion forum and in our issue tracker. We’re eager to know what you think!

Develop with pleasure, and spread the word!

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

Live Webinar: Software Architecture as Code

We are pleased to invite you to our upcoming webinar, Software Architecture as Code, featuring Simon Brown. Register now and join us Thursday, February 12th, 15:00 – 16:00 GMT (10:00 AM – 11:00 AM EST).

With so much technology at our disposal, we’re still manually drawing software architecture diagrams in tools like Microsoft Visio. Furthermore, these diagrams often don’t reflect the implementation in code, and vice versa. In his session Simon will look at why this happens and how to resolve the conflict between software architecture and code through the use of architecturally-evident coding styles and the representation of software architecture models as code.

Space is limited, learn more and register now.

Simon BrownSimon Brown is an independent consultant and helps organisations to build better software by adopting a lightweight, pragmatic approach to software architecture. He is the creator of the C4 software architecture model and the author of “Software Architecture for Developers”, a developer-friendly guide to software architecture, technical leadership and the balance with agility.

Develop with Pleasure!

Posted in Webinars | Tagged | Leave a comment

IntelliJ IDEA Wins InfoWorld’s 2015 Technology of the Year Award

Not a month ago IntelliJ IDEA 14 picked up the “2015 Jolt Productivity Award for Coding Tools” from Dr. Dobb’s, and now it’s been named “2015 Technology of the Year” by InfoWorld!


This award is granted every year to the best platforms and tools that push the limits in application development, mobile and cloud computing, and other areas of information technology. Among other winners InfoWorld also names AngularJS, Node.js, Go, Docker, GitHub, OpenShift, Neo4j, and the whole Apache family including Cassandra, Hadoop, Hive, and Spark. You can read more about winners here.

Start using the best TOYs (technologies of the year) today. Get IntelliJ IDEA 14 and develop with pleasure!

Posted in New Features | Tagged , | Leave a comment

IntelliJ IDEA 14.0.3 Update is Out

Great news, folks! If you’ve been waiting for a fresh update of your favourite IDE, wait no more! IntelliJ IDEA 14.0.3, is already out, packed with long-awaited enhancements and bugfixes.

If you’re running IntelliJ IDEA 14 and haven’t received a notification about the update yet, check for it via Help → Check for Updates.

Develop with Pleasure!

Posted in Releases | Tagged , , | 26 Comments

Webinar Recording: Reactive Stream Processing with Akka Streams

Yesterday we had a pleasure to host a webinar together with Typesafe, where Konrad Malawski, a Scala enthusiast who works on the Akka toolkit, gave a very comprehensive overview of the Reactive Streams specification and one of its implementations—Akka Streams.

The slides from Konrad’s presentation can be found at SlideShare.

If you’ve missed the webinar, don’t worry. You can watch it right now and even share it friends:

About the presenter

Konrad MalawskiKonrad Malawski is a late-night passionate dev living by the motto, “Life is Study!”, hacking on the Akka toolkit at Typesafe. While working on Akka Streams he also implemented the Reactive Streams specifications Technology Compatibility Kit. You can follow him on Twitter – @ktosopl

Develop with Pleasure!

Posted in Webinars | Tagged , , | Leave a comment