I'd go with Code::Blocks for IDE. More popular IDE these days beside Visual Studio, you shouldn't have issues finding support for it, most libraries have builds for it aswell, so you don't have to compile your .dlls. Though learning to use CMake can't hurt.
For the engine i'd pick SFML (Simple and Fast Multimedia Library). It's written in modern C++, it's light, clean, and easy to learn. It should handle all your needs when it comes to creating a simple 2D game.
Additional useful libraries are Box2D for handling physics (if you're making a simple game, then i'd advise against it, it's good exercise to write your own collision detection and basic response) and probably a parser for handling data, there's plenty to choose from, this is up to you. I personaly use a YAML parser, there's an easy to use library for it called yaml-cpp, though most people prefer XML. JSON is also availible.
Oh, and if you want to document your code, the easiest way is to do it with Doxygen. If you want to use it, i'd suggest researching it before coding, just because it requires you to comment your code in a specific way (it's an easy to learn way and doesn't require much work, it forces you to write proper comments aswell, which is good)