Dostosowywanie ustawień projektu i edytora

Ukończone

Skonfigurowaliśmy kontener deweloperski dla jednego z projektów agencji. Teraz będzie ona "po prostu działać" dla każdego, kto ma rozszerzenie Docker i Dev Containers. Nadal będą musieli instalować zależności. Mogą również potrzebować niektórych rozszerzeń programu Visual Studio Code, o których nie wiedzą.

Na szczęście można w pełni dostosować i zautomatyzować całą konfigurację projektu przy użyciu pliku devcontainer.json.

Bliższe spojrzenie na devcontainer.json

Przyjrzyjmy się głównym opcjom w pliku .devcontainer/devcontainer.json z projektu Products Dashboard. Tekst jest trochę za długi, aby spojrzeć na niego od razu w całości, więc przyjrzyjmy się mu po kolei.

Konfiguracja kompilacji

Właściwość image definiuje sposób tworzenia kontenera na podstawie tego, co jest znane jako obraz kontenera.

"image": "mcr.microsoft.com/devcontainers/python:0-3.11"
},

Ten obraz jest hostowany w repozytorium devcontainers/images, gdzie można go sprawdzić dalej. Obrazy w tym repozytorium to wstępnie utworzone obrazy, które przyspieszają przepływ pracy i powodują prostszą .devcontainer/devcontainer.json konfigurację.

Do skonfigurowania konfiguracji można również użyć plików znanych jako plik Dockerfile lub Docker Compose. Te pliki mogą znajdować się w folderze .devcontainer i umożliwiają dalsze konfigurowanie określonych wymagań dotyczących konfiguracji, takich jak instalowanie dodatkowego oprogramowania. Więcej informacji można dowiedzieć się w naszej dokumentacji kontenera deweloperskiego .

Funkcje

Funkcje kontenera deweloperskiego są samodzielnymi, współużytkowalnymi jednostkami kodu instalacji i konfiguracji kontenera deweloperskiego. Nazwa pochodzi od idei, że odwołanie się do jednego z nich pozwala szybko i łatwo dodać dodatkowe narzędzia, środowisko uruchomieniowe lub funkcje biblioteki do kontenera deweloperskiego, z których mogą korzystać zarówno Ty, jak i Twoi współpracownicy.

Gdy używasz polecenia Dev Containers: Dodaj pliki konfiguracji kontenera deweloperskiego w programie VS Code, zostanie wyświetlona lista skryptów do dostosowania istniejących konfiguracji kontenera deweloperskiego, takich jak instalowanie Git lub Azure CLI.

Ustawienia projektu

Późniejsza sekcja pliku zajmuje się bezpośrednio konfiguracją projektu.

customizations Ustawia właściwości specyficzne dla produktu dla produktów, które obsługują kontenery deweloperskie, takie jak VS Code i GitHub Codespaces.

Na przykład można ustawić vscode.settings, aby skopiować ustawienia specyficzne dla maszyny do kontenera. Te ustawienia mogą być dostępne we własnej konfiguracji programu Visual Studio Code. Dodając je do settings, zapewniasz, że każda osoba otwierająca ten projekt uzyskuje te określone ustawienia programu VS Code.

W tym kontenerze języka Python te ustawienia są widoczne w obrazie podstawowym mcr.microsoft.com/devcontainers/python:0-3.11. Zapewniają użytkownikowi ulepszone środowisko edytowania języka Python.

  • Tablicę extensions można użyć we właściwości customizations.vscode, aby określić, które rozszerzenia programu Visual Studio Code powinny być zainstalowane w programie Visual Studio Code podczas nawiązywania połączenia z kontenerem. Normalna konfiguracja programu Visual Studio Code i wszystkie rozszerzenia, które zostały już utworzone, nie będą obecne podczas korzystania z usługi Dev Containers. Rozszerzenia są tutaj określone za pomocą ich identyfikatorów.

postTworzeniepolecenia

Właściwość postCreateCommand umożliwia uruchamianie dowolnych poleceń po utworzeniu kontenera. Jeśli pamiętasz z pierwszego ćwiczenia, trzeba było uruchomić polecenie pip3, aby zainstalować zależności. Ale jak byś wiedział, aby to zrobić? Być może nie. Można go skonfigurować w tym miejscu, aby stało się to automatycznie, a inni nie będą musieli się tym martwić.

W następnym ćwiczeniu zmodyfikujesz plik devcontainer.json, aby zautomatyzować różne aspekty projektu, umożliwiając innym deweloperom natychmiastowe osiągnięcie sukcesu.