IntelliJ IDEA 2019.3 EAP5: MongoDB Support, and More

Zlata Kalyuzhnaya

A new IntelliJ IDEA 2019.3 EAP build is here and it comes with highly anticipated improvements. Continuing the trend of eliminating pain-points and resolving issues that affected lots of users, this new EAP build addresses the issues that have received more than 400 votes in total.

Download and try the freshly released new EAP build from our website, or update to it via the Toolbox App.

As usual, the EAP builds for IntelliJ IDEA Ultimate are free to use but expire within 30 days of the build date.

MongoDB support

At last, it’s here! The upcoming IntelliJ IDEA 2019.3 will provide initial support for MongoDB.

Already in this EAP build, you can view collections and fields in the database explorer.

database_view

You can also open any collection or observe the query result. It’s also possible to sort by columns or filter the values.

data_view

What’s more, you can now run queries. Select one and run it by pressing Ctrl/Cmd+Enter or by clicking the Play button on the toolbar.

query

Please keep in mind that this is still a work in progress. There are some known limitations: no coding assistance for now, and no integration with MongoDB shell so only a limited number of MongoDB functions that can be executed. Rest assured though that we will extend this functionality in our future releases.

Improved Command Line Inspector

With IntelliJ IDEA you can launch code inspections from the command line. V2019.3 will enhance this feature so that the IDE can detect the JDK automatically. You will be able to run it on a CI server with no system-wide IntelliJ IDEA configuration.

We’ve also added a new option, “-changes”, to inspect only uncommitted changes and to report only newly introduced problems.

Another recent addition is support for reporting the inspection results as JSON, in addition to the previously available plain text and XML formats.

Other improvements

We have also updated JBR 11 (default) to v11.0.4+10-b517.1, to integrate the following changes:

  • Fixed the issue with project opening on macOS 10.15 Catalina: JBR-1721.
  • Repaired the symbols in the Evaluate Expression dialog: JBR-1879.

For the full list of changes, please refer to the IDE release notes and the JBR11 release notes.

Your feedback is highly appreciated here in the comments or directly in our issue tracker.

For the latest news around IntelliJ IDEA, follow us on Twitter.

Happy developing!

Comments below can no longer be edited.

