CLion 2018.1 EAP: Messages tool window and fixes for ternary operator

Posted on by Anastasia Kazakova

Hi,

A new CLion 2018.1 EAP build (181.3494.7) is available for download. As usual, no license is required for this build, and you can install it side by side with your stable CLion version.

Download CLion 2018.1 EAP

Messages tool window

The general idea behind the change is to make Messages tool window behavior more flexible and let users decide if the build output is always necessary (and thus should be visible) or it’s only needed if some warnings or errors appear. In the Messages tool window settings you can find two options:

  • Always show on Build: default setting, forces the Messages tool window to stay opened on every build (and open the window if it was closed explicitly).
  • Auto-Hide and Show on Warning/Error: forces to hide Messages tool window on each build if it was opened, then opens it back if warning/error occurs during the compilation, and leaves Messages closed if the build was successful.

If you disable both options, then CLion won’t open Messages tool window unless there’s a warning/error. Thus, if you open/close Messages tool window manually, it will stay in that position.
messages_window

C++ language support improvements

Many false positives in code analysis related to ternary operator were fixed in this build:

  • Using format specifier ‘%s’ with conditional operator argument results in bogus warnings (CPP-1450)
  • Red code in ternary + new operator (CPP-9526)
  • False positive if std::out is used in the ternary operator (CPP-11499)
  • Initializing a reference from a ternary operator tries to use a constructor (CPP-9889)
  • Wrong “Types are not compatible” error reporting when using function and function pointer in a ternary operator (CPP-7404)
  • The type of ternary operator with “int *” is inferred incorrectly (CPP-3260)
  • And some more

Besides, this build addresses a few UI freezes. Full release notes are available here.

Your CLion Team
JetBrains
The Drive to Develop

Comments below can no longer be edited.

13 Responses to CLion 2018.1 EAP: Messages tool window and fixes for ternary operator

  1. Tano says:

    February 7, 2018

    Python plugin is unusable with this version, I got a lot of errros
    “Argument for @NotNull parameter ‘element’ of com/jetbrains/python/psi/types/TypeEvalContext.maySwitchToAST must not be null”

    • Tano says:

      February 7, 2018

      error report submitted as 1732821

    • Anastasia Kazakova says:

      February 7, 2018

      Thanks for the report. Will check asap.

    • Alexey Utkin says:

      February 8, 2018

      @Tano, could you verify in the “File | Settings… | Plugins” tab that you have embedded “PyCharm Community Edition for CLion” plugin with version 181.3494.7?
      If it is, I need more information about the problem (al least the log with stacktrace and maybe the minimized project with the problem).
      Thanks!

      • Alexey Utkin says:

        February 8, 2018

        Seems it is CPP-12010 (CLion python exception continuous error in 2018 EAP CL-181.3494.7). Would be fixed in the next CLion EAP.
        Thank you, Tano!

  2. Roman says:

    February 9, 2018

    Really good progress on fixing UI freezes in latest releases. Clion is now usable on large projects.
    Code completion however is still too slow (~3 seconds code completion latency on LLVM codebase).

    • Anastasia Kazakova says:

      February 10, 2018

      Thank you. The work is still in progress. So you could expect more improvements.

      What xmx (memory setting for CLion) do you use when open LLVM project? Default or some adjusted value. I would recommend to increase to 4Gb. Also, have you build the LLVM project before started working with it in CLion (since there are a bunch of generated files)? Thanks

      • Roman says:

        February 11, 2018

        Yes, I have Xmx set to 8Gb, and llvm tablegen-generated headers are there.
        I don’ know, probably it makes sense to build llvm/clang separately and then include them as libraries? In that case Clion won’t need to parse all .cpp files, just headers.
        However llvm/clang cmake infrastructure does not provide a convinient way to create tools out of llvm source tree. Most functions assume that your code should be in some llvm/tool subdirectory

        • Anastasia Kazakova says:

          February 12, 2018

          Could you please collecy a CPU snapshot for your LLVM completion case: https://intellij-support.jetbrains.com/hc/en-us/articles/207241235-Reporting-performance-problems. We’ll check, maybe that’s something that is in progress for now 😉 Anyway, we’ll see how we can help. Share with our support please.

          • Roman says:

            February 13, 2018

            It’s hard to catch something specific because auto-complete latency and freezes varies from time to time. I’ve uploaded some auto-generated thread dumps to https://youtrack.jetbrains.com/issue/CPP-12068

            Overall it’s not pleasant to work on LLVM/Clang in Clion.

            • Anastasia Kazakova says:

              February 14, 2018

              There are some known issues about LLVM that are under investigation / development. As well as some general performance improvements, which you can expect in 2018.1 and later releases.

  3. Bardia says:

    April 4, 2018

    For me, the freezes have become worse. There’s a new a kind of freeze now. CLion tends to get into a state where each character typed takes about 3 seconds to show!

    • Anastasia Kazakova says:

      April 6, 2018

      Please get the final release build 2018.1, re-check, and report the freeze dumps to our support if it’s reproducible. Thanks.

Subscribe

Subscribe for updates