Official Support for Open-Source Rust Plugin for IntelliJ IDEA, CLion, and Other JetBrains IDEs

For those of you who follow the news in the Rust community, you may have noticed a teasing announce saying that the Rust plugin for the IntelliJ Platform is becoming officially supported by JetBrains. The announcement was followed by many questions about the plugin. With this post, we’d like to answer some of them and shed some light on what’s going on with the plugin and JetBrains plans.

It’s probably worth saying a few words on how the plugin started. On the first of September, 2015 two small groups of people at JetBrains simultaneously started working independently on the Rust support for IntelliJ-based IDEs. One of the projects was started by an Alexey Kladov, an intern at JetBrains. The other one was a side project by Alexey Kudinkin. Since the IntelliJ Platform is JVM-based, both plugins started as Kotlin projects, even before Kotlin was released. Since both groups were in touch with the Rust team, after a month, the groups realized about their mutual existence and merged their projects together. This is how the Rust IntelliJ plugin was born.

Making the project open-source really was the right decision since it attracted a lot of contributors, incl. Tobias Bieniek, Marek Kaput, Andrew Lygin, Arseniy Pendryak (among many others) which really helped make it better and shape the community around the plugin.

A year ago, the plugin was highlighted during RustConf’s keynote.

Current State

Since then we have put a lot of effort into making the developer experience even better. However, the plugin is still at a very early stage. Being an awesome language for developers, Rust is not always 100% IDE friendly, mainly due to its complicated type system, and the macros, etc.

  • Currently the plugin is quite helpful with Navigation: Go to Class, Go to Symbol, Go to Super Module, Structure, Go to Definition.
  • The editors offer Code Completion and Code Formatting (rustfmt is not used yet but it is planned), Join Lines, Smart Key (e.g. inserting pair brackets & quotes), Postfix Completion, basic Intentions and Refactorings (e.g. Introduce Variable, and an almost always-working Rename, etc).
  • The plugin supports Cargo: it offers a UI to run tests and applications. Adding this integration even required some work from Cargo’s side.

The main missing feature right now is Debugger. An experimental version of Debugger is now available in CLion but it’s currently very limited, mainly because CLion is heavily focused on CMake.

Our Plans

Our primary plans for the immediate future include:

    • Better consistency with the Rust’s type system
    • Macros
    • Debugger
    • More Intentions, Inspections, Refactorings

Q: Do you have a team working on the plugin?

The plugin’s team currently comprises of Alexey Kladov, who dedicates at least 40% of his time to Rust, and we’re adding another person to the team.

Q: Will there be a standalone Rust IDE from JetBrains

We do not have any specific plans for creating a standalone Rust IDE at this moment, but we have not ruled out the possibility of it in future. The plugin will remain open-source on GitHub. Pull requests, feature requests and bug reports are all welcome there.

If you’d like to try the Rust plugin for any IntelliJ-based IDEs (be it IntelliJ IDEA, CLion, WebStorm, Gogland, PyCharm or any other), make sure to read the docs.

Please feel free to voice your questions, suggestions and other feedback here in the comments. And of course issues and pull requests are always welcome in the intellij-rust Github project.

We appreciate your feedback and support!

The Drive to Develop

Posted in New Products | Tagged | 13 Comments

JetBrains 5th Annual Hackathon: Logged in History 1st Prize to Ideolog

JetBrains Hackathon 2017

Looking back at Hackathon 5

“People who are crazy enough to think they can change the world are the ones who do.” – Steve Jobs.

In two days that is exactly the attitude a determined few embraced. With JetBrains’ 5th Internal Hackathon innovation, hard work, and determination the start of some incredible projects have been dreamed up, explored and discovered with already promising results.

48 hours

Two days, 52 submissions, and 40 successful projects. The atmosphere in JetBrains was charged by the 99 participants who gathered on Wednesday, May 31st, ready to make their ideas come to life.

What it takes to code

