What to expect from IntelliJ IDEA 2018.1
© Shutterstock / Kolonko
IntelliJ IDEA 2018.1 EAP is now available for download. Now it’s time to reveal some of the major changes the next release will deliver. Don’t forget — IntelliJ IDEA 2018.1 will be released this spring.
IntelliJ IDEA 2018.1 will be released this spring (so stay tuned) but in the meantime, let’s have a look at the IntelliJ IDEA 2018.1 EAP. If you want to give the new features a try, download the EAP build from the EAP page on the JetBrains website.
However, keep in mind that since this is an early build, things might not work as expected. If you encounter a problem, use the issue tracker to let the team know.
Major changes in IntelliJ IDEA 2018.1
JetBrains’ Zlata Kalyuzhnaya wrote in a blog post announcing the start of the EAP for the next major release that code completion was improved; completion in the Stream API chains are now aware of the type casts, and suggests completion item according to the existing call:
filter(String.class::isInstance). The completion item will then be automatically type casted.
Speaking of IntelliJ IDEA 2018.1, there are also quite a few new inspections. Now IntelliJ IDEA helps you write clear code, and detects even more cases where redundant code constructs are used. Furthermore, the IDE now reports unnecessarily complex collection operations — the IntelliJ IDEA 2018.1 EAP build provides quick-fixes and suggests simpler alternatives.
The EAP build introduces a new Idempotent loop body inspection which detects possible code errors in the while-loops. You should know that only the initial assignment and the first iteration matter; the following iterations do not. However, this is basically a programming error in most cases, since it causes an infinite loop if the condition is still true after the first iteration, Zlata explained.
For more information about all the Java highlights in IntelliJ IDEA 2018.1, check out Zlata Kalyuzhnaya’s blog post.
JUnit 5 @Tag annotation support
There’s a new @Tag annotation in the JUnit5 testing framework; its aim is to mark class or method for filtering tests. The team implemented support for the @Tag annotation in the IntelliJ IDEA 2018.1 EAP build, so you can run tests filtered by tags. In the Run/Debug Configuration dialog, select Tags (JUnit 5) in the test kind field and the IDE will only include in the testing scope tagged classes and tagged methods. Also, you can use Uniquield field to filter tests according to their id.
The debugger is improved with every release but the difference this time is that they added an ability to throw an exception without actually adding any code to your project during a debugging session.
The Throw Exception action allows you to throw an exception from a certain location without changing the code. You can access this new action while you’re in a debugging session through the Run | Throw Exception menu, or from the frame context menu.
The IntelliJ IDEA 2018.1 EAP build supports new features of the recently released Spring Security 5.0: Spring Framework 5 integration, Reactive Support (@EnableWebFluxSecurity, @EnableReactiveMethodSecurity, WebFlux Testing), OAuth 2.0 and others.
If you’re looking for Groovy improvements, you won’t find them here. There will be a dedicated blog post soon so stay tuned. There are a lot of great highlights so make sure to read the blog post.