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

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

This entry was posted in Early Access Preview and tagged , , . Bookmark the permalink.

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

  1. Tano says:

    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:

      error report submitted as 1732821

    • Anastasia Kazakova says:

      Thanks for the report. Will check asap.

    • Alexey Utkin says:

      @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:

        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:

    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:

      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:

        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

  3. Bardia says:

    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:

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

Leave a Reply

Your email address will not be published. Required fields are marked *