JetBrains News

Hub 2018.1

Please welcome Hub 2018.1 introducing new useful features and a number of UI and usability improvements.

The latest release brings:

  • Project overview page
  • User agreement
  • Custom widgets
  • Per-user localization
  • Hub Docker Image

Other enhancements:

  • Email verification
  • Smart Login States

Check out What's new page for more details or view the Release Notes. Download Hub 2018.1 for free and enjoy all the new features today.

Rider 2017.3: Debugging third-party code, more debugger improvements, new project wizard, reworked formatter

.NET developers, please welcome Rider 2017.3: this year's final major update to the new cross-platform .NET IDE. Read below for the list of Rider 2017.3 highlights.

  • Debugging third-party code: you can now step through and set breakpoints in assemblies that Rider decompiles on-the-fly.
  • Smart Step Into: when you debug method chains or nested method calls, choose a particular call to step into, while stepping over all other calls in a line.
  • Return values in locals: function return values are displayed in the Variables view, which is useful when the result of a method call is not stored in a local variable.
  • More debugger improvements: debugger actions are available in the Alt+Enter menu, you can now drag-and-drop the execution pointer to an earlier or later location in code, and callers of async functions are now displayed in the Frames view.
  • New project wizard: Rider introduces a different grouping of project templates, allows creating repositories along with new solutions, and streamlines installing additional project templates.
  • Unit testing improvements, including new actions, local shortcuts, and more reliable filtering in the unit testing view.
  • C# Interactive tool window to execute C# statements without having to wait for compilation.
  • Unity support improvements, such as new context actions and code inspections, improved usability of code completion, and syntax highlighting in compute shaders.
  • Config transformations to modify settings in Web.config and App.config when packaging applications.
  • Reworked formatter: Rider learns to align code in columns, apply other new code styles, as well as disable or enable formatting for selected blocks of code.
  • More changes from ReSharper 2017.3, including a C# 7 ready Extract Method refactoring, more C# typing assists, and improved support for VB.NET.
  • More frontend features: notably, Rider bundles more IntelliJ platform plugins for frontend development (such as TSLint, CoffeeScript, Karma and Stylus).
  • Changes from IntelliJ IDEA 2017.3, including a new editor-based REST client, version control and database tooling updates, and a reworked Docker configuration system.
  • Performance improvements on loading and reloading projects, in debugger and code completion.
  • More changes related to NuGet and MSBuild support, keymaps, settings, and Find Usages.

Learn more about the new Rider release. Alternatively, just download Rider 2017.3 for Windows, macOS or Linux, and take it for a 30-day trial.

ReSharper Ultimate 2017.3: Debugger features in the editor, Performance Guide, enhanced code formatting engine, and more

We are happy to announce we’ve published the new major release of ReSharper Ultimate bundle: please welcome ReSharper Ultimate 2017.3.

Apart from 300+ fixed issues, ReSharper 2017.3 includes:

  • Visual Studio debugger extensions, such as searchable DataTips, values displayed inside the text editor, navigation to breakpoints, and creating breakpoints from Find Results.
  • Performance guide for fine-tuning both ReSharper and Visual Studio settings to improve the overall IDE responsiveness in one place.
  • Major updates to code formatting engine: support for aligning code in columns and other new code styles, as well as a way to disable or enable formatting for selected blocks of code with comments, or for files with EditorConfig.
  • Improved Extract Method refactoring to support creating a local function and returning a value tuple instead of out parameter.
  • Link to external resources in to-do items.
  • New C# typing assists.
  • Find Usages/Call Tracking presentation update.
  • Enhanced Preview pane in tool windows.
  • Support for tuples and <inheritdoc/> in VB.NET.
  • Ctrl + Shift + Click’ action to show the result of ReSharper Go to Declaration in Visual Studio Peek preview overlay which now works in Visual Studio 2015 and 2017 in addition to 2013.
  • TypeScript support improvements, such as better performance when using type guards, auto-completion for imported paths, and tracking changes in npm modules.
  • A new code generation action to create deconstructors from selected fields/properties in C# 7.

Other ReSharper Ultimate tools have updated as well:

  • ReSharper C++ 2017.3 brings the same debugger features as the mainline ReSharper, improves its language understanding including the C++17 and C++14 specification, integrates Clang-tidy, adds more code inspections, context actions, and formatting options, and supports Catch2 in its unit test runner.
  • dotTrace 2017.3 provides async/await and Tasks support in Timeline profiling mode, adds forecasting performance to Timeline Viewer, and introduces viewing backtraces in methods and subsystems.
  • dotCover 2017.3 brings C# 7 local functions support and initial support for reverse statement coverage.
  • dotPeek 2017.3 introduces "Tools | Show PDB Content…" menu action, and adds “Open from NuGet Packages Cache” dialog to Assembly Explorer tab.
  • dotMemory 2017.3 has received a solid set of bug fixes.

Learn more about new features and download ReSharper Ultimate 2017.3.

JetBrains ReSharper Ultimate Team

PyCharm Edu 2017.3: Enhanced Stepik integration, course filtering, better UX, and more

Today we would like to introduce you to PyCharm Edu 2017.3, the next major update of our free, professional tool for learning and teaching programming with Python.

PyCharm Edu versioning and release timetables are now aligned with PyCharm and our other JetBrains products, to help us focus more on delivering continuous value. This is the third release this year, so we’re switching to 2017.3 version from the previous version 4.0.

PyCharm Edu 2017.3 new features

Learners will find:

  • An enhanced Stepik integration with progress synchronization and public courses import included. Now you can start any Python course on Stepik, and then switch to PyCharm Edu and import the course without losing any of your progress.
  • Filtering the list of courses with tags, for better navigation and focus on the courses you’re interested in.
  • Compare with Answer action, which should help balance out the challenge of the more difficult tasks and avoid too much frustration.

Educators will find:

  • Much clearer UI for course creation and preview.
  • New interpreter settings screen, which makes interpreter and virtualenvs configuration much easier.
  • PyPI and Conda modes for those who want to install PyPI packages into Conda envs.

PyCharm Edu is distributed as open-source software under the Apache 2.0 license, so you can download and use it for educational and other purposes – free.

DataGrip 2017.3 is Here!

DataGrip, our IDE for SQL and databases, has reached a new version. New features and improvements:

Database tree view
— Ability to group data sources
— More convenient managing schemas
— Users and roles are now displayed in PostgreSQL and AWS Redshift
— Foreign data wrappers are now displayed in PostgreSQL
— Drag-and-drop multiple objects to the editor

SQL coding
— SQL generator
— Better JOIN statement completion
— PostgreSQL 10 grammar support

Executing queries
— Ability to choose a schema when running an SQL file
— The list of data sources/consoles is available when attaching the console to a file
— Three independent Execute actions
Foreign data wrappers are now displayed in PostgreSQL
Set Current Schema action

— OpenSSH config files are supported (~/.ssh/config и /etc/ssh/ssh_config)
— Dialog added for One Time Password
— Ability to use SSH-agent and Pageant for authentication
Exasol support

Data editor
— Paste data in a DSV format (i.e. from Excel)
— Numerical data are now right-aligned by default
— Tabs are restored after re-opening DataGrip
— Cells can be compared

Navigate references to DDL editor options
Jump to Console in the context menu of the data source
— Replace the selected occurrences in the Replace In Path dialog
Scratches and Consoles are now placed in Files

Your DataGrip Team

CLion 2017.3 released with C++ support improvements, Valgrind Memcheck, Boost.Test and much more

This year's third release of CLion managed to accomplish both missions - bring dozens of C++ language support fixes, and overhaul and integrate new tools like Boost.Test and Valgrind Memcheck. Besides, v2017.3 updates a number of bundled tools, provides a simpler and more flexible way to configure toolchains, and improves the UI for running/debugging your applications.

