I would also recommend docker, and more specifically using devcontainers to set up the environment for development. It lets you add a GUI desktop for any rviz / gazebo visualization using standard available features (desktop-lite) that makes the desktop GUI available through noVNC and you can set it up on cloud workstations as well if needed like github codespaces. Heres the repo if interested.

1 Like