Another problem that is extremely annoying is that the value of the "Case sensitive matches" in the code completion settings is not save in the config file.
And I have to set it every time I start new instance of codeblocks.
Also why this is set to the non-obvious state on, I think this should be off by default.
It's a bug.
I did some test, if you open C::B (without opening any project), and just set the "Case sensitive matches", and close C::B, you will see those settings get saved.
But if you open C::B, and open one project, then set the "Case sensitive matches" option, and this options gets lost if you close C::B.
I will look into this.
Debugged a while, I found the reason why this bug happens, but I don't have a clean way to fix this issue.
See, the CC setting was stored in configure file.
When C::B start up, CC will create a default parser object called "temp parser".
When a parser object is created, it will copy the settings(such as the "Case sensitive matches") from the configure file to its own member variable.
When you open the CC dialog, the active parser object's setting will be modified also the CC related setting in configure files will get updated. This means, the configure file contains the active parser's settings.
When a CB project loaded, a new parser object(we call "new parser" here) is created and activated. So far, so good. When you changed the CC setting, both the "new parser"'s setting and the configure file get updated.
The issue comes when you close C::B, which means, you need to
1, destroy "new parser"
2, destroy "temp parser"
When destroy "new parser", all its setting was saved, but after that, the active parser switches to "temp parser", the setting in "temp parser" was active, and finally the "temp parser" get destroyed, its setting was saved (not the "new parser"), so your setting was lost!
I have not a good idea to fix this issue. Say, we have a setting shared by several parser objects. But they may be different, but the last destroyed parser's setting will be saved to the configure file.