Read on for more details and get a free 30-day trial to evaluate all the new features and enhancements:

  • C++ language support improvements
  • Integration with Valgrind Memcheck
  • Support for Boost.Test
  • Multiple toolchains and easier compiler configuration
  • Run icons for main and tests
  • Color schemes changes
  • GDB 8.0 and LLDB 5.0
  • And more

C++ language support

Keeping our sights on making our C++ language support more correct than ever, as promised, we've started overhauling the key areas, implementing fixes from the bottom way up to the top. The two big areas affected in v2017.3 are list initialization and name lookup.

List initialization

List initialization is a standard way to initialize an object from braced-init-list since C++11. In v2017.3, we've reworked the way CLion handles it to avoid many false warnings and errors in code analysis (like "too many arguments", "too few arguments", "no matching constructor", etc.). Among others, this has fixed the resolve for members of auto variables with uniform initialization, incorrect "parameter type mismatch" for boost weak pointer initialization, and invalid warnings for C99 union initializers.

Name lookup

Name lookup is a C++ standard procedure to associate a name with a declaration. In this regard we have improved code analysis, code navigation, and more. The changes affect the resolve of the symbols brought into scope, for example, via class inheritance or a using construct. The fixes also introduced the correct resolve order in several cases where it failed previously.

MSVC extensions

Microsoft Visual C++ compiler is still working in experimental mode in CLion. If you have it installed on your machine, enable the Registry option clion.enable.msvcand switch to MSVC in the Toolchains settings in CLion. You will now see significantly less incorrect code highlighting and fewer false errors from code analysis, as CLion 2017.3 provides support for MSVC extensions. Check the list of supported extensions here.

JUCE support

While these fixes are general, they are mostly noticeable for those who do cross-platform audio development with the JUCE library. The changes affect code analysis and navigation in many situations.

Even though JUCE 5.2 removed include directives inside namespaces, we still think this case is worth covering in general, so CLion 2017.3 supports it and resolves the symbols correctly.

Talking about JUCE a bit more, its v5.2 release brought CLion/CMake exporter support to Projucer, which means it's now super easy to start developing your audio plugin with CLion. Just check this very short demo where I take a demo Projucer project and debug in CLion this audio plugin running in Ableton Live.

And more

More changes in C++ language support include:

  • Support for C++11 friend declaration syntax
  • Support for the __COUNTER__ macr
  • Generate Definitions (Ctrl+Shift+D on Linux/Windows, Shift-Command-D on macOS) for function templates
  • New intention action to invert the condition in an if clause and flip its if-else blocks

Valgrind Memcheck

Dynamic code analyzers are great for catching issues that static code analyzers miss or for finding possible inefficiencies visible only in runtime. The most famous tool sets for dynamic analysis are probably the Valgrind tool family and Google Sanitizers.

As a first step towards providing support for profiling tools, we've implemented an integration with Valgrind Memcheck (memory error detector in Valgrind) in CLion 2017.3. The most important benefits this choice are:

  • Valgrind is a famous family of tools and Memcheck is probably the most used one from the whole family.
  • Valgrind supports multiple platforms.
  • Valgrind doesn't require a program recompilation and supports both GCC and Clang

Note that Valgrind works only on Linux and macOS, which means these changes are, unfortunately, of no use to Windows users.

Memcheck is capable of catching the following problems:

  • Invalid memory access (for example, accessing memory after free)
  • Usage of the uninitialized (or derived from the uninitialized) values
  • Mismatched malloc/free new/delete operations
  • Overlapping src and dst pointers in memcpy and related functions
  • Incorrect size value passed to the memory allocation functions
  • Memory leaks

Learn how to configure and use ValgrindMemcheck.


Boost.Test, the second most-used unit testing framework for C++, is now available in CLion 2017.3. Using it is similar to using Google Test and Catch frameworks, including special configurations to run Boost.Test and a built-in test runner.

Configuring multiple toolchains and compilers

This release introduces dozens of changes in this area. We'll summarize them, describe the main use cases, and tell you about the final flow for configuring toolchains.

Toolchains & compiler settings

The main idea behind these changes is to allow you to use different toolchains for different projects in one IDE, or even inside one project for different configurations. Typical cases include:

  • On Windows, use MinGW/Cygwin/Microsoft Visual C++ simultaneously
  • Use different CMake versions
  • Use different Make, C, and C++ compilers
  • Use different debuggers (for example, bundled GDB for one configuration, some specific custom GDB version for another configuration, and LLDB for the third one)

Configure toolchains in Settings/Preferences | Build, Execution, Deployment | Toolchains. The default one takes all system parameters from the platform used. Note that toolchains are configured per IDE (not per project), so you can simply configure all your toolchains there once and use them for all of your projects later.

CMake profiles & build type switcher

CMake profiles describe the set of settings used when CMake is run for the current project:

  • Build type (Release, Debug, MinSizeRel, RelWithDebInfo and any custom one)
  • Toolchain to be used (from the list of those configured in Settings/Preferences | Build, Execution, Deployment | Toolchains)
  • CMake options
  • Environment parameters
  • CMake generation path (build output)
  • CMake build options

The changes also make it possible to have several CMake profiles with the same build type but different set of settings, like toolchains for example (this was not the case before this release).

The typical use cases include:

  • Create Debug and Release CMake profiles, and switch between them when running or debugging your application
  • Create one CMake profile with Clang compiler and another with GCC, and switch between them when running or debugging your application
  • On Windows, create MinGW, Cygwin and MSVC toolchains, create 3 CMake profiles using separate toolchain each, and switch between them when running or debugging your application

To switch between CMake profiles, select them in the run configuration switcher on the toolbar. Alternatively, you can select them in the Run/Debug configuration switcher popup, which is opened with Shift+Alt+F10 (Linux/Windows) / Control-Option-R (macOS) for Run and with Shift+Alt+F9 (Linux/Windows) / Control-Option-D (macOS) for Debug.

Additional notes on the CMake profiles/build type switcher can be found here.

Run icons for main functions and tests

The left gutter in the CLion editor can help navigate your code (for example, navigate to the base/derived class or to the declaration/definition) and show VCS status. Now it's also helpful for the task of running/debugging your app.

For every main function in your code, as well as for every test (if case you use one of the officially supported frameworks like Google Test, Boost.Test or Catch), CLion shows a run icon in the left gutter. Click it to run, debug or run the corresponding main or test function with Valgrind Memcheck.

For unit tests, these icons also report the status of the tests: success or failure.

And even more!

Other important changes include:

  • Separate settings for function calls and function declarations in Settings/Preferences | Editor | Color Scheme | C/C++
  • Bundled CMake 3.9, GDB 8.0 with multiarch support, LLDB 5.0
  • Various platform changes, including VCS support improvements
  • Kotlin/Native, a brand new technology that compiles Kotlin directly to machine code, is now supported in CLion via plugins

Whew, that's it! Explore all the new features in even more detail on our website. Start your 30-day free evaluation and try out all these new features and fixes.

Your CLion Team

IntelliJ IDEA 2017.3: Coding Assistance, Debugger, Run Dashboard, Frameworks and More