No one can code on an empty stomach. Coders were able to sustain their progress with a provision of food, drink, and a healthy dose of optimism – achieving in just two days what others have only dreamed of. This year there must have been something special added to the pizza toppings as the projects surpassed every expectation.

The Prizes on offer

$18,000 worth of prizes split over nine categories were up for grabs this year, making the competition full of fierce contenders. 204 voters and a panel of judges oversaw entries and determined the winners based on votes and ingenuity. Prizes and their respective project winners were as follows.

Grand Prize $5,000 – Ideolog

The team made up by Dmitry Ivanov, Serge Baltic, Mikhail Filippov, Sergey Coox, Nikolay Kuznetsov, Andrey Akinshin, and Ivan Pashchenko created a historical debugging tool plugin for IntelliJ Platform which enables developers to open very long .log files and debug right inside the IDE with features such as: Text search in large files; Grouping, filtering, folding by category, threads; Navigation to source code from log event; Go to next error; Stacktrace highlighting; Extend selection; and Advanced error stripe (heat map). Ideolog collected a total score of 170, smashing the total of the nearest competitor. You can install the plugin and try it in your IDE right now.

ideolog example

Logs inside the IDE

Second Prize $3,000 – Nomouse

In this day and age, no one should still be using such a primitive tool as a traditional mouse. Roman Belov, Sergey Krivokhatsky, Bogdan Bugaev, and Anton Kryshchenko set about creating a system to track hand movement over the keyboard to control the mouse pointer and perform other actions such as scrolling and clicking. No mouse needed. Problem solved.

live demo gif

mouse free mouse

Third Prize $2,000 – Danke/Спасибо/Thanks …

When was the last time you thanked a colleague for a piece of work that they had done, or worse yet, been thanked for a piece that you had really gone above and beyond to complete? Victor Kropp, Olga Dyka, Marina Haynk, Ekaterina Shliakhovetskaja, and Julia Repina, in a bid to improve the culture of JetBrains, took the challenge to make a quick and easy-to-use webapp integrated with our internal Slack and office TVs to show colleagues your appreciation for all things, great and small.

thank you interface

Thanks for everything

CEO’s Choice Awards

Two projects were awarded special mention with the CEO’s Choice Award with both teams receiving prizes of $1,000 each. With Kotlin being the hot language, teams that explored the possibilities of this brought favor upon themselves from our CEO and rightfully so as they showed the potential there is to be had with this language.

CEO’s Choice Award I $1,000 – Processing for Kotlin as IntelliJ IDEA Plugin

The project created an IntelliJ plugin to support editing and running “sketches” based on Kotlin Script and Processing Java APIs. The idea leveraged the power of IntelliJ IDEA smart code analysis and auto-completion to make programming even more fun and rewarding for novice programmers, and for kids a tool that detects their errors before they run their code. The team consisted of Roman Elizarov, Dmitry Jemerov, Mikhail Glukhikh, and Simon Ogorodnik.

CEO’s Choice Award II $1,000 – Create React Kotlin App

Filipp Riabchun, Eugene Datsky, and Andre Skladchikov have opened up the possibilities for Kotlin code to work with React components. Could this be the future of web development?

Audience Choice Awards

Three projects took home the Audience Choice Award. Calculated from the likes of the audience these projects won through their popularity with the 204 voters taking part.

Vanity Stats

Developers, like normal people, are bound by certain desires: to be recognized, accepted, and to be the best at something. Alexey Kudravtsev developed his app Vanity Stats to give users unbiased insight into what they are best at by filtering commits for useful stats such as swear words used, at what times commits are made, and the number of commits performed. It is possible to get an accurate reading of what someone is the best at and the strengths they should develop on.

Queue Management

