Рабочее место бэкендера: VS Code, инструменты, первый проект
Настройка среды с нуля на Windows: редактор, расширения, терминал, Python, git, Docker, uv. К концу — папка проекта, готовая принять первую строку кода.
miki/rabochee-mesto-bekendera-vs-code-instrumenty-pervyy-proekt · v4
Настройка среды с нуля на Windows: редактор, расширения, терминал, Python, git, Docker, uv. К концу — папка проекта, готовая принять первую строку кода.
Настроенный редактор экономит больше времени, чем любой приём программирования: он подсвечивает опечатку до запуска, показывает тип под курсором и форматирует файл сам.
Это не подготовка к работе — это уже работа. В MIT есть отдельный курс The Missing Semester of Your CS Education, созданный ровно потому, что программы учат алгоритмам, но не инструментам, хотя за инструментами человек проводит сотни часов за учёбу и тысячи за карьеру.
Порядок шагов важен: сначала редактор, потом инструменты, потом проверка каждого по отдельности. Если проверять всё разом в конце, непонятно, что именно не встало.
Список работает и на Windows, и на macOS. В поле команды — вариант для Windows, в описании рядом — команда для macOS. Ссылки на официальные страницы загрузки прикреплены к шагам — на случай, если пакетный менеджер не работает.
Подготовка
Windows: ничего делать не надо — winget встроен в систему. Проверь командой ниже.
macOS: поставь Homebrew — команда установки есть на главной странице. После установки он напечатает две строки, которые надо выполнить, чтобы brew попал в PATH — не пропусти их, это самая частая ошибка. Проверяется командой brew --version.
winget --version- Команда пакетного менеджера твоей системы отвечает версией
- На macOS: выполнены строки про PATH, которые напечатал установщик
Редактор
Windows: команда ниже. При установке вручную отметь галочку «Add to PATH».
macOS: brew install --cask visual-studio-code. Если ставишь вручную — перетащи приложение в папку Applications, иначе часть функций работать не будет.
winget install Microsoft.VisualStudioCode- VS Code запускается
- В окне «About» видна версия редактора
Открой новый терминал — старый не знает об изменении PATH.
Если команда не найдена на Windows: переустанови с галочкой «Add to PATH».
Если на macOS: открой VS Code, нажми Cmd+Shift+P и выполни команду «Shell Command: Install 'code' command in PATH».
code --version- Команда напечатала три строки: версию, хеш коммита и архитектуру
- Терминал был открыт заново после установки
Расширения
Команда одинаковая на Windows и macOS.
Расширение даёт подсветку, переход к определению, запуск и отладку. Вместе с ним автоматически приезжает Pylance — проверка типов и автодополнение.
code --install-extension ms-python.python- В панели Extensions расширение Python отмечено как установленное
- Там же появился Pylance — он ставится как зависимость, отдельно его ставить не надо
Команда одинаковая на обеих системах.
Линтер и форматтер в одном инструменте. Тот же самый, который будет проверять код в проекте, — важно, чтобы редактор и проект ругались одинаково.
code --install-extension charliermarsh.ruff- Ruff виден в списке установленных расширений
Команда одинаковая на обеих системах.
Docker покажет контейнеры и их логи прямо в редакторе. GitLens показывает, кто и когда менял конкретную строку.
code --install-extension ms-azuretools.vscode-docker --install-extension eamodio.gitlens- Оба расширения в списке установленных
Почему ставим по одному, а не пакетом «всё для Python».
Каждое расширение — работающий процесс и потенциальный источник конфликта: два форматтера начнут переписывать файл друг за другом, и ты будешь гадать, почему код прыгает при сохранении.
Ставя по одному, ты знаешь, кто за что отвечает, и понимаешь, что отключать при странном поведении.
Терминал
Windows: Ctrl + ` (клавиша с обратным апострофом, слева от единицы).
macOS: Ctrl + ` (именно Control, не Command).
Либо меню View → Terminal на обеих системах.
- Терминал открылся в нижней части окна редактора
- В нём виден путь к текущей папке
В правом верхнем углу панели терминала написано имя оболочки. Запомни его.
Windows: обычно PowerShell, реже Command Prompt или Git Bash.
macOS: по умолчанию zsh. Проверить можно командой echo $SHELL.
- Ты можешь назвать, какая оболочка у тебя запущена
- Понимаешь, что команды из интернета могут быть написаны под другую
Инструменты
Нужна версия 3.12 или новее.
Windows: команда python --version. Ставь с python.org, не из Microsoft Store. При установке отметь «Add python.exe to PATH».
macOS: команда python3 --version — именно python3. Системный Python старый и трогать его нельзя — ставь свой: brew install python@3.12 либо позже через uv python install 3.12.
python --version- Команда напечатала версию 3.12 или выше
- Это не системный Python и не версия из Microsoft Store
Команда покажет все найденные интерпретаторы в порядке приоритета. Первый в списке — тот, который запустится.
Windows: where python
macOS: which -a python3
where python- Ты видишь список найденных интерпретаторов
- Понимаешь, какой из них запускается по умолчанию
Windows: при установке можно оставить настройки по умолчанию — вместе с git приедет Git Bash.
macOS: проще всего xcode-select --install — git входит в Command Line Tools. Либо свежее версией: brew install git.
git --version- Команда напечатала версию git
Windows: скачать с сайта или winget install Docker.DockerDesktop.
macOS: brew install --cask docker-desktop. При ручной загрузке выбери правильную сборку: Apple Silicon для M1–M4 или Intel для старых машин. Посмотреть свой процессор: ⌘ → «Об этом Mac».
На обеих системах Docker должен быть не просто установлен, а ЗАПУЩЕН — значок кита в трее или в верхней панели.
docker run --rm hello-world- Команда скачала образ и напечатала приветствие
- Значок Docker активен, а не серый
- На macOS: скачана сборка под свой процессор
Windows: winget install astral-sh.uv
macOS: brew install uv либо официальный установщик: curl -LsSf https://astral.sh/uv/install.sh | sh
После установки закрой терминал и открой заново.
winget install astral-sh.uv- Установка завершилась без ошибок
- Терминал открыт заново после установки
Команда одинаковая на обеих системах.
Если команда не найдена — терминал ещё помнит старый PATH. Закрой все терминалы и открой новый. На macOS при установке через скрипт проверь, что в PATH добавился ~/.local/bin.
uv --version- Команда напечатала версию uv
Проект
Никаких пробелов, никакой кириллицы, не на Рабочем столе и не в облачной папке.
Windows: mkdir C:\dev\shop — не в OneDrive.
macOS: mkdir -p ~/dev/shop — не в iCloud Drive и не в папке «Документы», если у тебя включена синхронизация Рабочего стола и Документов.
mkdir C:\dev\shop- В полном пути к папке нет пробелов
- В полном пути нет кириллических символов
- Папка не в облачном хранилище и не на Рабочем столе
File → Open Folder, либо командой из терминала.
Windows: code C:\dev\shop
macOS: code ~/dev/shop
code C:\dev\shop- В боковой панели видно имя папки проекта
- Встроенный терминал открывается сразу в этой папке
Windows: Ctrl+Shift+P → «Preferences: Open Workspace Settings (JSON)»
macOS: Cmd+Shift+P → та же команда
Добавь настройку editor.formatOnSave со значением true и назначь Ruff форматтером для Python.
- Файл .vscode/settings.json создан в папке проекта
- editor.formatOnSave включён
Создай файл check.py, напиши в нём строку с намеренно кривыми отступами и лишними пробелами, сохрани. Оформление должно поправиться само. После проверки файл удали.
- После сохранения оформление файла изменилось само
- Проверочный файл удалён
Если все проверки пройдены — рабочее место настроено, и дальше можно заниматься кодом, а не выяснять, почему команда не находится.
Что дальше: git и GitHub — ключи, клонирование, первая ветка. А затем первый pull request целиком, на безобидной правке README, чтобы к моменту появления настоящего кода механика уже была в руках.
Если какой-то шаг не сошёлся — не переходи дальше. Незакрытая проблема в окружении не рассасывается, а всплывает через две недели в самый неудобный момент.
