CLion starts 2017.2 EAP with Clang-Tidy integration

Hi everyone,

CLion_20172EAP@2x_splash
Great news – CLion 2017.2 EAP starts now!
We had a lot of work planned for this iteration, and especially one thing that was nearly ready for 2017.1 but got postponed in the end as it required more thoughtful development and testing. Today as a part of the 2017.2 EAP (build 172.1572.3), we give you Clang-Tidy integration!


Download CLion 2017.2 EAP

As usual, you can install it side by side with your current stable CLion version, with no active subscription required.
Continue reading

Posted in Announcement, Early Access Preview | Tagged , , , | 64 Comments

CLion 2017.2 EAP: fixes in C++ parser and Clang-Tidy integration, C++17 in the New Project wizard and more

Hi,

Meet our new CLion 2017.2 EAP (build 172.3095.8)!

Clang-Tidy integration improvements

CLion 2017.2 EAP started with the Clang-Tidy integration. Clang-Tidy warnings are shown the same way as CLion’s own built-in code inspections. Similarly you can use Alt+Enter to apply Clang-Tidy quick-fixes where available.
This EAP build fixes some issues related to this integration:

  • CLion used to continue highlighting the code and showing the warning for a couple of seconds after the quick-fix was applied. This is partially fixed now. The problem only left for the cases when the fix and the warning are located in various lines, or when the user calls Undo for a quick-fix.
  • False inspection is fixed (CPP-9404).
  • Clang-Tidy checks invoked from CLion are now generally more accurate (CLion now passes proper compilation settings, user and system headers, and other information to Clang-Tidy).

C++ support

This build provides fixes for:

  • Issue with constructor inheritance with using and type alias names (CPP-2807).
  • False warning about parameter type mismatch for const boost::optional and int (CPP-5852).
  • And a couple of regressions introduced recently (CPP-9834, CPP-9991).

Performance

We continue our work on performance improvements in CLion. This EAP build brings fixes for laggy Enter and Backspace handle on some projects (when, for example, cursor enters a new block, moves to a new line and causes the code indent).

And more

C++17 is just around the corner. Besides, CLion now includes bundled CMake 3.8, that supports set(CMAKE_CXX_STANDARD 17) command to set C++17 for the project. Therefore we’ve added C++17 option to the list of standards in the New Project… wizard:cpp17_new_project
The corresponding set command will be added to CMakeLists.txt generated for your new project in this case.

Check the full release notes here.


Download CLion 2017.2 EAP

Your CLion Team
The Drive to Develop

Posted in Early Access Preview | Tagged , , , , | 11 Comments

CLion 2017.2 EAP: CMake Cancel and more

Hi,

A new CLion 2017.2 EAP is now available (build 172.2953.14).

C++ code analysis

CLion supports va_* macros in a more accurate way now. This means less false-positive code analysis, like for example, incorrect unused code inspection (CPP-9748).

Besides, CLion now works more accurately with GCC and Clang compiler predefined macros.

Performance

After optimizing the parsing of the compiler predefined macros in CLion, some performance improvement during the reindexing was achieved.

CMake

CMake reload can take significant time, and sometimes you decide to cancel when it’s already running (to introduce additional changes or just to postpone this time-consuming operation). It’s now possible in CLion – Stop button is available in the CMake tool window:
reload_cmake
If you enable the auto-reload function, then currently running CMake command will be stopped automatically, in case you continue typing in CMake file, and the new one will be scheduled.

Besides, CLion now prints [Finished] in every output tab for each CMake configuration being reloaded and finished (not cancelled):cmake_finished

Check the full release notes here.


Download CLion 2017.2 EAP

Your CLion Team
The Drive to Develop

Posted in Early Access Preview | Tagged , , | 18 Comments

Live Webinar: Developing C/C++ projects with CLion IDE and Conan C/C++ package manager

This webinar will provide an introduction to developing large C/C++ projects using the package modularization and reuse offered by Conan package manager, and the power and convenience of the CLion IDE, using the CMake build system.

It will be demonstrated how to consume existing packages of popular C and C++ libraries like Poco, Boost, OpenSSL and ZLib, easily from the CLion environment. Then, how to create package will be explained, with a special focus on continuous development of packages from your own, evolving source code.

Join us Wednesday, July 11th, 4pm – 5pm GMT (6pm – 7pm CEST, 9am – 10am PDT).


Register now!

Space is limited.

About the presenters:

Diego Rodriguez-LosadaDiego Rodriguez-Losada
 
