- Try leaving out the monitor_rts and monitor_dtr lines, I've never encountered those.
- Check for the output on your terminal program of choice on COM6.
- Add in a delay and toggle a pin as a sanity check.
- better to print with ESP_LOGI("MAIN", "Hello World") anyway
Once you get this working I'd ditch Platformio if you want to use/learn ESPIDF in the long term. There are some things that Platformio does that makes it easier to get started but ultimately it's another abstraction layer on top of ESPIDF which will eventually get in the way of something you want to do.
ESPIDF is very powerful but has it's quirks, these are often fixed in ESPIDF updates which pio always lags behind on. One of our team began a rather large project on the pio ESPIDF and all was well until we hit a deep sleep issue that was only solved in 5.2. So we ended up just going with the bare vscode+ESPIDF, which was a pain at the time but I wouldn't go back now.
Youtube is full of tutorials, in fact it's better documented by far than pio. There's also espressifs own Eclipse version which I hear good things about, but have not used personally.
That said, I'd stick with pio until you get blinky and hello world and have some fun, you dont need to mod the codebase to transition afterwards.