“Time. The wayward substance that never slows down.” Wasting your time in the most ineffective pursuit in the evolution of humans, queuing, has finally met its match. Sergey Ugdyzhekov, Alexey Kireev, Andrey Sizov, Nikolay Krasko, Vladimir Grigoriev, and Kirill Malich. The heroes of our time, time lords, adventure time, they go by many names. Their app though goes by just the one name: Outliner. ‘Spend your time clever’ with a web application and a Slack bot for booking appointments in the office that manages the queue and notifies you when the doctor is ready to see you.


Do you need a pot of gold delivered to a colleague in Munich, but trust your colleagues more than an unknown postal worker? JetPost was developed to help you find a reliable alternative to ensure your important goods make it to their destination. Using JetPost Slack bot, a notification is sent to any person traveling to the destination from your area, checking against trips in JetPeople (our internal team directory), and also detecting when possible delivery subjects come up in Slack. Then it will help with the collaboration between the people involved to ensure the transaction goes smoothly.


Actively used

Hackathons happen for a reason. By taking the time to sit and think about the problems around us and then innovating real solutions to these matters, projects made during these 48 hours solve issues that then allow further progress. Winner of the 2016 JetBrains Hackathon, the JetPark project (office parking space sharing and remote control), continues to provide incredible value and was awarded the ‘Actively Used’ award. Well done!

Not forgetting

There were so many great entries to this year’s Hackathon with teams innovating and coming up with amazing ideas. Noticeable trends are coming from the educational and learning areas with the projects Train Brain, IntelliJ Flashcards, Learn Kotlin for Android Development, and JetWatch, all concerned with learning methodology and techniques. With the smartest minds working on such pivotal problems, change can be made in the world and it is exciting to see how we can go forward from here.
Whether you created a code-shaming app like the Critique project…

Code Quality (

…or a single application for the office environment like the Universe project (“Universe is the name of our main St.Petersburg office”), your contributions are incredible and open opportunities into the future. What was achieved in 48 hours… is… Awesome.

Posted in Awards, Behind-the-scenes, Contests, Uncategorized | Tagged , | 2 Comments

The Developer Ecosystem: What is dominant in the world of code

– Should I try this framework I heard about for my next project?
– Which application server is the most used these days?
– What technology/language should I learn to become better at what I do?

Do you ask yourself stuff like this from time to time?

WE DO. And we have another angle—it’s crucial for us to know our users well, so we’re ready to go the extra mile for this knowledge.

To help us, we ran a huge Developer Ecosystem survey, collecting over 9,000 responses between December 2016 and March 2017.

To help you answer whatever questions you may have, we are now publishing the results of our survey.

It did take us a while to process all the data. This turned out to be the most extensive survey we’ve ever conducted: 150+ questions and 9K+ responses, in 13 languages. To reduce possible bias, the final reports and infographics include only responses coming from advertising channels (Twitter and AdWords), just over 5,000 in total.

The State of Developer Ecosystem Report by JetBrains

The specific subsections of the report cover a broad range of topics: programming languages, development environments, code profiling and analysis, deployment, team tools, open source, the cloud, databases, and even curious facts about us developers.

View The State of Developer Ecosystem Report

Do you know, for example, what one language most developers are considering to adopt? Or do you know which configuration management tool is used more, Chef or Puppet? Or maybe Salt? Or what kind of game should you play tonight? :)

Check out the report and find answers to these questions and more.

It was impossible to include everything into infographics; some of the questions were excluded because of an insufficient number of responses, or to avoid overloading the infographics. If you have specific additional questions that are unanswered, send them to us and we’ll dig into the data for an answer. We’re also planning to publish the anonymized raw data soon. Stay tuned!

We are grateful to everyone who participated in the survey and helped us.

We plan to repeat the survey regularly. If you’d like to take part in the future, make sure to subscribe to our survey panel!

The Drive to Develop

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

JetBrains elected to the JCP Executive Committee

Recently the Java Community Process had a Special Election to fill the two vacant ratified seats on the Executive Committee (EC).  JetBrains was honoured to be elected, and will serve on the Executive Committee until 2018.

