연습 - 프로젝트 및 편집기 설정 사용자 지정

완료됨

devcontainer.json 파일은 컨테이너화된 Visual Studio Code 설정에서 다양한 설정을 구성하는 데 도움이 됩니다. 지금까지 Python 프로젝트에 대한 개발 컨테이너를 구성했습니다. 그러나 추가로 자동화할 수 있는 몇 가지 정리되지 않은 작업과 설정 작업은 여전히 있습니다.

이 연습에서는 devcontainer.json 파일을 사용하여 이러한 정리되지 않은 작업을 원활하게 만들고 개발자의 설정 단계 없이 프로젝트가 작동하도록 할 것입니다.

Visual Studio Code 확장 설치

컨테이너는 Microsoft Python 확장과 함께 제공됩니다(기본 이미지에서 볼 수 있듯이). Python 확장을 통해 Python 파일의 코드 조각, 린팅, IntelliSense를 사용할 수 있습니다. 그러나 템플릿 폴더의 index.html 파일은 Jinja 템플릿이며, 해당 파일에서 구문 강조 표시를 가져오려면 다른 확장을 설치해야 합니다.

  1. F1 키를 눌러 명령 팔레트를 엽니다.
  2. extension을 입력하고 확장: 확장 설치를 선택합니다.
  3. 오른쪽 확장 탐색기에서 jinja를 검색합니다.
  4. 설치를 선택합니다.
  5. wholroyd에서 Jinja 확장을 마우스 오른쪽 단추로 클릭하고 devcontainer.json에 추가를 선택합니다.
  6. devcontainer.json 파일로 돌아가서 Jinja 확장이 extensions 섹션에 추가되었는지 확인합니다.
  7. devcontainer.json 파일을 저장합니다.

종속성 설치 자동화

현재, 프로젝트를 처음 설정하는 개발자는 pip3 install --user -r requirements.txt를 실행하여 종속성을 설치해야 합니다. 이러한 종속성이 없으면 프로젝트가 실행되지 않으며 다른 개발자가 원인을 알지 못할 수 있습니다.

  1. postCreateCommand 옵션의 주석 처리를 제거합니다.

    "postCreateCommand": "pip3 install --user -r requirements.txt"
    
  2. devcontainer.json 파일을 저장합니다.

컨테이너는 컨테이너가 만들어질 때마다 종속성이 자동으로 설치됩니다.

새 컨테이너 다시 빌드

  1. F1 키를 눌러 명령 팔레트를 엽니다.
  2. rebuild를 입력하고 Dev Containers: 컨테이너 다시 빌드를 선택합니다.

devcontainer.json 파일에 지정한 변경 내용을 사용하여 컨테이너가 다시 빌드됩니다.

참고

컨테이너가 다시 빌드될 때마다 컨테이너가 제거되었다가 완전히 다시 만들어집니다. 컨테이너를 다시 빌드할 때 터미널 기록은 유지되지 않습니다.

Jinja 확장에서 제공하는 구문 강조 표시 검사

  1. templates/index.html 파일을 엽니다.

  2. 33줄까지 아래로 스크롤한 다음, for 루프에 구문 강조 표시가 있는지 확인합니다. 이 구문 강조 표시는 Jinja 확장에서 사용하도록 설정됩니다.

    구문 강조 표시를 사용하여 for 루프를 강조 표시하는 Jinja 템플릿 스크린샷

앱 실행

  1. Ctrl + `를 눌러 Visual Studio Code 통합 터미널을 엽니다.

  2. 다음 명령을 사용하여 앱을 실행합니다.

    python app.py
    
  3. 종속성을 설치할 필요가 없었습니다. 애플리케이션이 그냥 실행됩니다.

이제 컨테이너가 사용자 지정되고 에이전시에 대해 자동화됩니다. Dev Containers를 사용하여 이 프로젝트를 여는 개발자는 즉시 프로젝트를 실행하고 코드 작성을 시작할 수 있습니다.

다음 단원에서는 개발 컨테이너에 추가 소프트웨어를 설치하는 방법을 알아봅니다.