Exciting news: A new massive update for IntelliJ IDEA is here! Please welcome IntelliJ IDEA 2017.3! It includes loads of new features and dozens of important bugfixes. Try it now and see for yourself. Read this summary about the highlights of this release.

  • Java
    • Smart code completion is now aware of type casts.
    • Many new and improved inspections: inspection for Redundant throws declarations, quick-fix for deprecated code, inspection for possible nullability in Stream API call chains, and more.
    • Improved JUnit5 support. Learn more
    • Configurable command line shortener: a new handy way to specify a method used to shorten the command line for each configuration. Learn more
    • Run Dashboard: Add different run configurations types
  • JVM debugger
    • A new feature called On-demand Data Renderers helps reduce overhead. To enable it for any renderer, choose Mute Renderers from the context menu.
    • Async Stacktraces now causes very low overhead and works out of the box.
    • The Java Stream Debugger plugin is now bundled.
  • Java EE 8
    • For Asynchronous CDI Events, you can now navigate between where an event was fired and where it was received.
    • Navigate between Injection point and Injected Beans using gutter icons for dynamic beans (CDI extensions).
    • Navigate from disposer methods to their producers. Learn more
  • Spring and Spring Boot
    • The Spring Beans Dependencies diagram has a new Neighborhood Mode. For better readability, you can switch to Borderless View.
    • There’s now an auto-detection facet for Spring Boot MVC web applications and Spring. Learn more
  • Brand new editor-based REST client
  • Kotlin: a bundled Kotlin plugin has been updated to v1.2, and support for the experimental Kotlin multiplatform projects is now available.
  • IntelliJ IDEA 2017.3 provides better synchronization of your settings across different installations. Learn more
  • Local variable type inference is supported. Learn more

For more detailed information about the shiny new features, check out the What’s New page. You can download the new IntelliJ IDEA 2017.3 right now!

Your feedback, as always, is very much appreciated in our issue tracker.


RubyMine 2017.3 Released!

RubyMine 2017.3, the biggest and final release of this year, is now available!

What's new in RubyMine 2017.3:

  • IDE: improved performance, support for apps with nested projects, and better code resolution and code insight. More
  • Linux subsystem for Windows (WSL) support. More
  • Refactoring: Extract methods directly to private and protected sections. More
  • RuboCop: autocorrect by offense class or cop department. More
  • Code style: the ability to indent private and protected methods, and choose which operators should be wrapped with space. More
  • Puppet: Embedded Puppet (EPP) templates support. More
  • Debugger: the new Trace to_s evaluation option detects costly operations and throws a timeout message. More
  • JavaScript: better code completion, documentation, CSS, and Vue.js. More
  • VCS: the Interactively Rebase from Here action, workspaces for branches. More
  • Database tools: managing schema, SQL generator, grouping data sources. More

Other improvements include support for Ruby 2.5, Gems.rb, Docker Compose v3, Cucumber Expressions, and more. Check out the What's new page, and update to RubyMine 2017.3!

PyCharm 2017.3 Out Now

We're happy to announce that PyCharm 2017.3 is now available! PyCharm 2017.3 is faster, more usable, and better for data science. Upgrade Now

  • It's Faster. Indexing got faster for both Python and JavaScript code. Faster variable loading during debugging. Debugging is now fast by default on Windows and macOS.
  • Scientific Mode. The scientific mode puts all the tools you need for analyzing data at your fingertips.
  • Easier Setup For Virtualenvs. With PyCharm 2017.3 it is easy to set up virtualenvs when creating a project, and when configuring existing projects.
  • New REST Client. If you develop an API, you often need to construct a request to test your software. PyCharm 2017.3 has an all-new REST client.

PhpStorm 2017.3 Out Now

Today we are proud to announce the release of PhpStorm 2017.3, the last major update for PhpStorm in 2017.

  • Brand new editor-based REST client. With the new REST client, all the powers of the PhpStorm code editor are now available for your REST requests.
  • Significant performance improvements. Typing latency in very complex PHP files has decreased significantly. We've examined typing latency in the mPDF main file, which is a 38k-line-long mix of PHP, JS, and HTML, and it is down by 75% in PhpStorm 2017.3!
  • New inspections for exception handling. Three new inspection Unhandled exception, Redundant @throws and Redundant catch clause with corresponding Quick Fixes will help you take exceptions under your control!
  • Test generation improvements. Now you can create Codespec and PhpSpec classes and create test methods!
  • Improved Twig support. We've implemented language injections for Twig custom tags and named blocks as well as improved Twig formatting that can now handle complex structures.

Announcing WebStorm 2017.3

Today we’re announcing WebStorm 2017.3!

This big update brings improvements to all parts of the IDE, from support for JavaScript, TypeScript, and the frameworks to debugging and testing.

Explore the new features and download WebStorm 2017.3 on our website.

YouTrack 2017.4

Please welcome YouTrack 2017.4 featuring Japanese localization, estimation report type, date and time custom fields, and other improvements.

The latest release also brings:

  • Sort by Relevance in Search Results
  • Date and Time Custom Fields
  • npm Package Support for Workflows in JavaScript

Other enhancements:

  • Text Indexing for Issue Fields
  • Extended Text Index Support
  • Import from Jira Option for New Projects
  • Redefined Project Teams
  • Shared Mailbox Support for Microsoft Exchange
  • Markdown Support as an experimental feature

For more details visit the What's new page. Get YouTrack 2017.4 today and enjoy its wide range of issue tracking and project management capabilities. The latest version is available for download or cloud registration.

Hub 2017.4

Please welcome Hub 2017.4 introducing new useful features and a number of UI and usability improvements.

The latest release brings:

  • Japanese localization
  • Redesigned projects page
  • Enhanced user tooltips
  • Redefined project teams

Other enhancements:

  • Access management redesign
  • License management page redesign

Check out What's new page for more details or view the Release Notes. Download Hub 2017.4 for free and enjoy all the new features today.

Rider 2017.2: New .NET IDE supports .NET Core 2.0, MSTest, adds call and value tracking

.NET developers, please welcome Rider 2017.2: this year's second major update to the new cross-platform .NET IDE.

Highlights of Rider 2017.2 include:

  • Support for .NET Core 2.0: you can now run, debug, test, navigate and refactor cutting-edge .NET Core applications.
  • Call and value tracking: inspect where a value originates and where it's passed next, or what call trees a method is part of.
  • MSTest support: Rider can now run unit tests that target both the classic MSTest and the newer cross-platform MSTest V2.
  • Opening individual folders or files, because not all code is in a solution or project. Alternatively, you can attach a folder to an exiting solution.
  • Multiple debugger updates including the Parallel Stacks view, lambda evaluation, and marking variables.
  • New refactorings ported from ReSharper: Transform Parameters and Invert Boolean.
  • Updates from the latest ReSharper, including improved support for C# 7.0, initial support for C# 7.1, and an assortment of code inspections.
  • Evolving F# support, including code folding, XML doc comment tooltips, and evaluating expressions on hover.
  • Unity support improvements, such as new file templates and better ShaderLab code highlighting.
  • Updates from the latest IntelliJ Platform in terms of VCS integration, JavaScript and TypeScript support, and better textual search.

Learn more about the new Rider release. Alternatively, just download Rider 2017.2 for Windows, macOS or Linux, and take it for a 30-day trial.

ReSharper Ultimate 2017.2: .NET Core 2.0, C# 7.0 and 7.1, better navigation, and more

Please welcome ReSharper Ultimate 2017.2: this year's second major update to a set of JetBrains .NET tools that includes ReSharper, ReSharper C++, dotCover, dotTrace, dotMemory, and dotPeek.

Highlights of ReSharper 2017.2 include:

  • Support for .NET Core 2.0 in Visual Studio 2017 15.3. Your favorite code inspections, navigation actions and refactorings are now available in .NET Core 2.0 projects, including the new ASP.NET Core Razor Pages projects. Lots of .NET Core unit testing issues have been resolved along the way, and you can now run, NUnit or MSTest in your .NET Core 2.0 projects.
  • Improved support for C# 7.0 including pattern matching and out variables, as well as initial support for C# 7.1: the default literal, tuple projection initializers, async main and pattern matching with generics.
  • New code inspections around IEnumerable usage and XML documentation inheritance.
  • Null checking preferences that let you tell ReSharper how you want it to introduce null checks when it generates code.
  • Multiple navigation improvements, including search in any order, exact search, textual search in Go to Everything, and navigating to nearby files.
  • TypeScript, JavaScript, JSON and Angular support improvements, including code completion performance, TypeScript 2.3 and 2.4 features, new kinds of language injections and new TypeScript refactorings.
  • Interactive tutorials to help you get started with ReSharper's functionality or get up to speed with features in new ReSharper releases.