Diego’s passions are robotics and SW engineering and development. He has developed many years in C and C++ in the Industrial, Robotics and AI fields. Diego was also a University (tenure track) professor and robotics researcher for 8 years, till 2012, when he quit academia to try to build a C/C++ dependency manager and co-founded a startup. Since then he mostly develops in Python. Diego is a conan.io open source C/C++ package manager co-creator and maintainer, now working at JFrog as SW engineer and C/C++ advocate.

 

Luis Martinez de BartolomeLuis Martinez de Bartolome
 
Luis is a full stack software engineer with more than 13 years of experience. He has spent the last 5 years mitigating the pains of C/C++ development flows & dependency management. Co-founder of Conan and a proudly Frog 🐸, today spends his time developing Conan and its ecosystem, playing ukulele, growing hydroponic lettuces and enjoying his two kids.

 

Please, register now to reserve a seat.

Posted in Announcement, Webinar | Tagged , | Leave a comment

C++Now trip report by JetBrains

It’s been a while since C++Now 2017 wrapped up in Aspen. As it was my first C++Now, I took some time to think it over before sharing my impressions. By the way, there are other trip reports: by Ben Deane, Michael Park and Odin Holmes.

In a few words, it was a fantastic opportunity to dive into cutting-edge C++, and hopefully survive. That means not only successfully escape from a major storm in Denver and Aspen’s snowy weather, but also meet dozens of clever people and dive into crazy ideas and libraries, that will become your everyday C++ routine tomorrow.

IMG_5316

One exceptional thing about C++Now sessions, which makes this conference unique in comparison to CppCon, Meeting C++ and others, is a drive for discussions and collaboration. JetBrains is a C++Now video sponsor this year and, together with Bash Films, we make sure you’ll get high-quality video content from this year’s conference. Still, many valuable points will unfortunately be lost as they could not be recorded. Only there, high up in the Aspen mountains, could you experience:

  • Live discussions during the talks
  • Free-time discussions
  • Library-in-a-week activity and work on proposals going on day and night (sometimes literally!)

C++ developers come to Aspen to contribute to the language, work on libraries that may later be included as a part of the standard, evaluate various proposals implementations, and suggest bright and revolutionary ideas and solutions to other developers.

For us, a tool vendor, this was a great opportunity not only to get a glimpse into how the language is evolving, but also to understand how to enhance our tools now so that they best work for C++ developers tomorrow.

IMG_5036
Continue reading

Posted in Conference & Events | Tagged , | Leave a comment

CLion 2017.2 EAP: better VCS support

Hi,

A new CLion 2017.2 EAP build (172.2827.9) is now available.

From C++ side this build includes some exception fixes and bundled CMake 3.8.2. Besides, there is a bunch of improvements to VCS support in CLion.

Commit messages

Commit messages are part of a team communication process, so it’s important to keep them easy-to-read and expressive, and formatting is quite important here. You might want to have a blank line between subject and body, or set a maximum text length, and for sure check the spelling in the comments. Reworked and moved to a separate page under Version Control, Commit Dialog settings allow you to do exactly that:
version_control_settings
Commit messages inspections are accompanied by quick-fixes to reformat the text.

Reword

If you committed your changes but not pushed yet and would like to change the commit message, you can do this with the new Reword action:
reword

Check the full release notes here.


Download CLion 2017.2 EAP

Your CLion Team
The Drive to Develop

Posted in Early Access Preview | Tagged , | 13 Comments

CLion 2017.2 EAP: code analysis fixes

Hi everyone,

We are glad to announce that new CLion 2017.2 Early Access Preview build (172.2465.12) is now available. Download it from our site or get a patch-update if you are using previous EAP build.

This build addresses the following issues:

  • Incorrect code analysis when std::enable_if is used (CPP-3632, CPP-9281).
  • For GCC5/6 CLion failed to resolve STL containers with nested template type correctly in case “using namespace std” was used. That caused incorrect no matching function and other errors when accessing container’s member.(CPP-8638, CPP-9412, etc.). Please.
    note, for MinGW-W64 & GCC 6.3 the problem is still there (CPP-9796).
  • Incorrect “Declaration of const variable requires an initializer” in case of a static const field (CPP-1145) or constexpr (CPP-9340).
  • Out of memory issue (regression) when the code uses boost::property_tree.
  • Git Revert command is now available in the Git Log view. Select any number of commits and call Revert from the context menu.
    revert_git

And there is more! Check the full list by the link.


Download CLion 2017.2 EAP

Your CLion Team
The Drive to Develop

Posted in Early Access Preview | Tagged , | 2 Comments

CLion 2017.2 EAP: debugger fixes

Hi,

A new early access build for CLion 2017.2 (172.2273.4) is available.

Debugger improvements

