Honestly, if you are looking for an integrated build manager and IDE, Visual Studio has better overall support, gives you far more powerful debugging tools, and can be configured to compile with just about anything. When I was working in game dev, we actually used Visual Studio to compile for PS4 via CLang.
That is actually really cool. I wish there'd a community surrounding Visual Studio compiler integration. I did look into it and you have to write tons of "target" scripts, pretty tedious to get into.
On that note, whether you end up using Code::Blocks or anything else, I strongly recommend migrating from GCC towards CLang. It has way better code parsing and error reporting, especially if you work with templates and modern C++ features, is far more uniform cross-platform, and I personally like lldb debugger way more than gdb. In addition, due to language parsing being separate from actual compiler in CLang, there are a host of formatting tools that are just wonderful. If you're working solo, it probably doesn't mean as much, but for any team project that's going to be synced with any kind of version control, clang-format is just brilliant, and can be integrated into most code editors. Personally, I have it as key-binding in vim, but it will work with Eclipse, Atom, and many others.
I was already impressed by GCC when it mentioned that adding two numbers could lead to an overflow but could be ignored under a certain assumption. There is no easy way to switch compilers in CB other than changing the project configuration but adding alternatives like Clang is a great idea!
On a different, related note, if you aren't married to the idea of having your IDE work as your build manager, and are happy to use external tools, CMake exceeds even Visual Studio in a lot or ways. For starters, it's way easier to have it running on different platforms. Also, far more projects on GitHub will have CMake configurations already set up than for VS. And being able to just drop a library from GitHub into your project can save a lot of time. Similarly, if you have a lot of your own libraries, I find adding them to a project you're working on locally way easier in CMake than VS or CB.
I've also gotten a lot of mileage out of Bazel, but mostly because I worked at Google for a while, and it's very similar to tools used internally. It has a lot of fantastic features. Unfortunately, you pretty much have to be working on a Linux machine to make use of it properly. If you intend to make something cross-platform, it's mostly off the table.
To be honest, I can confirm that many developers see project files as byproduct that can or shuld be generated. That's ok. But I belong to the group that maintains project files, so CMake and other project generators are only useful to me in an initial phase.
I never go to Code::blocks, people said it's lightly instead visual studio. Personally I don't like visual studio cause that size is big and you can't completely clean used space aftee you installed it. For example:
-You're installing vs2013 and storage space it's still 20GB.
After IDE installed storage space is 17 GB.
-And if you uninstall the IDE space storage you got is 18.5GB
-Where is 1.5GB?
You are kinda right. Visual Studio does heavily modify your environment and does not remember to clean up everything. And you as developer have the obligation to clean up your own built object files. But that is same for Code::Blocks.
This is why everyone's so eager for C++20 to have official support for modules. Once we start using modules instead of libraries, the bloat will drop by an order of magnitude.
The main reason why we have such ridiculous binary sizes is because when you include templated libraries multiple times, you end up with a lot of code duplication. STL is a huge source of the bloat. But there are so many upshots on productivity and performance, that people chose to eat the cost of disk space. With modules, we'll be able to have our cake and eat it - have highly performant templated code that doesn't bloat binaries.
As for Visual Studio, as much as it annoys me, I know that I'll only ever have 2 versions installed at the same time, with maybe an update somewhere along the line before I'm forced to format my drive again. So I don't mind throwing 50GB or so at VS. Yes, I also wish it would be less, so that I could get away with keeping everything on an SSD, but benefits outweigh the costs for me.
Visual Studio is installed on my SSD because I hope it increases building throughput. On my laptop I have no choice but to install it on the SSD.
Looking forward to C++ modules!