연습 - 프로젝트 및 편집기 설정 사용자 지정
devcontainer.json 파일은 컨테이너화된 Visual Studio Code 설정에서 다양한 설정을 구성하는 데 도움이 됩니다. 지금까지 Python 프로젝트에 대한 개발 컨테이너를 구성했습니다. 그러나 추가로 자동화할 수 있는 몇 가지 정리되지 않은 작업과 설정 작업은 여전히 있습니다.
이 연습에서는 devcontainer.json
파일을 사용하여 이러한 정리되지 않은 작업을 원활하게 만들고 개발자의 설정 단계 없이 프로젝트가 작동하도록 할 것입니다.
Visual Studio Code 확장 설치
컨테이너는 Microsoft Python 확장과 함께 제공됩니다(기본 이미지에서 볼 수 있듯이). Python 확장을 통해 Python 파일의 코드 조각, 린팅, IntelliSense를 사용할 수 있습니다. 그러나 템플릿 폴더의 index.html 파일은 Jinja 템플릿이며, 해당 파일에서 구문 강조 표시를 가져오려면 다른 확장을 설치해야 합니다.
- F1 키를 눌러 명령 팔레트를 엽니다.
- extension을 입력하고 확장: 확장 설치를 선택합니다.
- 오른쪽 확장 탐색기에서 jinja를 검색합니다.
- 설치를 선택합니다.
- wholroyd에서 Jinja 확장을 마우스 오른쪽 단추로 클릭하고 devcontainer.json에 추가를 선택합니다.
- devcontainer.json 파일로 돌아가서 Jinja 확장이
extensions
섹션에 추가되었는지 확인합니다. - devcontainer.json 파일을 저장합니다.
종속성 설치 자동화
현재, 프로젝트를 처음 설정하는 개발자는 pip3 install --user -r requirements.txt
를 실행하여 종속성을 설치해야 합니다. 이러한 종속성이 없으면 프로젝트가 실행되지 않으며 다른 개발자가 원인을 알지 못할 수 있습니다.
postCreateCommand
옵션의 주석 처리를 제거합니다."postCreateCommand": "pip3 install --user -r requirements.txt"
devcontainer.json 파일을 저장합니다.
컨테이너는 컨테이너가 만들어질 때마다 종속성이 자동으로 설치됩니다.
새 컨테이너 다시 빌드
- F1 키를 눌러 명령 팔레트를 엽니다.
- rebuild를 입력하고 Dev Containers: 컨테이너 다시 빌드를 선택합니다.
devcontainer.json 파일에 지정한 변경 내용을 사용하여 컨테이너가 다시 빌드됩니다.
참고
컨테이너가 다시 빌드될 때마다 컨테이너가 제거되었다가 완전히 다시 만들어집니다. 컨테이너를 다시 빌드할 때 터미널 기록은 유지되지 않습니다.
Jinja 확장에서 제공하는 구문 강조 표시 검사
templates/index.html
파일을 엽니다.33줄까지 아래로 스크롤한 다음,
for
루프에 구문 강조 표시가 있는지 확인합니다. 이 구문 강조 표시는 Jinja 확장에서 사용하도록 설정됩니다.
앱 실행
Ctrl + `를 눌러 Visual Studio Code 통합 터미널을 엽니다.
다음 명령을 사용하여 앱을 실행합니다.
python app.py
종속성을 설치할 필요가 없었습니다. 애플리케이션이 그냥 실행됩니다.
이제 컨테이너가 사용자 지정되고 에이전시에 대해 자동화됩니다. Dev Containers를 사용하여 이 프로젝트를 여는 개발자는 즉시 프로젝트를 실행하고 코드 작성을 시작할 수 있습니다.
다음 단원에서는 개발 컨테이너에 추가 소프트웨어를 설치하는 방법을 알아봅니다.