2021-04-19 11:22:59

Дружим VSCode и Arduino

В мемориз Arduino

Arduino + Visual Studio Code

Arduino IDE всем хороша, за исключением того, что писать код в ней просто неудобно. В поисках альтернативы настроил более-менее привычный для меня Visual Studio Code под написание кода для ардуино.


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

Итак, ваш settings.json должен включать следующее (это все можно накликать в интерфейсе, но проще так):

Для MacOS:

    "arduino.path": "/Applications",
    "arduino.commandPath": "Contents/MacOS/Arduino",
    "C_Cpp.default.includePath": [
        "/Applications/Arduino.app/Contents/Java/hardware/**",
        "/Applications/Arduino.app/Contents/Java/libraries/**",
        "~/Documents/Arduino/libraries/**"
    ],
    "C_Cpp.intelliSenseEngine": "Tag Parser"

Для Linux:

    "C_Cpp.intelliSenseEngine": "Tag Parser",
    "C_Cpp.default.includePath": [
        "/usr/share/arduino/hardware/arduino/**",
        "/usr/share/arduino/libraries/**",
        "~/Arduino/libraries/**"
    ]

Для Windows, наверное, аналогично, но сам не пробовал.

После этого начинает работать менеджер библиотек, а из редактора уходят ошибки про несуществующие include, и начинают работать подсказки кода. Конечно, подсказки далеки от идеала, оно собирает все возможное со всех *.h файлов в includePath, не обращая внимания на те, что реально включено в вашем коде, но это уже гигантский шаг вперед по сравнению с Arduino IDE.

P.S. Удивительно, насколько среда разработки влияет на процесс написания ПО. Изначально я достаточно долго ковырял прошивку для декодера шагового двигателя в "родной" Arduino IDE, а когда дошли руки настроить Visual Studio Code для работы с ардуино, все было завершено за пару дней.