Рабочие области VS Code для проектов ESP32 и ESP8266

В этом руководстве вы узнаете, как работать с рабочими областями (workspaces) в VS Code для организации ваших проектов ESP32 и ESP8266. Вы узнаете, что такое однопапочная рабочая область (single-folder workspace), многокорневая рабочая область (multi-root workspace), преимущества рабочих областей и как их использовать.

Рабочие области VS Code для проектов ESP32 и ESP8266 NodeMCU

Для знакомства с 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. Рабочая область — это сама папка проекта.

Однопапочная рабочая область VS Code ESP32 и ESP8266

Многокорневая рабочая область (Multi-Root Workspace)

Однако, в зависимости от проекта, может быть полезно включить несколько папок проектов в рабочую область. Например, представьте, что ваш проект требует две или три платы ESP32 или ESP8266, которые общаются друг с другом. В этом случае может быть полезно иметь все папки проектов плат внутри одной рабочей области — это называется многокорневая рабочая область (Multi-root workspace).

Например, если вы создадите ещё один проект PlatformIO, он добавится к текущей рабочей области. В этом случае имя рабочей области будет Untitled, пока вы не сохраните её и не дадите имя. В данном случае я создал ещё один проект под названием ESP32 esp-now sender.

Многокорневая рабочая область untitled VS Code ESP32 ESP8266

Преимущества рабочих областей

  • [Многокорневая рабочая область] Позволяет открывать/отображать в File Explorer все папки внутри этой рабочей области без необходимости открывать одну папку за раз.

  • Рабочая область — это как папка с дополнительными возможностями. Например, рабочая область может иметь настроенные параметры, которые применяются только к её папкам (или к самой папке, в случае однопапочных рабочих областей). Любая другая папка, открытая в VS Code вне этой рабочей области, не будет иметь тех же настроек.

  • Вы можете выборочно включать или отключать расширения для конкретной рабочей области. Это полезно, если вы попеременно работаете с проектами MicroPython или Arduino core. Это позволяет автоматически включать правильные расширения для проекта, над которым вы работаете (PlatformIO для проектов Arduino core, и PyMakr для проектов MicroPython).

Добавление папок в рабочую область

Вы также можете добавлять существующие папки в текущую рабочую область. Для этого перейдите в File > Add Folder to Workspace.. и выберите папку проекта, которую хотите добавить.

Добавление папки в рабочую область VS Code ESP32 ESP8266 NodeMCU

На данный момент у меня три проекта в моей безымянной рабочей области.

Многокорневая рабочая область с тремя папками VS Code ESP32 ESP8266

Сохранение рабочей области

Вы можете сохранить свою рабочую область и дать ей имя. Для сохранения рабочей области перейдите в File > Save Workspace As...

VS Code сохранение рабочей области ESP32 ESP8266 NodeMCU

Рабочая область сохраняется как файл с расширением .code-workspace. В моём случае я назвал файл рабочей области ESP-NOW-project.code-workspace.

Теперь он отображается во вкладке Explorer с новым именем.

VS Code именованная рабочая область с несколькими папками ESP32 ESP8266

Файл рабочей области

Файл рабочей области имеет расширение .code-workspace, и это просто файл, содержащий список папок и файлов, которые должны отображаться в File Explorer. Проекты, сохранённые в одной рабочей области, будут одновременно отображаться во вкладке File Explorer в VS Code.

Кроме того, файл рабочей области может также содержать специфические настройки для включённых папок, как мы увидим в следующем разделе.

Чтобы посмотреть, как выглядит файл рабочей области, перейдите в File > Open File и выберите файл .code-workspace, который вы создали при сохранении рабочей области.

Содержимое файла рабочей области VS Code ESP32 ESP8266

Как видите, он включает пути к включённым папкам проектов. В данный момент у него ещё нет пользовательских настроек. Давайте посмотрим, как добавить пользовательские настройки к рабочим областям в следующем разделе.

Настройки рабочей области

Как упоминалось ранее, рабочая область — это как папка с дополнительными возможностями. Она может иметь настроенные параметры, которые применяются только к её папкам (или к самой папке, в однопапочных рабочих областях).

Для установки пользовательских настроек для вашей рабочей области перейдите в File > Preferences > Settings. Затем выберите вкладку workspace (таким образом, определённые настройки будут применяться только к текущей открытой рабочей области).

Файл рабочей области VS Code с несколькими папками

Существует множество настроек, которые вы можете определить для своей рабочей области. В демонстрационных целях мы внесли только несколько изменений. В разделе Commonly Used мы установили Auto Save в значение afterDelay и размер шрифта 12.

Мы также изменили цветовую тему — перейдите в Workbench > Appearance > Color Theme. Мы выбрали тему Light +.

VS Code рабочая область изменение настроек внешнего вида

Отныне каждый раз, когда вы открываете эту рабочую область, она будет показывать светлую цветовую тему.

Тем не менее, цветовая тема VS Code по умолчанию остаётся Dark +. Это означает, что если вы закроете рабочую область или откроете другой проект, он вернётся к настройкам по умолчанию или к тем настройкам, которые вы определили для этой конкретной рабочей области.

Теперь, если вы откроете файл рабочей области, вы увидите, что он содержит новые настройки.

VS Code новые настройки рабочей области ESP32 ESP8266

Включение/отключение расширений для рабочей области

Вы также можете включать или отключать расширения для конкретной рабочей области. Например, если вы открываете проект MicroPython, вы хотите, чтобы расширение PyMakr было включено по умолчанию. Однако вы не хотите, чтобы это расширение было включено, если вы работаете над проектом, запрограммированным с помощью Arduino core.

Чтобы показать вам, как это сделать, мы включим расширение PyMakr для этой конкретной рабочей области (представьте, что она содержит несколько папок проектов MicroPython).

Вам нужно перейти на вкладку Extensions и найти конкретное расширение. В нашем случае это расширение PyMakr. Выберите это расширение, а затем под кнопкой Enable нажмите Enable (Workspace). Чтобы изменения вступили в силу, необходимо перезапустить VS Code.

VS Code включение расширения для рабочей области

Отныне это расширение будет включено, когда вы работаете в этой рабочей области.

Загрузка проекта в многокорневой рабочей области

Этот раздел относится к проектам PlatformIO (Arduino core).

При работе с многокорневыми рабочими областями вам нужно уметь выбирать, какой проект вы хотите загрузить на свою плату. Для этого нужно нажать на имя текущего проекта, как показано на следующем изображении.

VS Code выбор проекта для загрузки в многокорневой рабочей области ESP32 ESP8266

Затем в верхней части окна появится выпадающее меню со всеми папками проектов в рабочей области. Вам нужно выбрать папку проекта, который вы хотите загрузить на свою плату.

VS Code переключение среды PlatformIO ESP32 ESP8266

Открытие/закрытие рабочей области

Чтобы закрыть текущую рабочую область, перейдите в File > Close Workspace.

Чтобы открыть существующую рабочую область, перейдите в File > Open Workspace…

VS Code открытие и закрытие рабочей области

Заключение

Использование 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