JetBrains News

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

JetBrains

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.

Debugger

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.

Catch

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.

MSVC

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.

VCS

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
  • NEW/OLD and INSERTED/UPDATED support
  • 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.