The Java Community Process is the mechanism for developing specifications for Java. Java Specification Requests (which may cover Java EE specs, for example, or define what’s going to be in the next version of Java) describe the standards for new (or sometimes existing) functionality, and the JSRs have to pass through a series of gateways before they are finally approved and become an official part of the Java landscape. At each of these gateways, the Executive Committee members vote on whether they should progress, and may give feedback on changes that need to be made to the spec.  This is a really important part of making sure that official parts of the language have been looked at by the wider community (EC members represent vendors, user groups and individuals) before being dropped onto developers.

The process of the Executive Committee approving Java Specification Requests (JSRs) has recently been in the news after the unusual “no” vote on Jigsaw’s  public review. JetBrains joined the EC too late to vote on that first round, but this interesting situation has brought a lot of visibility to the whole process, and we’re excited to be part of it.

We believe it’s important for JetBrains to be on the JCP EC.  We can pass on feedback from users like you to those who create the specifications for the language.  Where you have frustrations or questions, we can use those to push the Java platform in a direction that makes your life easier.  It also means we have a clear view of upcoming changes in the language and the common frameworks we use, and we’ll do what we always do – evolve our tools inline with these changes.

The JetBrains representatives on the Executive Committee are Anna Kozlova and me, Trisha Gee. I’ve a bit of experience with the EC from when I was in the JCP working group for the London Java Community, and I’m looking forward to being involved again.  We’re not the only JetBrains people who get to have a say, we’ve formed a working group of people inside JetBrains who share an interest in the specifications that are coming and in the future of Java, so our votes will represent diverse opinions and voices.  Most importantly, we hope to represent you, the users, on the JCP EC.

Posted in News | Tagged , | 14 Comments

JetBrains to support the ACM-ICPC

We are pleased to announce that JetBrains has become an official Global ICPC Sponsor. The ACM-ICPC is an annual multi-tiered competitive programming competition among the universities of the world. Our three-year commitment to this world renowned Programming Contest is our chance to give back to a program that has opened doors for so many talented people. In fact, there are many ICPC alumni inside the JetBrains team, including some World Finals winners.

Alongside the financial support, we will also be providing access to our development tools, CLion, IntelliJ IDEA and PyCharm in particular, to participants, starting with the next round of Regional Contests. In addition, we are extremely proud that Kotlin will be offered as an additional programming language for the 2018 World Finals, together with C++, Java and Python. We believe both our tools and the Kotlin language can help contestants solve the challenges and tasks even more effectively.

Since 2011, we’ve been investing 1% of our revenue on a variety of educational programs including research, grants for talented students and teachers, and funding of new development courses for both online and offline training. We also partner with some of the best known universities in Russia, well known in the ICPC community, such as St. Petersburg ITMO University, amongst others.

Our support for ICPC adds to our continued investment in education, which we believe constitutes one of the fundamental pillars of society.

Tune in to watch the ICPC World Finals 2017 live on May 24!

PS. As part of our educational efforts, don’t forget to check out the details of the JetBrains student licenses program.

The Drive to Develop

Posted in Contests, News | 2 Comments

JetBrains Toolbox App 1.3 is here

We are happy to announce Toolbox App 1.3 release! Following months of development, this update brings not only a full load of bug fixes but also some new features we hope you will find useful.

Let’s go over all of the new features and improvements one by one.

Global hotkey

Now you can set up a system-wide keyboard shortcut that opens the Toolbox App window no matter which app has focus at the moment. We didn’t want to hijack any of your favorite key combinations, so it is disabled by default. Open Settings and set up the one most convenient for you.

Keyboard navigation

After a global hotkey is introduced, it is quite natural to expect the whole app to be usable without a mouse. And it is! You can navigate through lists with arrow keys and execute any item with Enter. Here is the full list of supported shortcuts inside the Toolbox App.

