Before the end of 2017, the JetBrains Toolbox family of products have been updated for the third time to 2017.3! Every tool has been expanded, polished, and refined in multiple areas, to give you a superior user experience and the biggest productivity gains yet.

And it got another addition to the family — JetBrains GoLand, a new cross-platform GO IDE.
The new IDE extends the IntelliJ platform with coding assistance and tool integrations specific to the Go language. Read more about GoLand and try it!Note: If you use IntelliJ IDEA Ultimate, you can take advantage of GoLand’s functionality inside IntelliJ IDEA via this plugin.

As to the other changes, we’ll start with WebStorm and DataGrip as they empower the other IntelliJ Platform IDEs with features for web development and database development.

WebStorm improves JavaScript code completion, and documentation for standard objects and methods, and adds a new ‘Pull member up’ refactoring. TypeScript developers can now use ‘Extract type’ and ‘Extract interface’ refactorings. Vue.js support has been improved, plus there is a collection of special code snippets added for Vue. Other improvements include a better watch mode and code coverage reports for Jest, and a new REST Client to test the APIs right from the editor.

DataGrip is packed with improvements that are also available in the other JetBrains Toolbox IDEs. The changes include new features in the Database tree view such as Group data sources and others. The Data editor can paste data in a DSV format and compare cells in Diff viewer; there is a new SQL generator, better JOIN statement completion, convenient execution of script files and queries, plus enhancements in SSH.Continue reading →

We love getting the real opinions of developers at JetBrains, be it the users of our products or not. This is the world we are a part of; we like to hear what you think so we can make sure the products we have fully serve the people that they are made for.

But still, it is not always possible to represent everyone’s input into the system. We all contribute in some way, by keeping languages from extinction, and helping others build in popularity; you are an important factor in our continuous evolution.
To get a better look at this complex ecosystem, we continue to run: Developer Ecosystem Survey.

A lot has changed over the last year, and we need to ask you for your help putting together the pieces, and to see how the developer ecosystem is evolving. Our goal is to involve as many developers as possible, from as many regions as we can (the survey is available in 7 languages). We want to include any developers, no matter what IDE or editor they use or programming language they prefer, and get an accurate real representation of the diversity everyone’s contribution has to this thriving community.

We would like to say a big thank you to everyone who has participated and shared their impressive achievements of this year with the #Developed2017 hashtag and helped us highlight the individual contributions of you all within the community.

We hope that you finish this year geared toward to innovation, learning, developing incredible new features, tackling complicated problems, and sharing knowledge! And, even though we are not raffling any prizes off any longer, we will still be looking at all the posts with the #Developed2017 hashtag and taking a lot of inspiration from them. So keep sharing your accomplishments and check out what others have written themselves and see why we are so proud to be part of such a great community.

With the year coming to an end, many of us tend to look back and reminisce about the things we’ve achieved during this year. As a software development community and as individual developers we have all reached new milestones, moved the industry forward, and learned new things on the way. Let’s look together at what we all accomplished in 2017 and celebrate our common drive to create great software!

For us, for example, there have been important announcements like the one at Google I/O, we’ve held our first ever Kotlin conference, our colleagues were elected to the JCP (Java Community Process) Executive committee, and, of course we released a number of new versions of all of our tools and two completely new products – Rider and GoLand. We developed new features, we fixed bugs, we participated in conferences to share what we know best, and we learned a lot. None of this would have been possible without the input from our community, our users, and the individuals within the company.

What about you? Did you learn a new programming language? Did you create an awesome new project, feature, or open source library? Did you have your first talk at a user group or a conference sharing what you know best? Did you fix an extremely complex issue and save the universe? Did you reproduce that bug when no one else could? Each milestone, big or small, they all make a difference!

Tweet about your software development related accomplishment with the hashtag #Developed2017 and let’s see how much the whole community has moved forward this year. (Please stick to the topic of software development as best you can.)

As it is also the time of the year for giving, we want to help you celebrate your incredible achievements. That’s why we’ve decided to raffle off some amazing prizes! To participate in the raffle, tweet about your achievement with the hashtags #Developed2017 and #JetBrainsRaffle.

From December 18th through December 22th, every day we’ll be randomly selecting 10 tweets with these two hashtags and giving away special prizes! Each day you’ll have the chance to win one of 10 personal yearly subscriptions to All Products pack. If you didn’t win on a certain day, you can try again, and again, until you do.

So share your achievements from this year with the hashtags #Developed2017 and #JetBrainsRaffle, help the world see how much the whole community has accomplished, and end the year on a high with a gift from JetBrains to help you develop into next year!

GitHub helps teams collaborate around code and work together, and JetBrains IDEs help keep GitHub versioning working productively without switching contexts. Our IDEs also put a pretty face on sometimes cryptic Git commands while preserving the power of high-end versioning productivity.