29 Responses to IntelliJ IDEA 2019.3 EAP5: MongoDB Support, and More

  1. Joachim Beckers says:

    October 9, 2019

    Those are the release notes for EAP 4 you’re linking to.

  2. ADEV says:

    October 9, 2019

    YES!!!!! Thanks for MongoDB support, i use it in one of my projects!! this is perfect, thanks!

  3. Andrey says:

    October 9, 2019

    Hope old regressions will be fixed too 🙂
    Not working popups are very annoying https://youtrack.jetbrains.com/issue/IDEA-201369

    • Dmitry Jemerov says:

      October 10, 2019

      We’re sorry for the inconvenience you’re experiencing, but at this time it doesn’t seem like there are many (if any at all) other users experiencing the same problem. Please understand that we have to prioritize issues affecting a large number of users (and the JetBrains Runtime team has many such high-priority issues at this time).

  4. zgq says:

    October 10, 2019

    When Intellij IDEA supports redis?

    • Dmitry Jemerov says:

      October 10, 2019

      At this time there is no definite plan that Redis will be supported.

    • Dmitry Jemerov says:

      October 10, 2019

      This is an issue in a plugin developed by a JetBrains employee as a spare time project. Unfortunately JetBrains as a company cannot commit to maintaining such plugins.

    • Ondřej Schrek says:

      October 10, 2019

      thanks for tip….it looks like very good plugin

  5. Sanjay says:

    October 10, 2019

    This build throws below exception most of the time (while opening some files) :
    com.intellij.diagnostic.PluginException: com.intellij.psi.codeStyle.CodeStyleManager requested as a service, but it is a component – convert it to a service or change call to project.getComponent()
    at com.intellij.ide.plugins.PluginManagerCore.createPluginException(PluginManagerCore.java:382)
    at com.intellij.diagnostic.PluginProblemReporterImpl.createPluginExceptionByClass(PluginProblemReporterImpl.java:12)
    at com.intellij.diagnostic.PluginException.createByClass(PluginException.java:58)
    at com.intellij.diagnostic.PluginException.logPluginError(PluginException.java:75)
    at com.intellij.serviceContainer.PlatformComponentManagerImpl.getService(PlatformComponentManagerImpl.kt:302)
    at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:22)
    at com.intellij.psi.codeStyle.CodeStyleManager.getInstance(CodeStyleManager.java:40)
    at com.intellij.refactoring.extractMethod.ExtractMethodProcessor.(ExtractMethodProcessor.java:162)
    at com.intellij.refactoring.extractMethod.ExtractMethodHandler.getProcessor(ExtractMethodHandler.java:245)
    at com.intellij.refactoring.extractMethod.ExtractMethodHandler.getProcessor(ExtractMethodHandler.java:279)
    at com.jetbrains.clones.languagescope.java.ExtractDuplicatedJavaMethodFix$Companion.isExtractable(ExtractDuplicatedJavaMethodFix.kt:36)
    at com.jetbrains.clones.languagescope.java.ExtractDuplicatedJavaMethodFix$Companion.createFix(ExtractDuplicatedJavaMethodFix.kt:28)
    at com.jetbrains.clones.languagescope.java.JavaDuplicateScope.createQuickFixes(JavaDuplicateScope.kt:163)
    at com.jetbrains.clones.DuplicateInspection.a(DuplicateInspection.kt:92)
    at com.jetbrains.clones.DuplicateInspection.checkFile(DuplicateInspection.kt:78)
    at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:143)
    at com.intellij.psi.impl.source.PsiJavaFileBaseImpl.accept(PsiJavaFileBaseImpl.java:520)
    at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:77)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$null$6(LocalInspectionsPass.java:332)
    at com.intellij.util.AstLoadingFilter.lambda$toComputable$2(AstLoadingFilter.java:167)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:125)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:114)
    at com.intellij.util.AstLoadingFilter.disallowTreeLoading(AstLoadingFilter.java:109)
    at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.lambda$visitRestElementsAndCleanup$7(LocalInspectionsPass.java:331)
    at com.intellij.concurrency.ApplierCompleter.execAndForkSubTasks(ApplierCompleter.java:148)
    at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:997)
    at com.intellij.concurrency.ApplierCompleter.lambda$wrapInReadActionAndIndicator$1(ApplierCompleter.java:105)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:585)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:531)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
    at com.intellij.concurrency.ApplierCompleter.wrapInReadActionAndIndicator(ApplierCompleter.java:116)
    at com.intellij.concurrency.ApplierCompleter.lambda$compute$0(ApplierCompleter.java:96)
    at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:167)
    at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:157)
    at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
    at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
    at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
    at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
    at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
    at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

    • Dmitry Jemerov says:

      October 10, 2019

      This problem is caused by either a corrupted installation or a third-party plugin. It does not occur in a clean installation.

      • Sanjay says:

        October 10, 2019

        Thank you very much for the information.
        I couldn’t have though that this was due to corrupt installation.

        Actually I was facing other issues also – like font contrast was too bright and some other frequent exceptions also.

        I did clean installation and everything is fine now. 🙂

  6. Serg says:

    October 10, 2019

    Is there any plans to introduce support of Elasticsearch?

    • Joe says:

      October 10, 2019

      What kind of support are you looking for? ES does everything with JSON files and IntelliJ has great support for JSON.

  7. opticyclic says:

    October 10, 2019

    Just waiting (8 years so far!) for the threshold to drop to 200 votes 😀
    https://youtrack.jetbrains.com/issue/IDEA-68854

    • Flitberg says:

      October 13, 2019

      Yup. Many have been waiting for this for a *very* long time.

      It’s very .. “odd” that in 2019, this is still an issue. This should be an essential standard feature in a semi-modern IDE, not an option. The same essential feature as tires on a car.

  8. Kurt Devlin says:

    October 11, 2019

    I may be missing something obvious, but I can’t find the Database toolbar anywhere to look at the new MongoDB functionality in the EAP (downloaded through Toolbox). Typically it is under the Views/Toolbar menu, but it’s not there and I don’t see any override in Settings. Thoughts?

    IntelliJ IDEA 2019.3 EAP (Community Edition)
    Build #IC-193.4386.10, built on October 9, 2019
    Runtime version: 11.0.4+10-b517.1 amd64
    VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
    Windows 10 10.0
    GC: ParNew, ConcurrentMarkSweep
    Memory: 725M
    Cores: 12
    Registry:
    Non-Bundled Plugins:

    • Kurt Devlin says:

      October 11, 2019

      PEBCAK (I guess)… Toolbox leads off with an “EAP” link at the top of the window, so I installed that. Buried at the bottom of the window are the links to the Ultimate edition with an “EAP” option in the drop-down. I guess the Database window is only available in the Ultimate edition and not the default Community edition (that is installed with the link at the top of the window) of the EAP. I think it might help if it’s highlighted in the write-up that the MongoDB support is only in the Ultimate version.

  9. serebit says:

    October 11, 2019

    This update somehow managed to make scrolling the project view take up 100% of one of the cores on my 3700X, and also make it incredibly slow. Not sure what that’s about.

  10. Laura says:

    October 11, 2019

    The new commit dialogue is borderline unusuable. How am I meant to do side by side comparisons when the code is all compressed to a 1/4th of my screen? The old window as perfectly fine.

    • Edoardo Luppi says:

      October 16, 2019

      You can still use the old dialog though. I think they’ll never get rid of it.

    • Dmitriy Smirnov says:

      October 17, 2019

      To make a pre-commit review, you can open full-screen diff (Ctrl+D) and go through all changes on-by-one, including or excluding chunks to commit.
      Also, we plan to show Unified diff in the preview by default – it needs less horizontal space.
      And of course, toolwindow can be resized as well.

  11. Nicolas Piguet says:

    October 14, 2019

    This version generally works well, but I have an irritating issue: The “Find everything” popup triggered with shift-shift always appears on the same monitor no matter the position of the editor window. It happens to be the wrong monitor for me, so its quite annoying.

    Other dialogs like “Find in Path” (Ctrl+Shift+F) appear on the same monitor as the editor window.

    The previous version I’ve used (2019.1) worked as expected.

    IntelliJ IDEA 2019.3 EAP (Ultimate Edition)
    Build #IU-193.4386.10, built on October 9, 2019
    IntelliJ IDEA EAP User
    Expiration date: November 8, 2019
    Runtime version: 11.0.4+10-b517.1 amd64
    VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
    Linux 4.15.0-58-generic
    GC: ParNew, ConcurrentMarkSweep
    Memory: 1981M
    Cores: 8
    Registry:
    Non-Bundled Plugins: BashSupport, Lombook Plugin, MavenRunHelper, SequenceDiagram, String Manipulation, com.bruce.intellijplugin.generatesetter, com.intellij.bigdecimal-folding, com.kukido.eclipser, com.sburlyaev.terminal.plugin, org.intellij.scala, org.jetbrains.plugins.hocon, ru.artyushov

  12. John says:

    December 4, 2019

    I love the MongoDB integration but it seems like it runs in read-only mode, I cannot edit the data easily. Until this can support editing of data I am afraid I am stuck using Robo Mongo..

  13. Tim Hawkins says:

    December 8, 2019

    Im not sure the tabular data presentation of data in the mongodb collection view works, it seems to be very relational focused, and assumes relatively flat data representations in the database, i don’t see it working at all beyond 2 levels of embedding.. We have a lot of collections where the data is represented by a fairly complex hierarchical document structures, up to 6-7 levels deep, and its a disaster in this mode, having a “view as json” option that allows the document to be opened in a simple json text editor with auto import on changes would work much better, and would leverage the strengths of the IDE. possibly an attribute on each collection which defaults from the tabular view to the structured view.
    An additional feature worth considering is being able to associate a json-schema file with each collection, such that any edits or changes are validated prior to writing to the database if present.

    Json schema validation would also make a great addition to the ide in general, being able to syntax highlight json files that fail validation during edits.

  14. Tim Hawkins says:

    December 8, 2019

    just as another note: the “View” option on a selected document in the collection view, does not seem to allow viewing of the record, but instead seems to open the first field (usually the _id) for editing using an inline editor, this would be the ideal UI point to trigger a full document editor from and open a ide tab with the json representation of the document in it, with save, validate, cancel controls in a ribbon bar at the top of the tab.

Subscribe

Subscribe for updates