Ctrl+Tab (⌘← and ⌘→) Switch between Projects and Tools panels
Alt+Enter Show context menu
Ctrl+H (⌘H) Hide available tools
Ctrl+R (⌘R) Check for updates
Ctrl+U (⌘U) Update all
Ctrl+T (⌘T) Update Toolbox App
Ctrl+Comma (⌘,) Open Toolbox App Settings

Collapsible tools list

You can now collapse the list of available tools. This is an improvement many users asked for.


Better ReSharper and Visual Studio 2017 support

Toolbox App now correctly detects Microsoft Visual Studio 2017 (except listing recent solutions, see known issue). Thanks to the updated ReSharper Ultimate installer it now better integrates with all installed Visual Studio versions when invoked from Toolbox App.

We encourage you to try it and let us know how it works for you.

Animated icon

The tray (or menu bar) icon animation indicates now when Toolbox App is active downloading or installing the updates.


Anonymous usage statistics

After your feedback, usage statistics is the second most invaluable tool for us for improving our products. With this build we’ve added anonymous usage statistics collection to the Toolbox App. The data we collect is not associated with you or your JetBrains account; it doesn’t include any personal information like project names or paths. Of course, Toolbox App will ask your permission to collect these statistics on the first start, and you can revoke your consent in Settings at any time.

Bug fixes and smaller improvements

Many integration issues with different Linux environments are fixed in this release. We want to thank our users for the valuable feedback!

Full changelog can be found here.

Of course, all changes from previously released 1.1 and 1.2 updates are included too. Most notable bugs squashed in those builds are app crashes in different environments, incorrect window scaling, and JetBrains Account login issues. Logout button absent in 1.0 has also been added to Settings screen earlier. Windows and Linux users with touch screens can now benefit from them in Toolbox App too.

Update now from the app or download it from its homepage.

Posted in News | Tagged | 9 Comments

Kotlin on Android. Now official

This is a cross-post of a post from the official Kotlin blog.

Today, at the Google I/O keynote, the Android team announced first-class support for Kotlin. We believe this is a great step for Kotlin, and fantastic news for Android developers as well as the rest of our community. We’re thrilled with the opportunities this opens up.

For Android developers, Kotlin support is a chance to use a modern and powerful language, helping solve common headaches such as runtime exceptions and source code verbosity. Kotlin is easy to get started with and can be gradually introduced into existing projects, which means that your existing skills and technology investments are preserved.

Kotlin for Android
Continue reading

Posted in Uncategorized | 9 Comments

JetBrains Toolbox 2017.1 is here

2017 is in full swing and we’ve been quite busy too. Earlier this month the complete JetBrains Toolbox has been updated to 2017.1! In addition to many important fixes in every product, this massive update brings lots of improvements to supported languages, frameworks, and built-in tools.


The updates for the following products are ready for you to install and start using. Check out these short sneak peeks and go to the dedicated pages to know more.

WebStorm adds support for new technologies such as Vue.js and Jest, brings more flexibility to code styles, improves React and Angular support, and much more.

PyCharm gets a much faster debugger especially for later versions of Python, improves Python and JavaScript unit testing, and supports the six library.

PhpStorm now supports Codeception, PHPUnit 6, and PHPDoc in Blade injections. Improvements in the IDE include parameter hints in the editor, smarter auto-import, PHP formatting, new inspections and much more.

IntelliJ IDEA supports the latest builds of JDK 9, improves support for Gradle Composite builds, introduces async-aware JVM debugger, adds support for Kotlin 1.1, features a brand new plugin for Go, and updates its support for Spring, JavaScript and many other frameworks and languages.

AppCode improves Swift support, adds a ‘Create from usage’ action for types and initializers, Override/Implement improvements, and more.

RubyMine adds full support for Docker via a special plugin, a new ability to create RVM gemsets from the New Project wizard, It also runs RuboCop cops in the background displaying the offenses as code inspections, and improves Puppet support.

CLion has finalized C++14 and got started with C++17 support. Now you can debug even when no sources are available with the Disassembly view, work with the Catch unit testing framework, and try experimental support for Microsoft Visual C++ compiler.