Other ReSharper Ultimate products have received their share of improvements as well:

  • ReSharper C++ 2017.2 is mostly focused on better language understanding and supporting features from C++11 and C++17. Other changes include enhancements in code formatter and navigation, improved performance, new code inspections and quick-fixes.
  • dotMemory 2017.2 enables importing raw Windows memory dumps and analyzing them using its full range of features.
  • dotCover 2017.2 improves code coverage performance, starts to support MSTest unit tests in .NET Core applications, and introduces a new kind of markers for coverage and test status indication.
  • dotTrace 2017.2 enables profiling child processes in unit tests, introduces Timeline profiling from the command line, and learns to show navigation paths in the Call Tree view.
  • dotPeek 2017.2 supports SourceLink and extends its feature set in terms of navigation and search.

Learn more about the new features and download ReSharper Ultimate 2017.2.

YouTrack 2017.3

Please welcome YouTrack 2017.3 featuring workflows in JavaScript, improved Kanban support, project-based swimlanes and more.

The latest release brings:

  • Personal board templates
  • Authentication throttling
  • Advanced visibility option

Other enhancements:

  • Time report improvements
  • General report improvements
  • Zendesk Integration improvements
  • OAuth 2.0 Presets for GitLab and Bitbucket Cloud

For more details visit the What’s new page. Get YouTrack 2017.3 today and enjoy its wide range of issue tracking and project management capabilities. The latest version is available for download or cloud registration.

Rider 2017.1: New .NET IDE from JetBrains Hits the Market

Are you into .NET development? If you are, check out our latest offering for .NET developers: JetBrains Rider, a new cross-platform .NET IDE based on ReSharper and IntelliJ IDEA that has just reached its first official release.

Available on Windows, Mac and Linux, Rider helps you develop ASP.NET, .NET Core, .NET Framework, Xamarin and Unity applications. 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.

Rider comes with 2,000+ live code inspections across the supported languages, 500+ refactorings, a variety of code base navigation helpers, a unit test runner, debugger, rich coding assistance, and a lot more advanced IDE features. Anyone who has experience using ReSharper in Visual Studio, or is familiar with JetBrains IDEs such as IntelliJ IDEA, WebStorm, or PyCharm, will feel right at home with Rider.

Rider uses the standard JetBrains licensing model: there are subscriptions available for corporate and individual customers, with monthly and yearly payment options, and an uninterrupted subscription discount to help you save up to 40% on your third year and onwards.

In addition to standalone licensing, Rider is also part of All Products pack along with other JetBrains IDEs and .NET tools. There's also a Rider + ReSharper Ultimate bundle subscription that helps you save on subscription costs while keeping access to other JetBrains .NET tools such as ReSharper and dotTrace.

Rider is available for free to selected groups of customers including Microsoft MVPs, ASP.NET insiders, students, teachers, and non-commercial Open Source projects.

Download Rider for Windows, macOS or Linux, and take it for a 30-day trial.

PyCharm Edu 4 is Out, Enhanced for Both Learners and Educators

PyCharm Edu, our easy and professional tool to learn and teach programming with Python, is now updated!

This update brings a better user experience to both learners and educators, making the product’s use as simple as possible, whether it is used for learning, or for teaching.

First of all, we’ve changed the welcoming UI. Now you begin by choosing your role, Learner or Educator. Depending on your choice, you get access to the courses you can join as a learner and can practice with the help of simple and effective “fill in the missing code” exercises. Or, you can create your own code practice tasks and integrated tests as an educator.

With PyCharm Edu 4, learners can now easily choose the course to join and start learning thanks to the new Welcoming UI. Learn more about PyCharm Edu for learners.

DataGrip 2017.2 is Here!

DataGrip, our IDE for SQL and databases, has reached a new version. New features and improvements:

Amazon Redshift and Microsoft Azure support
Dedicated drivers, Incremental introspection, support for Redshift functions which are absent in PostgreSQL
and for specific grammar cases.

Several databases in one PostgreSQL data source

Evaluate expression
This will help you see data without writing a query to the console.

Transaction Control
This replaced the Auto-commit option. There are two modes of transaction control now: Auto and Manual.
It can also be defined for each query console along with the isolation level.

Table DDL
We have divided the Data and DDL tabs when viewing a table. Actually, there are no more tabs.
Now, when you open a table with a double-click, you just see the data. DDL can be opened by Edit Source on the toolbar.

Integration with restore tools for PostgreSQL and MySQL

Executing queries
Attach console action, notification when a large query is finished, auto-scroll to result-set and vice versa.

Coding assistance
Completion for table-valued functions, NEW and OLD references are resolved in PostgreSQL triggers,
support for MERGE statements, resolve for sequences.

Your DataGrip Team

PyCharm 2017.2 Out Now: Docker Compose on Windows, SSH Agent, and more

We’re happy to let you know that the next version of PyCharm is now available. PyCharm 2017.2 comes with Docker Compose support on Windows, SSH Agent, Azure Databases, and Amazon Redshift support.

New in 2017.2:

  • Running your project in Docker Compose is now also supported on Windows
  • Support for using SSH Agent (or a compatible tool like Pageant) to manage your SSH keys
  • The database tools now support connecting to Amazon Redshift and Azure Databases
  • Some small improvements for editing Python files: a quick fix to change the signature of a function you’re calling, an inspection to make sure your Python 3.6-style format strings work correctly, and autocompletion for type hints
  • Data View now supports Pandas Series
  • And more, you can find the details on our website.

Learn more about PyCharm 2017.2 or upgrade now

Your PyCharm Team

CLion 2017.2 released: Clang-Tidy, Force Step Into, better C++ support and performance improvements

Please welcome the new release of your favorite cross-platform C/C++ IDE – CLion 2017.2! Focusing on C++ correctness and performance improvements, it also brings Clang-Tidy integration to expand the number of code analysis checks, a better way to get disassembly view, and lots of bug fixes and other improvements.

Read on for details and get a free 30-day trial to evaluate all the new features and enhancements:

  • Integration with Clang-Tidy
  • C++ parser and code analysis improvements
  • C++17 in the New Project wizard
  • Force Step Into for disassembly code and debugger fixes
  • Google Test configurations for targets linked with gmock
  • Non-project files
  • Performance improvements
  • Find in Path UI enhancements
  • VCS changes: Git Revert, Reword, updated commit message settings and quick-fixes

Better code quality: Clang-Tidy integration

CLion has 30+ code built-in code inspections to alert users to unused code, incompatible types, wrong declaration order, uninitialized variables and so forth. It also performs Data Flow Analysis to catch infinite recursion, endless loops, missing returns, and unreachable code. To expand the list of checks and help you ensure better code quality, we've integrated Clang-Tidy into CLion 2017.2.

In CLion Clang-Tidy checks are shown the same way as CLion's own built-in code inspections, and quick-fixes are also available via Alt+Enter.

Clang-Tidy's list of checks is long and impressive, and CLion got most of them enabled by default. To customize the list of checks and tweak it to your needs, as well as company policies and standards, go to Settings/Preferences | Editor | Inspections | C/C++ | General | Clang-Tidy settings and use the text-formed string in the Clang-Tidy command line format.

Enable C++ Core Guidelines or Clang Static Analyzer checks, try Modernize checks and many others. It's even possible to add your own checks to Clang-Tidy and get them automatically in CLion. However, be sure to use JetBrains' branch of Clang-Tidy (until our patches for the output format and response files are accepted into master).

