Why is CLion so incredibly unstable when editing C projects?

Answered

I use CLion because my customer on this embedded project insists on it.  However, I have come to HATE IT.  Here are my reasons:

1) Basic IDE functionality (on most IDEs) includes the ability to click on a function name and jump to its definition or implementation.  in CLion this works only about 75% of the time, which I suppose you might say is "better than nothing", but the inconsistency is very angering. The indexing is probably just always screwed up, and yes, I've tried clearing the caches to no avail.  The bug applies to all the functionality that depends on indexing - sometimes it works, but very often it does not, with no particular pattern.

2) there is supposed to be an upsource integration.  However, if I am stupid enough to run it, the IDE crashes.  Back to keeping multiple windows open and doing a search each time for the line being referenced.

3) When I complain about any of this to "tech support" which we are allegedly paying for, the only response I get is "unless you open-source your entire project we will not even look at the bug report"

4) I installed version 2022.1, and for some reason, none of the executables would run on my embedded processor.  I uninstalled that version and will stick with 2021.3.4.

This is NOT what I expect from development tools, that are supposed to "just work".

For reference, I've done 30+ years of embedded development.

1
7 comments

I feel your frustration. 

I'd love for CLion to be more reliable (I've currently switched back to VSCode as I've hit a yet another show-stopper bug with CLion) - but they seem to be focused on adding endless new features. 

I thought the whole concept of this subscription model was that they could focus on supporting existing users rather than constantly chasing new ones with half-arsed fringe features that only look good in marketing material.

I'd much rather a really tight, reliable editor that supported 90% of my core work than a buggy mess that has amazing magic for those once in a while tasks.

0

Marcus Platts could you please describe the issues you face in more detail? Do you also work on an embedded project? On what build system is your project based?

P.S. Pierre reported the issues to our tracker (https://youtrack.jetbrains.com/issues/CPP), that's why I don't ask him to provide this information.

0

Hi Anna,

The show-stopper problem I'm now getting is:  At certain times, CLion will go very laggy or hang with 100% clangd CPU consumption.  I need to terminate the CLion task from the command line to continue work. (Linux)

I also have a very annoying problem that clang-format will not always run on save (works about half of the time) - means I have to remember to reformat the entire project manually before every commit.

Also, the clang-tidy integration doesn't seem to honor the ".clang-tidy" file at the project root.

Marcus.

PS; I really want CLion to succeed, that's why I keep coming back to try it again (I was even around back in the pre-clangd days)

 

0

>The show-stopper problem I'm now getting is:  At certain times, CLion will go very laggy or hang with 100% clangd CPU consumption

Please do `Help | Collect Logs and Diagnostic Data` and send the resulting archive to clion-support at jetbrains.com. Note that logs might contain private user's information (like file paths and names). 

Also please capture a CPU snapshot while reproducing the issue and send it to us.

>I also have a very annoying problem that clang-format will not always run on save (works about half of the time)

Do you have the `Reformat code` option enabled in `File | Settings | Tools | Actions on Save`?

>the clang-tidy integration doesn't seem to honor the ".clang-tidy" file at the project root

Do you have the "Prefer .clang-tidy files over IDE settings" checkbox selected in `File | Settings | Editor | InspectionsC/C++ | General | Clang-Tidy`?

0

>>The show-stopper problem I'm now getting is:  At certain times, CLion will go very laggy or hang with 100% clangd CPU consumption

>Please do `Help | Collect Logs and Diagnostic Data` and send the resulting archive to clion-support at jetbrains.com. Note that logs might contain private user's information (like file paths and names). 

Ok, it'll be a while as I'm on a different machine ATM.

>Also please capture a CPU snapshot while reproducing the issue and send it to us.

Cannot do that as CLion will have hung.

 

>>I also have a very annoying problem that clang-format will not always run on save (works about half of the time)

>Do you have the `Reformat code` option enabled in `File | Settings | Tools | Actions on Save`?

Yes

 

>>the clang-tidy integration doesn't seem to honor the ".clang-tidy" file at the project root

>Do you have the "Prefer .clang-tidy files over IDE settings" checkbox selected in `File | Settings | Editor | Inspections, C/C++ | General | Clang-Tidy`?

Don't see that option (Clang 2022.1)

0

Ah found it (it was under Static Analysis tools)

- Yes I have  "Prefer .clang-tidy files over IDE settings" set

0

Can the IDE reformat the code if you click the IDE main menu File | Save All? Some keymaps like VS Code keymap use "Save Document" for Ctrl+S by default, which might not trigger formatting currently due to https://youtrack.jetbrains.com/issue/IDEA-276593 (fixed in 2022.1). Please check if File | Settings | Keymap uses the Ctrl+S for the "Save Document" action. In this case, you could change the Ctrl+S to Save All action as a workaround.

As for the clang-tidy issue, please describe it in more detail. How did you determine that CLion doesn't honor the ".clang-tidy" file?

0

Please sign in to leave a comment.