DataGrip brings more options for CSV import as well as the ability to import (and export) tables. Schema management is now a lot easier, with a more convenient UI and an ability to explicitly map your SQL files to data sources. All DataGrip changes are available in other IntelliJ-based IDEs with database support.

All IntelliJ-based IDEs received a number of improvements for Git and Mercurial, the Diff dialog added an option to ignore imports and formatting, and file history for Git is now noticeably faster. The Find in Path dialog has been reworked from the ground up and now shows instant results in the first place. The code editor now supports Unicode emoji characters.  🎉.

ReSharper delivers the best support for Visual Studio 2017 RTM including support for .NET Core unit testing. It brings new C# 7 inspections and quick-fixes, adds many code style improvements such as EditorConfig support and indents autodetection, fully supports TypeScript 2.1, and provides initial support for TypeScript 2.2 and Angular 2. It also introduces useful updates to navigation and search. Read more about these and other changes in ReSharper Ultimate suite.

If you have an active JetBrains Toolbox subscription for any of the above products, we recommend that you upgrade right away. Want an easier way to update your JetBrains tools? Check out our great Toolbox App.

If you have questions about your licenses or need any other assistance, please get in touch with JetBrains sales anytime.

By the way, our suite of team tools has also switched to year.number versioning. Updates to YouTrack, Upsource and TeamCity numbered 2017.1 are available as well, with many exciting features for managing tasks, code reviews, builds and deployments.

With these releases out we’ve already started working on future updates and early access for 2017.2 should open very soon, shortly after the small Easter pause.

The Drive to Develop

Posted in Uncategorized | 9 Comments

JetBrains: 2016 in Review

2016 was an important year for us as a company. The important changes we had introduced in 2015 made for a lot of work to do and kinks to iron out. The two biggest ones included the introduction of the JetBrains Toolbox subscription model, and new company branding.

tl;dr — we made it!

For more insights into the various JetBrains events and accomplishments in 2016, check out this 2016 Report.

2016-report-appOur current licensing model is still young but the first year has showed it is viable both for our customers and for us. We see many customers use monthly subscriptions and we also see strong demand for ‘All Products Pack.’

Our user base is growing steadily and we’re planning to hit 4 million active users in Q1 2017.

An important part of 2016 for us was Kotlin, its 1.0 release in February and its impressive community growth throughout the year. Do not miss the special section on Kotlin in the report.

Are there other things you want us to cover? Let us know!

Open the report!

P.S. At the end of the year we also launched our new ‘Developer Ecosystem Survey.‘ If you haven’t taken part, please do! We’re going to close it very soon.

Your JetBrains Team

Posted in News, Video | 2 Comments

Happy Birthday JetBrains! How old are you?

“Oh, thank you!! I’m 17, ehm, no 15… well it depends :)”

Every year in early February we celebrate JetBrains birthday in our offices. While reviewing pictures from celebrations this year we noticed an interesting thing — different offices consider JetBrains age to be different? Why?!

Well, developers mainly think in code, and the first lines of IntelliJ IDEA code appeared in a product named IntelliJ Renamer and were developed by the company named IntelliJ Software back in 2000. It then became JetBrains. So it makes us 17 based on that.

But some people know and remember the date when the company named JetBrains was registered and it is exactly 2 years later, so they say it is 15. And who can know better than people in the headquarters, right?

In any case, no matter the age, we had a fun birthday party in all the offices.

Check out the mannequin challenge performed by the team in Prague (can you notice anyone blink?)

“Code is Art” masterpiece created by the team in Munich (click for more pictures and the result)

and a gorgeous 17-shaped cake for our biggest team in St.Petersburg.
ZHO_4158 2

Do you celebrate your company birthday? How do you calculate the age?

Happy Birthday, JetBrains!
Happy coding to you, our users!

Posted in Behind-the-scenes, FYI, News, Video | 18 Comments