JetBrains to reimagine IntelliJ as text editor, add machine learning

JetBrains to reimagine IntelliJ as text editor, add machine learning

JetBrains has added further destinations to the IntelliJ-based roadmap it sketched out last year, promising more localization, machine learning and Git integration amongst a range of other goodies for the Java IDE.

In December, the Prague-based firm’s CTO Dimitry Jemerov, listed a range of lower level changes for the IDE, centred around improved performance and accommodating modern workflows.

This week, Jemerov followed up with a list of higher level features the firm is working on, with localization – particularly for Asian markets – high on the list. Simplified Chinese will come first, followed by Korean and Japanese. “It will be possible to install translations as plugins, so the community will be able to provide translations for other languages,” he wrote.

Even more universally, Jemerov said users had long asked to be able to use its IDEs for “general purpose text editing”. While this is possible to some degree currently, in some situations it created a temporary project file, leading to disk clutter and “other inconveniences”.

However, recent performance improvements mean “the possibility of using our IDEs as lightweight text editors has become more plausible, so we’re now building a dedicated mode for editing non-project files. In this mode, the IDE will work more like a simple text editor.” This will be faster, he promised, but the feature set will be very limited and “you’ll be able to easily switch to the full project mode if you need to use features such as refactoring or debugging.

A change to Git staging support will also mean switching modes. “Historically, the Git integration in IntelliJ Platform has been built on top of the same framework as other version control integrations (such as Subversion and Perforce),”Jemerov wrote, and supported the concept of changelists. But, this setup caused confusion for newcomers to JetBrains’ IDEs. “Because of this, we plan to implement two different modes for the Git integration in future IDE versions. You’ll be able to choose whether to use the current UI, based on changelists, or a new UI that supports the staging area but does not support changelists.”

Other upcoming features include more machine learning. Jemerov said this was already being used to improve code completion, but would now be rolled out for other completion features. “We’re teaching ML completion to make better use of the context for ranking completion suggestions and to generate completion variants that go beyond a single identifier (full-line completion)”. That might take a while, he said, but was a “major area where we are investing our efforts.”

Onboarding and environment setup will also see improvements, and “Once the user has installed the IDE, it will be able to take care of installing everything else required to develop and run the user’s projects.” The firm is also working to make its automated refactorings more discoverable. Jemerov said the firm believes these were one of the strongest elements of our IDEs, “However, our usage statistics show that a significant percentage of our users do not use them.”

As for when all this will arrive? Jemerov wasn’t saying, adding “All of this is subject to change, and it’s quite possible that some of the work described above will not be released, in which case we’ll have other awesome stuff for you, instead.”