Перейти к содержанию

Настройка

Литература

Полезные ссылки

Директории и их назначени

Workspace

В VS Code очень многое крутится вокруг такого понятия как Workspace. В заложенной логике Workspace — это папка с вашим проектом, область применение настроек и параметров запуска отладки.

Системные папки в Workspace и их назначение:

  1. .vscode
    Точка в начале — обязательна. В этой папке vscode ищет настройки окружения и запуска отладки для данного Workspace.
  2. .devcontainer
    Точка в начале — обязательна. В этой папке vscode ищет настройки контейнеров и Dockerfile для сборки для данного Workspace.

Область видимости настроек:

  1. User
    Настройки сохраняются для конкретного пользователя
  2. Workspace
    Настройки сохраняются для конкретной области

**Файлы и их назначение

  • settings.json — базовые настройки для Python/Django/pytest, mypy, форматирование, исключения.
  • tasks.json — задачи для docker-compose и pytest (через Makefile).
  • launch.json — отладка Django и pytest через debugpy.
  • extensions.json — рекомендованные расширения.
  1. %name%.code-workspace
    Настройки для данного Workspace. Может содержать настройки плагинов, путей к интерпретатору и тому подобное. Удобно, можно передавать его другим.
  2. launch.json
    Настройка логики и параметров запуска отладки проекта. Может содержать несколько вариантов настройки для одного и того же проекта.
  3. settings.json
    Может содержать настройки плагинов, путей к интерпретатору и тому подобное. Переопределяет настройки из %name%.code-workspace.
  4. devcontainer.json
    Файл содержащий настройки процесса сборки контейнера и его содержимого

Как использовать

  • Запустить окружение Docker:
    • В VS Code: Terminal → Run Task → “docker: up (dev)”
  • Запустить тесты:
    • unit: Terminal → Run Task → “pytest: unit”
    • integration: Terminal → Run Task → “pytest: integration”
    • все + линтеры/покрытие: Terminal → Run Task → “pytest: all”
  • Отладка Django:
    • Run and Debug → “Django: manage.py runserver (Docker app1)” (использует debugpy локально; для отладки внутри контейнера лучше добавить attach-конфиг — см. ниже)
  • Логи nginx (prod compose):
    • Terminal → Run Task → “nginx logs”