To read more about the integration and our plans for expanding it, see this blog post.

More accurate and correct C++ parser

Looking ahead, we're planning a major overhaul of CLion's C++ parser. Starting from bottom to top, we will ensure it is correct on each level, unmasking hidden problems on the way. Some work has already been done.

At the same time, CLion 2017.2 brings dozens of fixes in various parts of the C++ parsing and resolving engine. From the user perspective, it means a reduced number of false-positive code analysis checks, more accurate navigation, refactorings, and other benefits.

In addition, CLion 2017.2 comes with a new quick-fix to preserve non-trivial constructor calls on an unused variable.

Besides, when the cast is needed in C++ code, CLion now suggests C++ type casts (<code>static_cast</code>, <code>dynamic_cast</code>, <code>reinterpret_cast</code>, <code>const_cast</code>) instead of C-style casts.


If you use CLion's experimental support for Microsoft Visual C++ compiler, you'll be glad to learn that precompiled headers are now supported for this case (in addition to previously supported GCC and Clang). Note there are some limitations to keep in mind.

Easy start with C++17

C++17 will be officially signed later this year, but as we see, many C++ developers have already moved to it or at least plan to do so. That's why we've added C++17 to the list of standards in the New Project wizard. This means CLion will automatically add set(CMAKE_CXX_STANDARD 17) to the CMakeLists.txt generated for the new project.

Force Step Into for disassembly view

Disassembly view (for GDB) was recently added to CLion 2017.1, and now we're adjusting its behavior based on your feedback.Some users have been facing the problem of getting into disassembly code unexpectedly, whereas they would prefer to simply skip all the frames without sources. That's why we've relocated the functionality to the Force Step Into Shift+Alt+F7 action, while the usual Step IntoF7 skips the frames without sources. We hope this makes the feature easier to use and more intuitive.

Note, that on macOS (when using GDB) Step Into still falls into disassembly view on std function calls and in some other cases (CPP-10181).

Debugger fixes

To improve the debugging process in CLion, this release comes with some important enhancements and fixes.

To inspect elements of array with big indexes without constantly clicking Expand to the next 50 elements, you can adjust the value cidr.debugger.value.maxChildren in the Registry. (Open the Find Action dialog (Shift+Ctrl+A on Linux/Windows, shift cmd A on macOS), type Registry, and then type cidr.debugger.value.maxChildren in the Registry to search for the setting.) However, remember that this change may lead to increased timeouts during array evaluation while debugging and may affect the IDE in general (beyond your current debug session or project).

Other fixes implemented in the GDB driver include:

  • Command time out when trying to attach to a non-existent local process
  • Incorrectly escaped backslashes in program arguments on Windows

Automatic Run/Debug configurations for Google Test

To perform unit tests with ease, CLion provides a built-in test runner that allows you to rerun tests/failed tests in one click, export results, navigate to the sources, and view the results in a tree view. To get the test results there, a special Run/Debug configuration should be used. For Google Test it can be created automatically by CLion for every target linked with gtest, and now with gmock.

Non-project files

Non-project files (files that do not belong to any CMake target) can now be identified easily in the editor, thanks to the the new file-wide notification. For CLion it means that code insight features should be limited in such files, for example refactorings should not be performed.

It might be useful to know, that when you create new C++ class or C/C++ source or header file CLion suggests to add a new file to CMake target and suggests most probable options to select from. Use this feature to get all your new files included into CMake targets.

Improved performance

Our team is constantly working on performance improvements, doing our best to make the IDE responsive and effective. Thanks to many CPU snapshots, logs and sample projects that you've shared with us via tech support and the CLion tracker, we can identify the areas that can be improved and make the appropriate changes.

The first performance enhancement in CLion 2017.2 is cancelable actions. The idea is to use them where possible to prevent time-consuming operations from freezing the IDE. This time we've updated Go to subclass and Go to overridden functions actions, which build a list of options and can require quite a lot of time to finish. To cancel the action, simply click to the area out of the navigation popup.

Another time-consuming operation is CMake reload. You can now cancel it at any time, by simply clicking the Stop button in the CMake tool window. The output logs were updated to get the indication of successfully finished reload (to distinguish from a canceled run).

Among other performance-related changes:

  • We've fixed laggy Enter and Backspace on some projects (for example, when the caret enters a new block, moves to a new line, or causes a code indent).
  • We've shortened indexing time by optimizing the way compiler-predefined macros are parsed in CLion.

Find in Path UI enhancements

In version 2017.1, the Find in Path window turned into a convenient and compact popup with immediate preview. CLion 2017.2 brings several improvements to make the UI more functional:

  • A left-side gutter is now available in the preview, with line numbers, navigation icons, and markers for local changes.
  • To make the preview even more compact, results from the same line are merged into one line in the preview panel.

Do more with new VCS features

Thanks to IntelliJ Platform, this release brings lots of improvements for Version Control Support:

  • If you need to revert some commits, select them and run the Git command Revert from the Git Log view.
  • To fix a typo in a commit message, or just to update it, use the Reword action (applicable to any commit that has not been pushed yet).
  • To keep commit messages easy to read and expressive, use new Preferences/Settings | Version Control | Commit Dialog settings. Configure whether to have a blank line between subject and body, set maximum text length, and check the spelling in your comments.
  • A quick-fix and the Reformat action are available in commit messages.

That's it! Explore all the new features in even more detail on our website.

Start your 30-day free evaluation and try out all these new features and fixes.

Your CLion Team

PhpStorm 2017.2 is Here

PhpStorm 2017.2, the next major update for PhpStorm, is now available!

Here are some notable highlights of this release:

  • Composer: New Composer actions (update, remove, install, self-update), PhpStorm and composer.json settings synchronization, global installation and easy project creation
  • PHP Runtime: Docker Compose, detection of enabled/disabled extensions from PHP interpreter, preserve state of Start Listening for PHP Debug Connection option
  • PHP Language Support: reworked polymorphic types support, better refactoring for PHP 7/7.1, $this highlighting, new inspections
  • Testing: Automatically run PHPUnit tests, Unified Test Frameworks settings
  • Improved PHP Formatting: new formatting options (spaces around null coalescing operator, new formatter options for blank lines, new parenthesis options for if statements, separate option for brace placement for closures, new Return type on new line option)

RubyMine 2017.2: Docker Compose, RuboCop Quick-fixes, Better Version Control, and more

RubyMine 2017.2 is released! This is the second major update for RubyMine this year, and we encourage you to check out our What’s new page to learn more about it and get the new version.

Here's what's new in this release:

  • Docker Compose - Now you can add Docker Compose as a remote SDK and work with your apps in containers using all the IDE features from code completion to debugging apps with the RubyMine graphical debugger.
  • RuboCop Quick-fixes - RuboCop support has been enhanced with handy right-in-the-editor autocorrections application for code smells found in the file.
  • Breadcrumbs - Added newly designed breadcrumbs for Ruby structure elements: modules, classes, methods, blocks, and custom names for RSpec groups and examples.
  • JavaScript - New Move symbol refactoring, additional code style options, improved support for SASS and SCSS, and coding assistance for webpack module resolution in JavaScript files.
  • Version Control - the Git log features the new Revert commit action that allows you to remove registered changes, and a new convenient way to Reword local commits. Moreover, you will discover new style options for the Commit dialog, and the updated Shelf.
  • User Interface - The Preview panel in Find in Path now has a Gutter – a left-side pane like in the editor – with line numbers, navigation icons and local change markers.
  • Other features include Database improvements, the debugger for Docker, RuboCop support in scratch-files, creating patches to clipboard, and a number of fixed performance issues.

    For more details please see What's New in RubyMine 2017.2 , and download a free 30-day trial for your operating system. You can also check out the release notes.

    Your RubyMine Team

