Рабочие области VS Code для проектов ESP32 и ESP8266
В этом руководстве вы узнаете, как работать с рабочими областями (workspaces) в VS Code для организации ваших проектов ESP32 и ESP8266. Вы узнаете, что такое однопапочная рабочая область (single-folder workspace), многокорневая рабочая область (multi-root workspace), преимущества рабочих областей и как их использовать.
Для знакомства с VS Code и ESP32/ESP8266 сначала пройдите следующее руководство:
Вы также можете использовать VS Code для программирования плат с прошивкой MicroPython:
Что такое рабочая область (Workspace) в VS Code?
Концепция рабочей области может быть сложной для понимания, особенно когда вы только начинаете работать с VS Code. Но вы увидите, что это простая и полезная концепция для организации ваших проектов. Мы постараемся объяснить эту концепцию максимально просто и применительно к нашим проектам ESP32 и ESP8266. Если вы хотите узнать больше, вы можете прочитать документацию по рабочим областям.
Рабочая область (workspace) — это просто коллекция одной или нескольких папок проектов, открытых в окне VS Code (File Explorer).
Однопапочная рабочая область (Single Folder Workspace)
В большинстве случаев вы работаете только с одной папкой проекта — в этом сценарии рабочая область является корневой папкой вашего проекта.
Например, создайте новый проект PlatformIO или откройте новую папку проекта. В следующем примере я создал новый проект PlatformIO под названием ESP32 Web Server. Рабочая область — это сама папка проекта.
Многокорневая рабочая область (Multi-Root Workspace)
Однако, в зависимости от проекта, может быть полезно включить несколько папок проектов в рабочую область. Например, представьте, что ваш проект требует две или три платы ESP32 или ESP8266, которые общаются друг с другом. В этом случае может быть полезно иметь все папки проектов плат внутри одной рабочей области — это называется многокорневая рабочая область (Multi-root workspace).
Например, если вы создадите ещё один проект PlatformIO, он добавится к текущей рабочей области. В этом случае имя рабочей области будет Untitled, пока вы не сохраните её и не дадите имя. В данном случае я создал ещё один проект под названием ESP32 esp-now sender.
Преимущества рабочих областей
[Многокорневая рабочая область] Позволяет открывать/отображать в File Explorer все папки внутри этой рабочей области без необходимости открывать одну папку за раз.
Рабочая область — это как папка с дополнительными возможностями. Например, рабочая область может иметь настроенные параметры, которые применяются только к её папкам (или к самой папке, в случае однопапочных рабочих областей). Любая другая папка, открытая в VS Code вне этой рабочей области, не будет иметь тех же настроек.
Вы можете выборочно включать или отключать расширения для конкретной рабочей области. Это полезно, если вы попеременно работаете с проектами MicroPython или Arduino core. Это позволяет автоматически включать правильные расширения для проекта, над которым вы работаете (PlatformIO для проектов Arduino core, и PyMakr для проектов MicroPython).
Добавление папок в рабочую область
Вы также можете добавлять существующие папки в текущую рабочую область. Для этого перейдите в File > Add Folder to Workspace.. и выберите папку проекта, которую хотите добавить.
На данный момент у меня три проекта в моей безымянной рабочей области.
Сохранение рабочей области
Вы можете сохранить свою рабочую область и дать ей имя. Для сохранения рабочей области перейдите в File > Save Workspace As...
Рабочая область сохраняется как файл с расширением .code-workspace. В моём случае я назвал файл рабочей области ESP-NOW-project.code-workspace.
Теперь он отображается во вкладке Explorer с новым именем.
Файл рабочей области
Файл рабочей области имеет расширение .code-workspace, и это просто файл, содержащий список папок и файлов, которые должны отображаться в File Explorer. Проекты, сохранённые в одной рабочей области, будут одновременно отображаться во вкладке File Explorer в VS Code.
Кроме того, файл рабочей области может также содержать специфические настройки для включённых папок, как мы увидим в следующем разделе.
Чтобы посмотреть, как выглядит файл рабочей области, перейдите в File > Open File и выберите файл .code-workspace, который вы создали при сохранении рабочей области.
Как видите, он включает пути к включённым папкам проектов. В данный момент у него ещё нет пользовательских настроек. Давайте посмотрим, как добавить пользовательские настройки к рабочим областям в следующем разделе.
Настройки рабочей области
Как упоминалось ранее, рабочая область — это как папка с дополнительными возможностями. Она может иметь настроенные параметры, которые применяются только к её папкам (или к самой папке, в однопапочных рабочих областях).
Для установки пользовательских настроек для вашей рабочей области перейдите в File > Preferences > Settings. Затем выберите вкладку workspace (таким образом, определённые настройки будут применяться только к текущей открытой рабочей области).
Существует множество настроек, которые вы можете определить для своей рабочей области. В демонстрационных целях мы внесли только несколько изменений. В разделе Commonly Used мы установили Auto Save в значение afterDelay и размер шрифта 12.
Мы также изменили цветовую тему — перейдите в Workbench > Appearance > Color Theme. Мы выбрали тему Light +.
Отныне каждый раз, когда вы открываете эту рабочую область, она будет показывать светлую цветовую тему.
Тем не менее, цветовая тема VS Code по умолчанию остаётся Dark +. Это означает, что если вы закроете рабочую область или откроете другой проект, он вернётся к настройкам по умолчанию или к тем настройкам, которые вы определили для этой конкретной рабочей области.
Теперь, если вы откроете файл рабочей области, вы увидите, что он содержит новые настройки.
Включение/отключение расширений для рабочей области
Вы также можете включать или отключать расширения для конкретной рабочей области. Например, если вы открываете проект MicroPython, вы хотите, чтобы расширение PyMakr было включено по умолчанию. Однако вы не хотите, чтобы это расширение было включено, если вы работаете над проектом, запрограммированным с помощью Arduino core.
Чтобы показать вам, как это сделать, мы включим расширение PyMakr для этой конкретной рабочей области (представьте, что она содержит несколько папок проектов MicroPython).
Вам нужно перейти на вкладку Extensions и найти конкретное расширение. В нашем случае это расширение PyMakr. Выберите это расширение, а затем под кнопкой Enable нажмите Enable (Workspace). Чтобы изменения вступили в силу, необходимо перезапустить VS Code.
Отныне это расширение будет включено, когда вы работаете в этой рабочей области.
Загрузка проекта в многокорневой рабочей области
Этот раздел относится к проектам PlatformIO (Arduino core).
При работе с многокорневыми рабочими областями вам нужно уметь выбирать, какой проект вы хотите загрузить на свою плату. Для этого нужно нажать на имя текущего проекта, как показано на следующем изображении.
Затем в верхней части окна появится выпадающее меню со всеми папками проектов в рабочей области. Вам нужно выбрать папку проекта, который вы хотите загрузить на свою плату.
Открытие/закрытие рабочей области
Чтобы закрыть текущую рабочую область, перейдите в File > Close Workspace.
Чтобы открыть существующую рабочую область, перейдите в File > Open Workspace…
Заключение
Использование VS Code — один из лучших вариантов для продвинутых (или даже простых) проектов ESP32 и ESP8266. Вы можете использовать VS Code для программирования плат с Arduino core с помощью расширения PlatformIO, или с прошивкой MicroPython с помощью расширения PyMakr. Оба расширения уже были рассмотрены в нашем блоге (PlatformIO, PyMakr).
Одним из самых больших недостатков использования VS Code является кривая обучения. Новичкам может быть сложно понять, как всё работает. Одна из тем, которая сильно запутывает наших читателей — это концепция рабочей области (Workspace). Рабочая область — это просто папка или коллекция папок, отображаемых во вкладке File Explorer. Рабочая область может быть настроена с определёнными параметрами, которые применяются к её папкам.
После прохождения этого руководства мы надеемся, что вы лучше понимаете, что такое рабочая область, и можете использовать преимущества концепции рабочих областей, особенно для проектов, требующих несколько плат.
Узнайте больше об ESP32/ESP8266 с помощью наших ресурсов:
—
Источник: Random Nerd Tutorials — VS Code Workspaces with ESP32 and ESP8266 Projects