GitHub is hosting a webinar with JetBrains Developer Advocate Paul Everitt on Monday, December 11th to show GitHub and IntelliJ Platform IDEs working together to make collaboration around source code easier. The webinar will give a brief introduction to the “GitHub Flow” of branch-based, pull-request development as seen through JetBrains IDEs. We’ll clone repositories, pull updates, commit changes, create pull requests, and other features of JetBrains Git and GitHub integration. 20 minutes of demonstration followed by 10 minutes of Q&A.

Join us to see how you can be even more productive with GitHub and JetBrains IDEs!

Yesterday we released the newest member to our family of IDEs, GoLand, an IDE for Go language. Additionally, this week we have also released major 2017.3 updates to many of our other tools, including IntelliJ IDEA, WebStorm, CLion, PyCharm, and more.

Some of our users who upgraded their corresponding IDE to the released version have noticed that the Go plugin is no longer available, which may have come as a surprise. We’d like to explain why this has happened and the reasons behind it.

First and foremost, this is not a recent change, nor is it related to the release of GoLand this week. Over a month ago we mentioned in one of the GoLand EAP blog posts that the Go plugin would no longer be available in future EAPs and releases of IDEs other than IntelliJ IDEA Ultimate. The reason behind this, as outlined in the post, is that this aligns with our general IDE approach: PyCharm for Python, RubyMine for Ruby, etc., and GoLand for Go.

It seems that by not having disabled the Go plugin in other IDEs from the start of the EAP program, and by not having communicated this properly to a wider audience when the change was made, the current situation has come as somewhat of a surprise to some of our users.

We failed, and we sincerely apologize for this. Rest assured, however, that it was never our intention to mislead anybody. It was though an oversight on our part in how we presented it. The plugin was never shipped out of the box nor enabled by default in any of our IDEs.

To reiterate, it was always in the plan to have Go plugin functionality available as part of the GoLand IDE. If you want Go functionality combined with other technologies, then IntelliJ IDEA Ultimate is the right choice for you, much like in the case of the other technologies such as Ruby, Python, PHP, etc.

Once again, please accept our apologies for not communicating the change clearly enough.

Please welcome Toolbox App 1.5—the biggest update since the initial release one year ago. In this build, you’ll find an auto-update option, improvements for the projects list, and a refreshed user interface.

Auto update

Now in every installed tool’s settings there is an option to enable automatic downloading and installing of newer versions. There is also a similar option available for Toolbox App itself in the main settings. Enable it to always use the latest available goodies and not have to wait an extra second.

To ensure this feature works properly, we’ve improved the reliability of downloads on poor connections. Toolbox App now correctly reacts to network timeouts and resumes the download after a connection is reestablished.

If, for some reason, you don’t like the recent version that was installed automatically, you can always roll back. This action will revert the latest update and remember to skip that version next time. The ‘Skip’ action is also available in the tool’s menu if you decide to stick to manual upgrades. If you click it by accident, you still can force the skipped version to be installed from the same menu.

Please note that auto-update is disabled by default and should be activated for each tool individually. On Windows 8 and newer, auto-update is disabled on metered connections per Microsoft guidelines.

We encourage you to enable auto-update for all installed tools and let us know how it works for you.

Improved projects list

There is a new context menu on every project in Toolbox, from which you can:

Mark a project as favorite (Alt+Plus, ⌥+ on macOS). Favorite projects stay at the top of the list for easier access;

Hide an unwanted project from the list (Alt+Del, ⌥⌦ on macOS). No files are deleted, which is why we call it ‘Hide,’ not ‘Remove.’ To restore the project in the list, just open it in your favorite IDE again;

and

Select a specific IDE to open a particular project by default, in case you have multiple IDEs available.

The projects list is now updated more often, and more efficiently, too, meaning it always stays up to date while consuming fewer resources.

A custom project icon is now detected as well. You can set it from an IDE’s Welcome screen or via the Manage Projects dialog, or just add an icon.png file in the .idea directory in the project root.

Also, if your IDE configs are stored in a non-default directory, Toolbox App will pick up on this and correctly detect and show all your projects.

Firefox extension for integration with GitHub

A browser extension for easy opening of GitHub projects is now available in the Firefox Add-ons directory. (Previously, it was only available for Google Chrome.)

Refreshed UI

Compatibility notes

On Linux, Toolbox App now requires glibc version 2.17. This means it will no longer start on older distributions like CentOS 6 or Ubuntu 12.04. Their support period has come to an end, and we’ve stopped releasing new builds for them, in order to focus on better support for modern distributions. If you’re staying on those platforms, you’re welcome to use Toolbox App 1.4–updates for installed applications will continue to work as before.

This release also fixes an issue with blank window, which we’ve been able to reproduce on some configurations with the latest graphics cards’ drivers on Linux. We are still investigating some issues with Wayland though.

As usual, many smaller fixes and improvements are included. See the full release notes for details.

Update now from the app or download the new version and let us know what you think of the new features!

As you may recall, in early 2017 we at JetBrains ran the massive Developer Ecosystem survey to better understand developers and their needs all around the world.

In July, we finished analyzing the collected data and published the most interesting findings in these Infographics.

Now, as we promised, we’re sharing the raw data for the survey so that anyone in the developer community can analyze the results and answer whatever questions they have in mind.