IntelliJ IDEA 2017.2: smarter coding assistance, neater UI, faster performance, and more

2017.2, a new massive update for IntelliJ IDEA, is out and it’s packed full of new features and important bugfixes. Get a copy of this new release, and see for yourself, but before you do, it is worth spending a couple of minutes reading this summary for ideas on where to look.

  • Smarter code completion and control flow analysis
    • Smart Completion becomes aware of builder classes and suggests chains of method calls on its first call, and the chain suggestions are sorted according to how frequently symbols are used in the current project.
    • Control flow analysis has become much smarter and detects a wider array of problems, especially when booleans, strings, arrays, lists, and maps are involved; it also checks nullability issues when corresponding annotations are used on type parameters for collections and maps.
  • New inspections and refactorings
    • Inspections and quick-fixes: Replace with Set.of and Add Thread#onSpinWait() (both require Java 9), and Extract set from comparison chain.
    • Refactorings: Extract as Map Operation (for streams), Extract Functional Variable, and Extract Lambda to Method Reference
  • Java 9 module diagrams
  • Debugger: filtering arrays, collections, and maps
  • Spring Boot run dashboard and actuator endpoints
    • Managing multiple applications is now easier, thanks to the new Run Dashboard tool window
    • Both the Run and Run Dashboard tool windows now provide the actuator endpoint information, like Beans, Health, and Mappings.
  • Kotlin 1.1.3 support
    • The editor can now display Parameter Hints (introduced earlier for Java), along with Type Hints, that is inferred type where it’s not explicitly set.
  • Groovy 2.5.0 support
  • VCS: reverting and rewording commits, formatting commit messages
  • User interface
    • Windows 10 native look and feel
    • Better HiDPI support for multiple display setup on Windows
    • Automatic font settings adjustment to match display resolution
  • JavaScript and TypeScript improvements
    • Editor: Parameter Hints and Type Info
    • Formatting: Rearrange Code
    • Refactorings: Move (across ES6 modules)
    • Frameworks: better support for React and AngularJS
    • CSS Modules support
    • Better Webpack support
    • Code coverage for Mocha
  • Performance
    • Arbitrary modules can now temporarily Unloaded to conserve CPU and memory resources when working on large projects.
    • You can suspend indexing and resume it at your convenience, for example, to save battery power.

For more details about the new and improved features (only the most notable of which are mentioned here), check out the release What’s New page.

Your feedback, as always, is very much appreciated in our issue tracker.

JetBrains recommends: to stay up-to-date with the latest releases, and, when needed, be able to safely switch between several IDE versions, install our Toolbox App.

Announcing WebStorm 2017.2

Today we’re announcing WebStorm 2017.2!

This big summer update adds powerful Move symbol refactoring, supports new code style options for JavaScript and TypeScript, improves testing with Karma and Mocha, and much more!

Explore the new features and download WebStorm 2017.2 on our website.

Upsource 2017.2

Good news, everyone — Upsource 2017.2 is here! It comes with a number of highly anticipated features, brings some fun elements into your daily routine and, as usual, enhances the existing functionality. Here's a quick recap.

External Inspection Engines

Running SonarQube/ReSharper/IntelliJ Inspections on TeamCity? Now you can see the results straight in Upsource. This makes a reviewer's job even easier than before, especially if you're working on a .NET project!

Python Support

Code insight functionality is now also available to teams using Python. As for other supported languages this includes code-aware navigation, static code analysis, Find Usages and Usages diff.


When there's no need for an elaborate answer, give your feedback in a fast and compact form using a reaction.

GitLab Support

We've received a number of requests to support GitLab merge requests, so you'll be pleased to know that you can now perform code review for your GitLab merge requests in Upsource.

NPM Support

To improve "Go to declaration" and "Find usages" in JavaScript code, we install dependencies listed in your package.json file using npm or yarn (whichever is available).

Suggested Revisions in Reviews

We have employed advanced statistical analysis to suggest revisions that should be added to a review. Similar to the reviewer suggestions that were implemented several releases ago, this is another powerful tool that helps you review code more efficiently.


To make it easier to discover new features and to add some fun to your interactions with Upsource, we are introducing an achievements/badges system. So far we've added only a few basic achievements but that's just the beginning!

That's not all of it! If you'd like to learn more about the new Upsource 2017.2 features, please check out the What's New page.

Eager to try? Download the build and don't forget to backup your current instance!

ReSharper Ultimate 2017.1: support for Visual Studio 2017 RTM, new C# 7 inspections, code styles and more

This year's first major release of ReSharper Ultimate is now available for download!

Major highlights of ReSharper 2017.1 include:

  • Visual Studio 2017 support: ReSharper respects the current target framework context; you can work in a Lightweight solution load mode; Open Folder functionality is partially supported and Move to Folder refactoring works in this mode.
  • Context actions and quick-fixes for local functions and throw expressions, and other new inspections to support C# 7 language features.
  • .NET Core unit testing support in Visual Studio 2017.
  • EditorConfig support and the new File Formatting Info window that displays the scopes and properties defined in all active .editorconfig files as well as the source of indentation settings and its value, and the status of indent autodetection.
  • Layered settings for tabs and indents to maintain a consistent code style if most of your team members use ReSharper.
  • ReSharper can automatically detect and apply indentation based on the existing file indents, when you reformat a part of code in this file, or when code is auto-formatted on editing or pasting.
  • Contextual configuration of formatting rules is available in С#, C++, JavaScript and TypeScript.
  • Usability improvements to Code Cleanup: you can create and configure custom task-specific profiles right in the Code Cleanup dialog box.
  • ReSharper applies its formatting rules to any code you paste, and, by default, only the indentation is affected.
  • Code style settings for C# type members bodies allows you to choose between always using a body block, with braces, or using the expression format.
  • New C# formatting options such as comma-first wrapping style, configurable line breaks in a single case statement.
  • Find Results window gets a new option to group and filter results by kind of usage.
  • Go to Everything and Go to Text popups support inline commands for advanced filtering of search results.
  • Full support for TypeScript 2.1 and initial support for TypeScript 2.2.
  • The Rename refactoring in TypeScript works faster for local symbols and gets a new option to disable search for dynamic usage of TypeScript symbols in JavaScript files.
  • The Generate Code menu gets a new option to generate properties or read-only properties for TypeScript classes. The Generate Overriding Members command now calls super whenever possible.
  • TypeScript gets highlights and quick-fixes for unused imports in ES6 style imports.
  • Postfix templates in JavaScript and TypeScript are supported.
  • Navigate to Implementing Members in TypeScript and Navigate to Function Exits in TypeScript and JavaScript.
  • Initial support for Angular 2 templates syntax: template expressions, template statements, NgFor directive and template variables.
  • Context menu on ReSharper's File Status Indicator provides quick access to a number of code inspections and commands.

ReSharper C++ 2017.1 comes with these improvements:

  • Support for the Open Folder functionality and CMake-based projects, as well as the Faster Project Load Visual Studio setting.
  • Performance improvements.
  • The Update file header cleanup task and a set of cleanup tasks to fix common code issues.
  • Control flow inspections for class fields.
  • Declaration and assignment can be joined inspection and an accompanying quick-fix.
  • Custom attributes in C++ 11 to mark printf-style functions, functions with side effects, and guard classes for which the Unused variable highlighting should be suppressed.
  • Extended set of C++ postfix templates.
  • New code formatting options: Indenting of preprocessor directives, Indent namespace members, Space after parentheses in cast expressions and Break line in simple case statement.

Updates to other tools within the ReSharper Ultimate family include:

  • dotMemory command line profiler which is extremely helpful when you need to automate the process of collecting memory snapshots.
  • dotMemory and dotTrace profiler can be attached to running applications using drag and drop.
  • Option to switch code coverage highlighting mode in dotCover: show markers, colored background or both.
  • Support for Portable PDB in dotPeek.