While inspecting arrays during debug, you might notice there was a limit of 50 elements shown by default. To see more user had to explicitly expand the next 50 elements. This was done to reduce performance issues. However, sometimes a few elements with big indexes are needed, and it’s quite tiresome to click expand several times in a row.

In order to provide a solution to the problem, we’ve added a registry value to control the default number of composite value’s children:
max_children

A few other issues were resolved in CLion’s GDB driver:

  • Debugger showed command time out when trying to attach to a non-existent local process.
  • Backslashes in program arguments on Windows were escaped incorrectly.
  • Conditional breakpoints were disabled because of the GDB bug (CPP-9336). A workaround was implemented in CLion.

Includes paths on Windows

Includes paths on Windows were fixed to support absolute paths, paths with multiple backslashes and paths related to the root of the working disk.

Find full release notes here.


Download CLion 2017.2 EAP

Your CLion Team
The Drive to Develop

Posted in Early Access Preview | Tagged , , | 5 Comments

CLion 2017.2 EAP: CMake 3.8, code analysis fixes, and more

Hi,

It’s been a while since we’ve started CLion 2017.2 Early Access Program. We’d like to thank those who has already given it a try and shared the feedback on the newly added Clang-Tidy integration.

This new EAP build (172.2103.9) comes with a set of fixes and improvements, as well as IntelliJ-platform wide enhancements.


Download CLion 2017.2 EAP

CMake

CLion checks the configured toolchain by compiling a simple program and providing you with the results under Preferences/Settings | Build, Execution, Deployment | Toolchains. CLion now shows the diagnostic for the cases when errors happen. Click error label to open CMake Errors window:
cmake_error

Besides, CMake 3.8 was bundled into CLion.

Code analysis improvements

This build includes a couple of fixes for various code analysis false-positives:

  • Error in analysis of full specializations from variadic templates (CPP-7313)
  • Incorrect analysis of function that take parameter pack arguments and non-template arguments (CPP-7336)
  • Incorrect “Call to … is ambiguous” for member function vs. function in foreign namespace (CPP-9240)

Find in Path enhancements

In CLion 2017.1 a compact popup window with immediate preview was implemented for Find in Path. Now it has a left gutter, where you can see navigation icons and local change markers:
find_path_gutter

There were some requests to keep this popup window visible, even after the user switch focus back to the editor. So now to close the popup you have to press Esc.

Better HiDPI support on Windows

Instead of scaling IDE’s UI according to the global settings (primary display), CLion now provides each display with its own scale factor. This is done for Windows, Linux support is coming. Also font settings are adjusted automatically based on the display resolution.

Full release notes are available here.


Download CLion 2017.2 EAP

Your CLion Team
The Drive to Develop

Posted in Early Access Preview | Tagged , | 12 Comments

ACCU 2017 trip report

Hi,

We’ve just returned from ACCU 2017 in Bristol, UK. Being amazed by the event I decided to share some notes here, and hope Phil will also jump in and share his impression. There are also reports by Vittorio Romeo, Simon Brand and Samathy Barratt which you might find interesting.

JetBrains booth and my talk

We’ve decided not to break the good tradition started in 2015 and as usual had a booth for Wed-Fri. We’d like to thank everyone who came for a chat or just to say hello:
accu1
Continue reading

Posted in Conference & Events | Tagged , | Leave a comment

CLion’s quick tour updated to celebrate 2 years!

Hi everyone,

CLion is two years old—a big toddler! Over this time we’ve boasted an impressive user base growth of almost 400%, which has given us all the confidence in the world to continue and improve.

Remember what CLion was capable of when you joined us? Some things have stayed unchanged, for example CLion is still CMake-only, even though CMake smart support has evolved greatly. But the rest has been impressively enhanced:

  • Support for C++14, initial support for C++17, and C11 keywords
  • Code generation options for operators and lots of new and improved code inspections & intentions
  • Microsoft Visual C++ compiler experimental support
  • Doxygen
  • Clang-Tidy (2017.2 EAP)
  • LLDB on Linux and macOS, remote GDB debug, and attach to local process
  • Disassemble view
  • Google Test and Catch
  • Python support
  • Updated Go plugin, plugin for Swift (covering Linux), Remote Host Access, and others

Did I leave out your favorite feature? Most likely I did.

It’s a good time to update our Quick Tour Video now. Phil Nash, our developer advocate, did a great job and prepared a new recording. Check this fascinating monster story:

What do you expect from CLion in the next two years? Share in the comments below! We’re listening and it sure will be interesting to see how things develop 😉


Download CLion

Your CLion Team
The Drive to Develop

Posted in Announcement | Tagged | 15 Comments