Before digging deeper into these data, please note the following important information:

The data include responses from both our “internal” and “external” channels. The data-set includes all of the 9,000+ respondents collected between December, 2016, and March, 2017, via advertising (external) channels such as Twitter Ads & Google Adwords, and JetBrains’ own communication (internal) channels such as our blog post, JetBrains Twitter and Facebook accounts, and the JetBrains’ internal Survey Panel. When comparing your own analysis with our Report results, please bear in mind that to minimize possible bias the data include only responses coming from advertising (external channels).

The data is anonymized, with no personal information or geolocation details. Moreover, to prevent identification of any individual respondents by their verbatim comments, all open-ended fields were eliminated.

The data are not weighted. We are not sharing the population weights used for post-stratification of Infographic data, to correct for the fact that countries with similar sample sizes may have different actual numbers of developers. Therefore, you need to apply your own weights when analyzing the data.

To better understand the logic of the survey, along with the data-set we’re sharing the survey questions, with all the survey logic, in English.

The summer (we’re mostly in the northern hemisphere) is the time for relaxing and having a break, but we at JetBrains have prepared the next big update of your toolset to give you a better user experience and more productivity gains yet. Read on for an overview of what’s new and improved in the 2017.2 update of each JetBrains Toolbox product.

In particular, don’t miss the latest addition to the family – JetBrains Rider, a new cross-platform .NET IDE based on both ReSharper and IntelliJ platforms.

WebStorm adds the powerful Move symbol refactoring and code coverage reports for Mocha, and allows running a single Karma test. Now you can also import code styles from ESLint configurations, reorder code inside classes with the Rearrange code action, use better code completion in JavaScript that respects webpack project’s configuration, and enjoy support for Angular Material and CSS Modules. Note that all WebStorm changes are also available in the other IntelliJ-based IDEs that support web development.

The DataGrip update is really important for PostgreSQL users: we’ve added support for several databases in one datasource. Also, if you use AWS Redshift or MS Azure, you’ll be glad to know DataGrip now supports these databases! Note that all DataGrip changes are also available in the other IntelliJ-based IDEs that offer database support.

PhpStorm brings notable improvements for working with Composer, support for Docker Compose, reworked polymorphic types support, support for PHP 7.2, automatic run of PHPUnit tests, and many other enhancements.

IntelliJ IDEA further embraces Java 9 and its new module system, introducing Module Diagrams to see the dependencies between the selected modules. The IDE also detects code that can be refactored to Java 9 and suggests appropriate modifications. New refactorings have been added for Java 8 as well, such as Extract Functional Parameter and others. There are also improvements in Spring Boot support, Gradle, Scala and Play framework integration, added support for the new features of Groovy 2.5.0, and integration with Kotlin 1.1.3.

The CLion update focuses on C++ parser correctness and overall performance improvements. It also comes with Clang-Tidy checks and quick-fixes built into the editor to help you ensure code quality. In addition, C++17 is now available in the New Project wizard.

PyCharm expands Docker Compose support to version 3 Docker Compose files and Docker Compose on Windows. Further improvements include support for SSH Agent, Azure Databases, and Amazon Redshift support.

AppCode adds the Extract Method refactoring, override/implement completion and new code formating options for Swift, __auto_type support for Objective-C, documentation improvements, and more!

RubyMine adds support for Docker Compose, in-editor RuboCop autocorrections, newly designed breadcrumbs for Ruby structure elements in the editor, and other improvements.

All IntelliJ-based IDEs have received a number of general enhancements, such as a better Windows 10 look-and-feel, an enhanced Find in Path UI, and better HiDPI support. Version controls support gets formatting options for commit messages, reverting and rewording of commits for Git, and a new Shelf UI reworked for performance and ergonomics.

ReSharper 2017.2 understands .NET Core 2.0 and C# 7.1, gets better at C# 7.0, provides more code inspections and context actions including new IEnumerable inspections, delivers many powerful navigation and search improvements, brings new C# typing assists, and levels up support for TypeScript, JavaScript, JSON, and Angular. In other ReSharper Ultimate news, dotMemory can now import Windows memory dumps, while ReSharper C++ gains a better understanding of C++11 and C++17. Read more about these and other changes in the ReSharper Ultimate suite.

Rider, our brand new .NET IDE, can help you develop ASP.NET, .NET Core, .NET Framework, Xamarin, and Unity applications on Windows, Mac, or Linux. It provides rich editing support and code insight for languages used in .NET development, from C#, VB.NET, and F# to ASP.NET Razor syntax, JavaScript, TypeScript, XAML, HTML, CSS, SCSS, JSON, and SQL. Read more about Rider and try it, as it comes free of charge with your All Products subscription!

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.

We’d love to hear what updates or new features excite you most in 2017.2. Let us know in the comments!

Oh, and we’ve already started working on the 2017.3 updates. If you prefer to stay on the cutting edge, the teams will open early access for their products very soon.

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.

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 toSymbol, Go to Super Module, Structure, Go to Definition.

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.