Learn more about the new features and download a free 30-day trial.

Your ReSharper Ultimate Team


YouTrack 2017.2

Please welcome YouTrack 2017.2 featuring a redesigned profile page, the ability to change the owner of an agile board, experimental features and more.

The latest release also brings:

  • Current sprint functionality
  • Dashboard improvements
  • Simplified board commands

For more details visit the What’s new page. Get YouTrack 2017.2 today and enjoy its wide range of issue tracking and project management capabilities. The latest version is available for download or cloud registration.

YouTrack 2017.2

Please welcome YouTrack 2017.2 featuring a redesigned profile page, the ability to change the owner of an agile board, experimental features and more.

The latest release also brings:

  • Current sprint functionality
  • Dashboard improvements
  • Simplified board commands

For more details visit the What’s new page. Get YouTrack 2017.2 today and enjoy its wide range of issue tracking and project management capabilities. The latest version is available for download or cloud registration.

CLion 2017.1 released: C++14, C++17, PCH, disassembly view, Catch, MSVC and more

Please give a warm welcome to CLion 2017.1!

Our first big update this year includes:

  • Extended support for C++14 (in brief, all except constexpr are there!)
  • First step towards C++17 support (nested namespaces!)
  • First step to modernizing your C++ code: make auto intention
  • Support for precompiled headers and headers included via -include compile option
  • Disassembly view in debugger (GDB)
  • Support for the Catch unit test framework
  • Experimental support for Microsoft Visual C++ compiler
  • Find in Path in popup
  • Enhanced Log viewer and branches popup

Modern C++ standards

As C++17 has already been approved, we've sped up to support the latest C++ standards. The following features of C++14 are recognized in v2017.1:

  • auto return type,
  • generic lambdas,
  • variable templates, and
  • generalized lambda captures.

Support for these language features includes correct highlighting and no false-positives in code analysis, as well as correct code completion, navigation and refactorings.

This means that only constexpr is actually missing from C++14. As for C++17, we've started with the most upvoted feature, nested namespaces.

There are dozens of fixes for incorrect code resolve and thus no more false code analysis and other related issues. Check out the build to see if CLion got better for you!

Support for C++11 and C++14 will be polished in 2017.1.x and 2017.2 releases, and hopefully we'll be able to devote more time to C++17.

Make auto

While working on modern C++ standards, developers see how new language features can help make their code more accurate and readable. What if an IDE could assist you with the task of modernizing your code? Sounds good, doesn't it?

The first step we've taken in this direction is to add a 'convert variable type to auto' intention in CLion 2017.1. Just put the caret on the type or variable name, and invoke the available intentions list with Alt+Enter. Be careful – keep the code modern, but self-documented. The best general cases to convert variable type to auto are iterators, type casts, new-expressions.

Precompiled headers and more

Precompiled headers and the -include compiler option is a way to reduce compilation time and keep large-scale codebases structured and clear. When using this, you simply compile expensive includes once and then guide the compiler to reuse that information.

CLion 2017.1 correctly resolves symbols from such headers, suggests code completion, navigate to the declarations and definitions. Check more details.


The debugger in CLion 2017.1 received several important bug fixes and a workaround for the GDB timeout issue (which unfortunately still happens to some CLion users).

However, the most important and long-awaited change is the disassembly view in the debugger. When the sources are unavailable, you still can step into and view the disassembly code. Step through it to investigate the issue in your program deeper or to understand what's happening inside a library call.

For now this only works for GDB. For more about the limitations and known issues, see this.

Besides, if you just open a .s or .asm file in CLion (or other extensions, if you add them to Settings | Editor | File Types | Assembly Language) which uses the AT&T dialect and no preprocessor, it will be appropriately highlighted in the editor.


There are lots of unit testing frameworks for C++: Google Test, Boost, CppUnit, CppTest and many more. Catch is one that's known for its easy starting process (just include a simple header) and convenient and flexible test cases.

CLion has had Google Test support for a while, and now we've introduced Catch support. It includes a built-in test runner that allows you to view the test results and sort them by duration, rerun failed tests, export test results, navigate instantly to the source code, etc.

The special Catch Run/Debug configuration is flexible enough to run any preferred set of tests within CLion. For your convenience, it provides you with completion of Catch tags and wildcard-based matching templates to speed up configuration.

To learn more about Catch and how it's supported in CLion, read this detailed blog post.


One more feature that many of our users have requested is support for Microsoft Visual C++ compiler.

There are three important things you need to know if you'd like to try it in CLion:

  1. Use the Registry option clion.enable.msvc to enable this support.
  2. CLion supports Microsoft Visual C++ compiler that ships with VS 2013, 2015 and 2017.
  3. There's no support for msbuild. CLion works through CMake and the NMake generator.

CLion auto-detects the Visual Studio versions installed on your machine; provides settings to configure the Microsoft Visual C++ compiler path, architecture and platform; and finally runs Microsoft Visual C++ compiler to compile your program. It also helps with navigation through the compiler errors in the Messages Build tool window.

It's important to understand that this support is currently experimental, meaning there are known issues, the biggest being that there's no support yet for specific Microsoft C++ language extensions. We will continue to work on it within the 2017.2 EAP.

Find in Path

In CLion it's possible to search for text across the whole project or any selected scope, with the Find in Path dialog. Now it has a popup window with immediate preview, though you can still open a separate Find Window if you wish.


CLion 2017.1 enhances its Log View, making search easier with regular expressions and the ability to match/ignore case.

If you have lots of branches in your project and are afraid of getting lost in them, mark the most important ones as Favorites. The redesigned branches popup then allows you to filter them and view only the favorites.

That's it! Explore all the new features in more detail and watch a quick demo on our website. Start your 30-day free evaluation and check all the new features and fixes.

Your CLion Team

PyCharm 2017.1 is Here!

PyCharm 2017.1, is out! Faster debugger, better unit testing, and more. In PyCharm 2017.1:

  • The Python debugger got forty times faster for Python 3.6 projects, and up to two times faster for older versions of Python
  • We’ve added support for the six compatibility library
  • Unit test runners for Python have been rebuilt from the ground up: you can now run any test configuration with PyCharm
  • Are you a full stack developer? We’ve improved our JavaScript unit testing: gutter icons indicating whether a test passed and support for Jest, Facebook’s JS testing framework (only available in PyCharm Professional edition)
  • Zero-latency typing is now on by default: typing latencies for PyCharm 2017.1 are lower than those for Sublime Text and Emacs
  • Support for native Docker for Mac – no more need to use SOCAT! (only available in PyCharm Professional edition)

PhpStorm 2017.1 is Here

PhpStorm 2017.1, the next major update for PhpStorm, is now available!

Here are some notable highlights of this release:

  • Tools and Frameworks: Support of the Codeception testing framework, support of PHPUnit 6, support of PHPDoc in Blade injections, Vue.js support
  • New editing experience: SParameter Hints, improved support of PSR-0 and rename refactoring, recognition of PHP class names in strings, improved PHP formatting, improvements in auto-import functionality
  • PHP language support: Full support of PHP 7 Uniform Variable Syntax, current scope highlighting for alternative syntax, improved support for anonymous classes in PHP 7.1, new code highlights, configurable PHP runtime
  • Code quality analysis: Detect and convert PHP 4 style constructors to PHP 5.3+, new quick-fix for undefined variables
  • PHP debugging: Grouping of user-defined constants in Debugger, allow choosing IP to be sent to Zend Debugger

DataGrip 2017.1 is Here!

DataGrip, our IDE for SQL and databases, has reached a new version. New features and improvements:

Database tree:

  • New schema management
  • SQL resolution scopes
  • Create database/schema UI
  • Color settings affect editor and grid
  • SQLite introspection

