CLion 2017.2 Release Candidate 2

Hi,

We are approaching the final steps towards the CLion 2017.2 release and today we are glad to announce CLion 2017.2 Release Candidate 2 (build 172.3317.49). Give it a try, and if you find any bug at all, please file an issue in our tracker.


Download CLion 2017.2 RC2

Non-project files

The users of CLion 2017.2 Release Candidate 1 noticed a new file-wide notifications appeared in non-project files.
not_in_prj

Files that do not belong to any CMake target are considered as not included into the project. For CLion it means that code insight features should be limited in such files, for example refactorings should not be performed. To identify these files with ease CLion marks them as greyed out in the project view. Now you can also easily identify such files in the editor, thanks to the file-wide notifications.

By the way, when you create new C++ class or C/C++ source or header file CLion suggests to add a new file to CMake target and suggests most probable options to select from. Use this feature to get all your new files included into CMake targets.

Besides, several performance improvements (in indexing) were implemented in this build. Release notes are available by the link.

Please note that to use CLion 2017.2 RC2 you need to have an active subscription (or start a 30-day evaluation period).


Download CLion 2017.2 RC2

Your CLion Team

JetBrains
The Drive to Develop

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

27 Responses to CLion 2017.2 Release Candidate 2

  1. beimingkun says:

    Do I still have to add header files manually now? You have said this in the FAQ. Is this fixed now?
    https://blog.jetbrains.com/clion/2014/09/clion-answers-frequently-asked-questions/

    • Anastasia Kazakova says:

      This behaviour hasn’t changed. You still have to add headers to your CMake targets (at least until they have names different from already included .cpp files). And the fix here is not obvious, so we are still considering the options.

      • beimingkun says:

        Can I ask you how to configure CLion for cross-compile?
        I have
        1. Added “-D CMAKE_C_COMPILER=
        -D CMAKE_CXX_COMPILER=” to Preferences/Settings | Build, Execution, Deployment | CMake | CMake options,
        2. Added boost directory to cmake include_directories.

        I don’t know if this is enough. It does find the correct header files now. However, in 2017.2 RC2, it complains for C++/ boost header files about “This file does not belong to any project target, code insight features might not work properly.”
        BTW, I only use CLion for code reading, but not for actual compilation.

        • Anastasia Kazakova says:

          Could you compile your project successfully? Check form the command line that the CMake call on this project with these settings run successfully.

          The warning is about a different situation. It warns that you won’t be able to refactoring, etc. boost headers as they are not in the project (and most likely you indeed don’t want to).

          • beimingkun says:

            I don’t use CLion for compilation, just for code reading. The compilation uses another mechanism.

            I didn’t see this warning for boost headers in my Windows environment (MinGW+CLion). I only found this warning in my Ubuntu environment (cross compiling platform for ARM device). So I doubt whether I have configured the CLion project correctly.

          • Anastasia Kazakova says:

            To configure CLion project correctly you need the CMake command to finish successfully on your project. Otherwise, CLion won’t be able to resolve the code in a proper way.

          • beimingkun says:

            Yes. I have written a series of CMakeLists to configure the CLion project. And except for some CLion bugs, the code parsing is unbelievably good. My colleagues use Code Insight, VS or QT creator. I have to say, in the case of code parsing, CLion is undoubtedly the best. However, the IDE is too slow. (Although I can bear it now.) I do hope it can have a big performance improvement in the future.

          • Anastasia Kazakova says:

            Do you mean typing performance or some intellisense like code analysis, code navigation, etc.?
            Go to Settings | Appearance & Behavior | Appearance, Show memory indicator; switch it on; check the memory usage. If it’s close to the limit, then increase.

  2. IAROSLAV KIKHTAN says:

    CLion still does not able to recognize functions/symbols used inside macro definitions.
    All “mature IDE features” like GotoDefinitions, FindReferences, ParametersHint, QuickInfo, QuickDefinitions, etc.. just do not work for stuffs inside macros.
    Tickets are just being closed with “Won’t Fix”.
    I am not believe that JatBrains cannot do that. VS can, Eclipse can, even VS Code(sic!) can.
    Or do you think that C++ developer do not need macros at all?

    • Anastasia Kazakova says:

      If you mean this (https://youtrack.jetbrains.com/issue/CPP-6544) we had some discussion about it with the team. The problem is that in general there is no way to get it parsed correctly as macro depends on its usages greatly, as it’s just a text substitution.

      However, we might consider taking VS and other’s direction and solve the task in some basic cases.

      • Yaroslav Kihtan says:

        I think that 99% cases are easy to parse correctly without any ambiguous (aliases, disable-able features, checks, etc). In ambiguous cases it is OK to just show popup with variants like others do.

  3. Vincent says:

    is there a problem with font aliasing in version : 2017.2RC2 ?
    —————————–
    CLion 2017.2
    Build #CL-172.3317.49, built on July 11, 2017
    Licensed to xxx
    Subscription is active until xxx
    JRE: 1.8.0_112-release-b783 amd64
    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
    Linux 4.4.0-85-generic
    —————————–

    my 2017.1 has nice antialiased DejaVu Sans Mono (12) while starting the 2017.2.RC2 gives me an un-elegant font rendering for the same font.

  4. Vincent says:

    I’ll reply to myself…
    As pointed here : http://soar.name/en/pro/ugly-fonts-in-jetbrains-ide-under-linux/
    I just had to add the line
    -Djava2d.font.loadFontConf=false
    to my “~/.CLion2017.2/config/clion64.vmoptions” file
    and restart CLion RC2.

  5. FB says:

    How to disable the warning “This file does not belong to any prokect target, code insight features might not work properly.”? I do not want to change my project the way CLion thinks it should be, just make the warning go away.

  6. Mohd Faisal says:

    “This file does not belong to any project target, code insight features might not work properly.”
    Getting this message ever since I have updated my mac to High Sierra. Is it because of OS or something else?

    • Anastasia Kazakova says:

      We’ve just added a notification in this case, so it was that way before, you just didn’t notice. That means file is not included into CMake project, thus CLion doesn’t treat it as a project file and turns off intellisense features, like refactorings for example.

      • Mark says:

        The basic problem, unless I don’t understand the CLion flow, is that CLion requires the project to be built using CMake (to some degree now with Make) thus using the output from the build process for all the Intellisense features (i.e., or CTAGS).

        Many people want a nice code editor (e.g., SlickEdit and Visual Code Studio come to mind) then use another mean to build the project. The team behind CLion don’t grasp this concept (at least from what I can tell). They demand the user to use CMake so their tool can use the output of the build for CLion features, which isn’t unreasonable I suppose.

        The problem comes in when with the last two projects I have worked on. They use scripting tools (e.g., Perl and Python) to create auto-generated files (mainly header files). I edit on Windows, but build on a Linux box. Thus, the build process it a little more involved, but nothing outside the scope of what I have seen at other companies for their build process. Now, perhaps CLion can be coerced to work within this system, but if it does it requires a lot more hand holding. With either SlickEdit or Visual Studio Code, I can basically point it to a directly and most of my editing features are satisfied. I can’t understand why Clion can’t accomplish this same feat.

        One of the most requested features is “Remote projects/toolchains support” (https://youtrack.jetbrains.com/issue/CPP-744). This feature request first create back in 2014 and one of the most requested features, but the CLion team hasn’t even assigned it to anyone and appear to have no desire to ever support this.

        In my opinion, CLion is too dependent upon the output of other toolchains for its features support.

        If my understanding if wrong, please correct me and point me to a support page that helps me set up the environment.

        Lastly, not having the ability to turn of this banner is wasting precious screen real-estate. What idiot didn’t think people wouldn’t want to turn this off. Place the notification in the status bar!!!

        • Anastasia Kazakova says:

          Thanks for your feedback.

          Let me explain, how the CLion works. We use all the information from the CMake output to provide smart features in CLion. This includes not only the list of project files, compiler flags, but also linker information and more. CLion reads CMake files, as well as run CMake command to get all this information.

          Still We understand that CMake is not the only build system used in the C++ eco-system. However, it’s one of the mostly used for the cross-platform projects, that’s why we started with it in CLion. But for sure, we plan to add support for the others. Also, we are currently working in the direction to implement remote projects support in CLion. Please check the roadmap for our next version and in general for the year 2018: https://blog.jetbrains.com/clion/2017/12/whats-next-clion-2018-1-roadmap/#roadmap

          As for the banner, do you mean the message that the file is not in the project? You can resolve it by adding the file into CMake project. W/o it users are always confused that refactorings and other smart features are not working, as they can’t understand easily that the file is not in the project from CLion’s point of view, so CLion doesn’t have enough knowledge about it.

  7. Adi Caspi says:

    Hi,

    When I start a new project and write a simple main function with hello world it doesn’t let me compile and run it and says the file does not belong to any project target.

    Thank you,
    Adi

Leave a Reply

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