To quote the self-description of PlatformIO: “PlatformIO is a cross-platform, cross-architecture, multiple framework, professional tool for embedded systems engineers and for software developers who write applications for embedded products.” It can be installed as an extension of Visual Studio Code.
VSC together with PlatformIO provide you with a quite powerful IDE for embedded programming and debugging. It is probably too powerful for beginners, but attractive for people who find the Arduino IDE too limiting.
PlatformIO supports debugging of debugWIRE MCUs in two ways. It offers a simulator, and for the ATmega328, it provides the remote stub solution described on the Embedded Debugging page. However, it is pretty easy to integrate other debugging solutions. For example, if you want to use the dw-link debugger, you have to specify in the platformio.ini project file how to interact with this debugger. An example can be found in the documentation for dw-link. For the dw-gdbserver, an example platformio.ini file can be found in the readme.md of the GitHub repo.