Import/export data:

  • Column mappings
  • DDL preview
  • Drag-n-drop tables
  • Export result-set to a database

Query console:

  • Respecting the default search path in PostgreSQL
  • Trigger generation pattern
  • Hints for column names in INSERT statement
  • Insert string concatenation on Enter option
  • Settings for Qualifying objects
  • Editable Aliases casing
  • Statement separators
  • Jump to colors and fonts action

Database objects:

  • Double-cliсk to open column details in Modify table
  • Warning if an object has been changed in another place
  • Correct source code for views in SQLite

RubyMine 2017.1: Docker, RuboCop, Puppet, Test Generation for Rails, and More

RubyMine 2017.1 has been released! This is the first major update for RubyMine this year, and we encourage you to learn more about it and get the new version from our What’s new page.

Here's the list of all new and updated items:

  • Docker support - RubyMine provides full support for Docker through the usage of the Docker integration plugin available in RubyMine.
  • RVM gemsets - we added the ability to create new RVM gemsets from the New Project wizard, and through Settings | Ruby SDK and Gems.
  • RuboCop support - now the IDE runs cops in the background, and displays RuboCop offenses the same way as it does RubyMine inspections.
  • Test generation for Rails - you can now create tests for Rails controllers, models, helpers, and mailers from the Go to test action.
  • Puppet improvements - new Puppet modules can be generated from the New Project wizard. Also, now RubyMine finds all modules and/or environments in your project and updates the project structure when you Install dependencies from the context menu.
  • JavaScript improvements include Support for Vue.js, Auto import for React components, Integration with Jest, and more.
  • VCS features new search and display options. Also, searching in Git Log is now a lot faster.

Other improvements include parameter hints for Ruby, updated structure view of markdown files, rollbacks for generated Rails entities, updated New Ruby Class dialog, support for Cucumber 3, support for Emoji, and customizable colors for RegExp syntax highlighting.

For more details please see What's New in 2017.1, and download a free 30-day trial for your operating system. You can also check out the release notes.

Your RubyMine Team

IntelliJ IDEA 2017.1 is Here: Java 9, Kotlin 1.1, Spring, Gradle, JavaScript and more

IntelliJ IDEA 2017.1 is available for download! In addition to many important bug fixes, this massive update brings lots of improvements to supported languages, frameworks, and built-in tools.

  • Java 9: The latest builds of JDK 9 are fully supported, with assisted project import and coding assistance for editing module declarations. Built-in inspections validate module declarations and provide quick-fixes for adjusting project dependencies.
  • Java 8: Quick-fixes that help migrate for loops to Stream API calls have been improved and now support more sophisticated scenarios. We’ve also added a quick-fix that turns Stream API calls back into for loops, which is handy for debugging or exploring code.
  • Async-aware debugger: Async stacktraces is a new feature that substitutes parts of a stack trace related to asynchronous code execution with data captured from where that code is invoked. This helps you focus on what you’re debugging. An improved Smart Step Into also supports asynchronous code and lambda expressions running on other threads.
  • Better VCS: The Log panel for Git and Mercurial has new display options, the Diff dialog gets an option to Ignore imports and formatting, and File History for Git is now faster. We’ve also added Favorite branches and Speed Search to the Branches popup for Git.
  • Search: The Find in Path dialog, which previously had added a Preview tab, has been reworked from the ground up and now shows instant results in the first place. What is more important, now you can open any selected result in the Editor simply by pressing Enter.
  • Spring: Spring Testing has been updated to support Spring Boot 1.4.3, and the upcoming Spring 5.0. Spring Data tools are updated to version 2.0 (including MongoDB, Redis, Solr, KeyValue, Gemfire, Apache Cassandra, REST, Neo4j, Couchbase, and Elasticsearch). There’s also a new Data tab in the Spring tool window which brings better repository navigation.
  • Gradle: Support for Composite Builds is much improved with the detection of includeBuild in Gradle settings and automatic project configuration.
  • Kotlin 1.1: Among other things, the new version of this JVM language introduces coroutines—the new non-blocking asynchronous API, and fully supports compilation to JavaScript. This means you can use Kotlin strings, collections, sequences, arrays and other core API in your JavaScript apps.
  • JavaScript: We’re bringing first-class support for Vue.js, lots of new code style options for JavaScript and TypeScript, faster and more reliable integrations with Angular, ESLint and TSLint (including language service support and TSLint-powered quick-fixes). Plus, simpler editing of project dependencies in package.json with package names and versions completion and easier running of Mocha and Jest tests with the new Run gutter icon that also displays test state.
  • Database tools: IntelliJ IDEA now allows you to transfer table schemas and data between any two databases (yes, even from MySQL to Microsoft SQL Server and back).
  • Emoji: The editor now supports Unicode emoji characters (handy for writing comments).
  • Android Studio 2.2.2: This update includes all changes from Android Studio 2.2.2.
  • Docker: The Docker plugin now supports Docker for Mac and works via "unix://".
  • Windows: The 64-bit installer for Windows lets you give IntelliJ IDEA more RAM.

For more details about IntelliJ IDEA 2017.1, check out the What's new page.

Meet WebStorm 2017.1 with Vue.js and Jest support

WebStorm 2017.1, the first big update this year, is now available!

We’ve added support for such exciting technologies as Vue.js and Jest, brought more flexibility to code styles, improved React and Angular support, and so much more!

Explore the new features and download WebStorm 2017.1 on our website.

Upsource 2017.1 Is Out

Please welcome Upsource 2017.1 with tons of new features and improvements that make your code review process smoother and more productive.

New features include:

  • Cross-project full-text search
  • Squash/rebase support
  • Review progress
  • Browser notifications
  • Docker support
  • Merge status on Review page
  • Review suggestions in revisions list
  • New code review workflows
  • Initial GitLab support

Other enhancements:

  • Revised Reviews page
  • Redesigned Administration area
  • Updated user profile
  • Android Studio, advanced Gradle settings
  • New query assist options
  • Code review workflow improvements
  • Fira Code

Please visit our What's new page for more details about this release.

Download Upsource 2017.1 and enjoy all the new goodies with its free version for 10 users!

YouTrack 2017.1

Please welcome YouTrack 2017.1 featuring search based on time tracking, attachments on Agile Board and many other improvements.

The latest release also brings:

  • Credentials management
  • Permanent access token
  • LDAP bind to a fixed account
  • Revised access tab
  • Description for banned users
  • Enhanced Auth Modules

For more details visit the What's new page. Get YouTrack 2017.1 today and enjoy its wide range of issue tracking and project management capabilities. The latest version is available for download or cloud registration.

Hub 2017.1

Please welcome Hub 2017.1 introducing new useful features and dozens of UI and usability improvements.

The latest release brings:

  • Quick navigation
  • Revised access tab
  • LDAP bind to a fixed account
  • Credentials management
  • Permanent access token

Other enhancements:

  • Description for banned users
  • Scheduled backups
  • Delete an entity from anywhere
  • Enhanced Auth Modules
  • Open service URL

Check out What's new page for more details or view the Release Notes. Download Hub 2017.1 for free and enjoy all the new features today.

Welcome PyCharm Edu 3.5

Please welcome PyCharm Edu 3.5, the newest release of our free and easy-to-use IDE for learning and teaching programming with Python.

This release brings advanced course creation options for educators and more courses for students.

Subtask Management for Educators

When teaching your students to program, you often want to give them an opportunity to work with the same code fragment, gradually making tasks more complicated and sophisticated. With PyCharm Edu 3.5 it is now possible to add steps, or subtasks, for any task in your course. Read more about the feature on the blog or find more details in the getting started tutorial.

Please see the What's New page for more details and download PyCharm Edu 3.5.