CLion 2018.2 EAP: clangd as an additional C++ language engine

Hi,

A new CLion 2018.2 EAP (build 182.3458.13) is now available! As usual, a patch-update will be available shortly for those using the previous EAP build, and you can also use Toolbox app or snap packages (in the case of Ubuntu) to get this build.

No license is required and the build is free to use, but it will expire within 30 days of the build date.

Download CLion 2018.2 EAP

In brief, in this build clangd is available as an additional C++ language engine in CLion. It’s turned on by default on all platforms (on Linux and macOS – in v2018.2, on Windows – in v2018.2.1) and is used for showing code errors and warnings in the CLion editor. This feature is experimental, which means we can not guarantee it will make it to the official CLion 2018.2 release.

And now let’s talk about it in details.
Continue reading

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

CLion 2018.2 EAP automatically treats included files as project files

Hi,

A new CLion 2018.2 EAP (build 182.3341.14) is now available! Download a fresh build from our site, or get it via a patch-update (will be available shortly in case you are using the previous EAP build). You can also update via Toolbox app or snap packages (in case of Ubuntu).

No license is required and the build is free to use, but it will expire within 30 days of the build date.

Download CLion 2018.2 EAP

CLion provides a full code insight (including the project-wide code analysis, a plenty of refactorings, an instant navigation) inside the project files, whereas non-project files are served with limited code insight. For a long time, from the v1.0 files not listed directly in the CMake files were not considered as project files. This caused some inconveniences as, for example, header files are rarely included this way, and in many cases it’s not required for successfully building the project.

Now, if you include the header or source file into any project file, CLion will automatically treat it as a project file as well, which means full code insight will work in there! (Mind, this works only if the file is located under the project root, so it won’t affect standard or 3rd party libraries located outside of the project)

auto_include

Note, there are still some cases where this doesn’t help like CPP-11340 and CPP-13351.

Full release notes are available by the link.

Your CLion Team
JetBrains
The Drive to Develop

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

CLion 2018.2 EAP: fixes for LLDB and C++ code analysis

Hi,

A new CLion 2018.2 EAP (build 182.3208.14) is now available! A patch-update will be available shortly in case you are using the previous EAP build. You can also update via Toolbox app or snap packages (in case of Ubuntu). No license is required and the build is free to use, but it will expire within 30 days of the build date.

Download CLion 2018.2 EAP

Debugger: LLDB

We’ve bundled LLDB 6.0 on Linux and macOS. Besides, for LLDB case we’ve fixed an issue when certain commands in the LLDB console were breaking the IDE’s integration (CPP-11379).

C++ support

Intention that simplifies the code was improved and now produces more accurate code in case of pointers:
simplify
Other fixes include:

  • Incorrect warning “Variable might not have been initialized” was fixed for typedef array case (CPP-12444).
  • DFA didn’t handle overloaded operators like = and += in try section (CPP-11843).
  • Incorrect warning about “Unreachable code” in some cases (CPP-11838).

Full release notes are available by the link.

Your CLion Team
JetBrains
The Drive to Develop

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

CLion 2018.1.4 update

Upd. CLion 2018.1.5 (181.5281.33) is released! Patch-updates are available from v2018.1.4 and v2018.1.3. The bug-fix update fixes a critical issue with the Register dialog (IDEA-193747).

CLion 2018.1.4 (181.5281.26) is now available!

You can update using:

  • Toolbox App,
  • in the IDE: a patch-update will be available shortly in case you are using CLion 2018.1.3,
  • using snap package on Ubuntu.

Or download CLion 2018.1.4 from our website:

Download CLion

This build brings the following enhancements:

  • WSL integration in CLion now works with Ubuntu 18.04 (CPP-12968).
  • UI freeze when navigating to Related symbol was fixed (CPP-7168).

More fixes can be found in the full release notes.

Your CLion Team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , , , | 6 Comments

ISO C++ Committee – Rapperswil 2018 trip report

From the 4th to the 9th of June 2018, Phil Nash and I attended the ISO C++ Committee meeting in beautiful Rapperswil, Switzerland, representing JetBrains. We are continuing our active involvement in developing and standardizing C++ (please read the last trip report for details).
Footbridge across Lake Zurich towards Rapperswil

We are now past the middle of the release cycle for C++20. The next meeting in San Diego in November 2018 will mark the feature freeze for new language features – there is not much time left. A lot has happened in this meeting, so let me (with some help from Phil) update you on the most important bits:

Continue reading

Posted in Conference & Events | Tagged , , , | 2 Comments

The Developer Ecosystem in 2018: Key Trends for C and C++

For the second year in a row, we have polled thousands of people to learn what’s hot and what’s not in the world of developers in 2018. The Developer Ecosystem survey aims to reveal which technologies are trending today, how languages are evolving, and which tools developers are adopting the most. The results are finally in, so go ahead and get the full scoop!

Later we will also publish (anonymized) raw data for everyone interested in taking a look for themselves. Now, let me share the most interesting findings from this year’s study relating to C and C++.

For C, the most interesting questions are about the tooling being adopted, while for C++ we were squirming to know “Which C++ standard do developers mostly use?”. Since this is a second such study, we can also compare the results to those from 2017 and identify some fascinating trends.

View The State of Developer Ecosystem 2018 Report

Top C facts

It seems that among all the respondents developing in C, 48% have abandoned all unit testing frameworks. This is a hike of 18% compared with last year. In contrast, among C++ developers the abandon rate soared by 20% this year. If we speculate about why this is happening, could it be that unit testing frameworks don’t fit the C/C++ developer ecosystem? Is the entry level too high? Or maybe there’s a lack of documentation and learning resources? What’s your take on this?

