Both .devcontainers and .devfile managed to create more effort than they took away. Some key points:
- long lived containers
- abstracting away the fact that you run stuff inside containers in the IDE and abstracting away the container life cycle
- cryptic error states and error messages, especially when setting up new projects from scratch. This often boiled down to bad plugins (even Microsoft's own VSCode plugins wet the bed often)
- only superficial support for podman
- bad support for arm based HW (and arch translation issues, like a tool requesting arm containers but the host running docker is x64)
At this point I consult teams to try out a plain compose.yml as a CDE and skip the "enterprise" stuff.