В конфиге шелла, я с помощью проверки переменной $container понимаю, внутри ли я контейнера.
Исходя из этого накладываю немного разные настройки.
Например, снаружи контейнера я выключаю git-хуки
https://github.com/ai/environment/blob/main/zshrc#L138
https://github.com/ai/environment/blob/main/bin/no-hooks-git
С помощью devcontainer/cli можно работать с контейнером и из обычной консоли, вне VS Code.
Я сделал скрипт devup для запуска контейнера и dev для запуска скриптов внутри контейнера.
Все свои рабочие скрипты и команду pnpm в ноутбуке я сделал алиасом для dev — так что pnpm test продолжает работать в обычной консоли, просто запускает всё внутри Dev Container.
https://github.com/ai/environment/blob/main/zshrc#L55-L61
https://github.com/ai/environment/blob/main/zshrc#L131