Makefiles were probably expected to come in as the most popular project model, but second place now goes to CMake (among C developers). Interestingly, Xcode project model has moved up from 5% to 9%.
deveco_c_2018_build_system

In terms of IDEs, both CLion and Visual Studio Code have gained a lot of popularity among C developers. Still, the top honor this year goes to Vi/Vim! By the way, if you’re accustomed to Vim, you can install a Vim-emulation mode in CLion to benefit from familiar Vim key bindings and the functionality of CLion at the same time.

Top C++ facts

The C++17 standard was officially signed last year and is now seeing growing adoption numbers: 18%, compared with 12% last year. However, while nearly half of all respondents who are not on C++17 yet plan to upgrade to one or another new standard, only 8% of those who are not on C++17 yet are considering moving to C++17 in the next 12 months.
deveco_cpp_standard

CMake, Visual Studio project, and Makefiles are still the hottest build systems. However, the order has changed. CMake has finally prevailed over Visual Studio project! It’s also great to still see SCons and Bazel in the top 10.

Talking about other languages, it’s worth mentioning Java and Python as the languages most frequently used together with C++, as well as Rust, which 8% of C++ developers plan to adopt / migrate to in the next 12 months. If you’re looking for a Rust IDE, try the Rust plugin for CLion, which comes with Cargo build system and debugger support!

View The State of Developer Ecosystem 2018 Report

What do you think about these trends? Sound off in the comments section below!

Your CLion Team
JetBrains
The Drive to Develop

Posted in Uncategorized | Tagged , , | 10 Comments

CLion 2018.2 EAP: fixes for project models, WSL and more

Hi,

A new CLion 2018.2 EAP (build 182.2949.5) is now available! A patch-update will be available shortly in case you are using the previous EAP build.

Download CLion 2018.2 EAP

Project Model

CLion 2018.2 brought two new project models: Gradle and compilation database. This build comes with a few related fixes:

  • For Gradle C++ projects: red highlighting for C++ headers on Windows for Microsoft Visual Studio toolchain used (CPP-12936).
  • For compilation database: language type of the files is resolved automatically based on compiler options (CPP-13052).

WSL

Windows Subsystem for Linux toolchain support was added in CLion 2018.1. It’s great to see users who find WSL support in CLion beneficial! And we are grateful for all your feedback. A few fixes were introduced here:

  • Support for WSL background processes was added (starting from Windows 10 v1803).
  • Run to cursor was fixed for the WSL case (CPP-11902).

Other improvements

This build includes a bunch of fixes for Clang-Tidy integration, as well as improvements to parser / code highlighting. Full release notes are available by the link.

Your CLion Team
JetBrains
The Drive to Develop

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

C++ Annotated: January – May 2018

Hi,

We are glad to share with you another edition of C++ Annotated, filled with the most important and interesting news around the C++ community over the last 5 months. In this edition:

Language standardization news

ISO C++ Committee – Jacksonville

cpp_logoA regular C++ committee meeting was held this March in Jacksonville, Florida. C++20, currently the main topic up for discussion in the Committee, is planned to be feature-complete in the spring of 2019, at the meeting in Kona, Hawaii. Concepts and Ranges are doing well and most likely will be signed for C++20, but Modules, Coroutines, and Contracts are way behind. Still, if we take a broader look at what’s probably going to land in C++20, it seems there’s a lot! Calendar and timezone library, compile-time programming milestones (here we mean, of course, standard containers in constant expressions), new attributes ([[no_unique_address]] for potentially empty objects, [[likely]] and [[unlikely]] for branches to provide extra information for the optimizer), symmetry for < => operator, and many others.

If you are interested, we recommend going through some of the trip reports below for more details:

  • By Herb Sutter – detailed overview with all the necessary links from the Committee Chair
  • By Bryce Lelbach – basic overview of the most important facts and decision on Reddit
  • By Timur Doumler – trip report by a JetBrains representative mostly focusing on language toolability as the main target
  • And other reports, all definitely interesting and highlighting various aspects of the meeting and the language-related discussions held in Jacksonville: Vittorio Romeo, Jason Merrill, Botond Ballo, and J. Daniel García.

Continue reading

Posted in Uncategorized | Tagged , , | 1 Comment

CLion 2018.2 EAP: open project from Compilation Database

Hi,

A new CLion 2018.2 EAP (build 182.2757.13) is now available! Download it from our site, use ToolBox App or get a patch-update in the IDE in case you are using the previous EAP build. No license is required and the build is free to use, but it will expire within 30 days of the build date.

Download CLion 2018.2 EAP

Open project from compilation database

In brief, the Compilation database format is now supported in CLion as a project model. You cannot build or run for now, but code insight does work for such projects.
Continue reading

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

CLion 2018.1.3 bug-fix update

CLion 2018.1.3 (build 181.5087.36) is now available!

Please update using Toolbox App or the IDE (patch-update will be available shortly in case you are using CLion 2018.1.2) or download CLion 2018.1.3 from our website:

Download CLion 2018.1.3

Here are the main highlights:

  • Main focus of this update is performance fixes:
    • Symbol building performance regression on header change (CPP-12837).
    • UI freeze when copying large binary files (CPP-9725).
  • CMake environment variables configured in Settings/Preferences | Build, Execution, Deployment | CMake | Environment are now used equally at all stages, including CMake generation and project build (CPP-8848, CPP-3012).
  • A few C++ language support regressions were covered.

Full release notes are available here.

You can also download CLion 2018.2 EAP and install it side by side with the stable CLion version. This will provide you access to the newest features we’re currently developing.

Your CLion Team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 2 Comments