Какие есть другие IDE для Arduino?
В базовой IDE Arduino отсутствуют многие функции, присутствующие в других IDE, такие как завершение кода, свертывание кода, организация папок и т. д. Существуют ли другие IDE, которые позволяют программировать на C или C++ и улучшают эти аспекты?
@DLJ, 👍94
Обсуждение22 ответа
Лучший ответ:
Существует плагин Arduino Eclipse под названием sloeber! И Eclipse — отличная кроссплатформенная IDE с открытым исходным кодом!
Stino хорош. Для этого требуется Sublime Text 2 с бессрочной бесплатной пробной версией.
Visual Micro предоставляет полную систему сборки с отладчиком для Arduino в Microsoft Visual Studio. Для опытных пользователей он также позволяет просматривать или изменять базовый исходный код Arduino, активировать проекты и/или библиотеки, которые можно редактировать из любого места и совместно использовать в нескольких проектах вместе с настоящим кроссплатформенный IntelliSense.
Для получения дополнительной информации посетите официальный сайт Arduino
Для разработки под Windows существует специальная версия официальной IDE Arduino под названием arduino-erw. редакция намного лучше предыдущей, потому что в ней исправлено множество проблем с задержкой и стабильностью!
И NetBeans тоже!, @Jean-Christophe Duperron
@Jean-ChristopheDuperron Спасибо! Я определенно буду использовать подключаемый модуль NetBeans. Спасибо, Хардик Такер. Мне не нравится использовать Eclipse, но если с NetBeans произойдет сбой, я воспользуюсь подключаемым модулем Eclipse., @DLJ
Как Стино? Мне нравится Sublime, и мне было интересно, лучше ли Stino, чем Arduino IDE (особенно с точки зрения ошибок/сбоев соединения и последовательного переполнения)., @Steven10172
@FakeName Я ценю ваш энтузиазм, но вы захотите немного изменить свой язык ;-), @Chris O
Я использую плагин Arduino Eclipse, и я им доволен. Но я рассмотрю другие предложения, о которых я не знал!, @jfpoilpret
@ChrisO - Почему? Мне еще предстоит **никогда** услышать убедительный аргумент в пользу цензуры., @Connor Wolf
@FakeName, только что установил. Надеюсь, завтра все пойдет хорошо, пока мы работаем над отслеживанием мыши для нашего робота., @Steven10172
@FakeName Я не собираюсь выступать за/против цензуры (что бы это ни было). StackExchange — это профессионализм, но с практической точки зрения решение принимает сообщество: если никто не пометит ваш пост/комментарий как оскорбительный, значит, все в порядке, а?, @Chris O
@ChrisO - я думаю, что [этот XKCD](http://xkcd.com/137/) адекватно резюмирует мое мнение по этой теме., @Connor Wolf
@FakeName Ха-ха-ха, блестяще, спасибо за ссылку, иду к принтеру, прямо сейчас ;-) Вау, мгновенное повышение морального духа на рабочем месте..., @Chris O
Имеются ли в Eclipse или Visual Studio такие функции, как отслеживание методов (например, CTRL-щелчок приводит к вызову другого модуля методом пользователя) и контекстная справка для C++? (извините, если это действительно вопрос новичка), @Hamish_Fernsby
@Hamish_Fernsby, да, Eclipse делает это невероятно хорошо. См. мою документацию по установке здесь: https://arduinoprosto.ru/q/75491/7727. Это значительно упрощает навигацию по коду, позволяя по-настоящему копаться в ядре и библиотеках., @Gabriel Staples
Первая ссылка (на Eclipse) ведет на спам-сайт., @dca
Маженко создал и поддерживает UECIDE. Его вклад довольно эпичен; Я лично видел его мастерство кодирования, когда мы работали вместе, чтобы получить Adafruit 1,8-дюймовый TFT-джойстик, работающий на платформе chipKIT.
Одним из довольно хороших расширений IDE является Arduino Mode для Emacs. Это позволяет использовать универсальную и расширяемую среду IDE, такую как Emacs, для написания, компиляции и загрузки кода в Arduino.
Документацию и инструкции можно найти здесь.
Для написания программ для Arduino можно использовать AVR Studio.
Существует подключаемый модуль, который позволяет создавать ссылки и использовать библиотеки arduino из в Atmel Studio.
Если вы использовали Microsoft Visual Studio, Atmel Studio представляет собой, по сути, новую версию Visual Studio с другими серверными компонентами компилятора, предназначенными для устройств серии ATmega, так что вы будете чувствовать себя как дома.
В дополнение к ответу Fake Name, есть также плагин Visual Micro для Arduino. для Atmel Studio (создана на основе Visual Studio). Он использует те же инструменты, исходные коды и библиотеки, что и среда разработки Arduino IDE, но предоставляет все возможности автозавершения кода и другие функции Visual Studio.
Подключаемый модуль Visual Micro также работает во всех версиях Visual Studio. Обеспечивает USB-отладка Arduino и Arduino IDE-совместимый менеджер плат.
AtmelStudio громоздкий и немного причудливый — как и многие творения Microsoft — но мощный и, в конечном счете, очень полезный. Я выполнил три проекта для Due и считаю их очень простыми. Порекомендуйте [эмулятор J-Link](http://www.segger.com/jlink_base.html) от Segger., @Bob Stein
vim можно использовать для разработки Arduino, но это потребует некоторой настройки (как и способ вим). Вам понадобится файл синтаксиса и это подключаемый модуль, который позволяет компилировать и развертывать из vim.
Грант Лукас написал отличную статью о том, как разрешить вашу экологическую ситуацию:
Использование Vim для разработки Arduino
Вот краткий пост о настройке Vim для разработки Arduino. использования Arduino IDE. Если вы активный пользователь Vim, это может быть немного шок, чтобы перейти в другой редактор. К счастью, установка довольно легко заставить все это работать с Vim. Этот пост предполагает вы знакомы с тем, как настроен Vim и, в идеале, у вас уже есть среда, которая работает для вас.
Установите Arduino IDE
Подождите. Что?!? Я слышал, вы говорите. Знаю, знаю. На самом деле мы не используем Arduino IDE, но она нам нужна для некоторой конфигурации и файлы, которые он устанавливает. Плагин Vim, который мы будем использовать, связан с тем, что IDE устанавливается и настраивается так, как нужно. Вы можете скачать IDE с сайта Arduino.
Установите подключаемый модуль vim-arduino
Чтобы получить основные преимущества компиляции, мониторинга и развертывания в Arduino, установите последнюю версию vim-arduino. Установите его в ваша папка .vim, используя любой метод, который вы используете для управления своим Vim плагины. Совет: я бы рекомендовал Pathogen, поскольку он делает установку так же просто, как перетащить папку плагина в папку пакета.
Файл синтаксиса Vim
Далее нужно получить файл синтаксиса, чтобы у нас было красивое цветовое кодирование. для файлов .pde и .ino. Загрузите последнюю версию arduino.vim и установите его в папку синтаксиса Vim. Чтобы получить синтаксис для применения к правильные типы файлов добавляют следующее в ваш файл vimrc
au BufRead,BufNewFile *.pde set filetype=arduino au BufRead,BufNewFile *.ino set filetype=arduino
Настройка Arduino IDE
Прежде чем пытаться скомпилировать и развернуть с помощью Vim, убедитесь, что все работает с сначала Arduino IDE, поскольку плагин Vim просто вызывается из настроек сохраняется в среде IDE. Если он работает в среде IDE, он должен работать и в Vim. Убедитесь, что вы выбрали правильный последовательный порт tty.usbmodem* в меню Инструменты > Последовательный порт в IDE. Примечание. Это отображается только тогда, когда Arduino подключен.
Работа в Vim
Как только вы сможете обмениваться данными с Arduino из IDE, вы должны полностью подходит для работы с Vim. Вам не нужно открывать IDE, если вам нужен пример кода. Откройте файл скетча в Vim и используйте
<Leader>ac
для компиляции скетча,<Leader>ad
для компиляции, а затем разверните на подключенном Arduino и<Leader>as
, чтобы открыть новое окно сэкраном
для контроля последовательного вывода Arduino.
Мне было интересно, когда появится сообщение о Vim, учитывая, что [Emacs уже присутствует](http://arduinoprosto.ru/q/40/what-are-the-other-ides-for-arduino/101# 59) ;-), @asheeshr
@Asheesh должен представлять!, @JohnB
Я только что обнаружил, что установка предпочтения Arduino IDE «использовать внешний редактор» переводит IDE в своего рода режим «прослушивания», который обнаруживает изменения в файле при редактировании в Vim (или другом редакторе). Вы должны открыть файл в обоих редакторах., @Mike W
В дополнение к упомянутым IDE вы можете использовать Xcode с embedXcode, если вы используете Mac. IDE имеет отличную файловую структуру и поддерживает множество плат. Для больших и сложных проектов это действительно хорошо. Мне нравится использовать vim или arduino IDE для более простых и менее сложных скетчей/проектов.
Есть один из Бразилии под названием MariaMole: http://dalpix.com/mariamole
По словам автора, как и исходная среда Arduino, MariaMole облегчает создание программного обеспечения для Arduino. Однако в то время как исходная IDE Arduino имеет ограничения, облегчающие жизнь новичкам, MariaMole предлагает функции, которые более продвинутые пользователи привыкли находить в профессиональных IDE, такие как:
- Выполняется через установку Arduino
- Рабочее пространство поддерживает несколько проектов одновременно
- Несколько консолей последовательного порта одновременно
- Файлы используют открытые форматы.
- Настраиваемый процесс сборки
- Импортирует примеры и скетчи Arduino
- Легкий импорт библиотек Arduino
- Цветовые темы
Спасибо за ваш ответ Даниил. Надеюсь, вы не возражаете, что я удалил включенное вами изображение конфеты под названием «Мария Моул». Это не совсем относится к обсуждению, и на первый взгляд из-за этого ваше сообщение выглядело как спам., @Peter Bloomfield
Было бы лучше, если бы здесь можно было добавить описание IDE. На данный момент ответ содержит только ссылку, и если ссылка упадет, ответ станет бесполезным., @asheeshr
@AsheeshR, я добавил больше информации, как вы предлагаете. Спасибо, @Daniel Grillo
Я должен задать тот же вопрос, который уже задавал для другого ответа: как он управляет библиотеками (и версиями библиотек), которые вы можете получить из разных мест (например, на GitHub)? Я задаю в связи с этими вопросами: http://arduinoprosto.ru/q/362/where-can-i-find-a-central-repository-of-all-available-arduino-libraries и http:// arduinoprosto.ru/q/348/how-to-organize-my-arduino-projects-structure-for-easy-source-control, @jfpoilpret
ОБНОВЛЕНИЕ-> Codebender закрывается.
Существует великолепная веб-среда разработки с открытым исходным кодом под названием Codebender
.Это похоже на Github для Arduino, с ним работает большое сообщество с тысячами примеров, а команда разработчиков исключительна.
С помощью codebender вы можете:
- запрограммируйте существующий скетч на свое устройство
- клонировать существующий скетч
- изменить его в соответствии с вашими потребностями
- поделитесь своей работой со всем миром
- вставьте код на свой веб-сайт, в блог или в учебные пособия
Кроссплатформенность Работает на Windows, Mac & Linux, Firefox & Хром
Codebender поддерживает Windows (от Windows XP до Windows 8.1, да, даже Vista :P), Mac OS X 10.6–10.9 и Linux и работает во всех основных браузерах
Как он управляет библиотеками (и версиями библиотек), которые вы можете получить из разных мест (например, с GitHub)? Я задаю в связи с этими вопросами: http://arduinoprosto.ru/q/362/where-can-i-find-a-central-repository-of-all-available-arduino-libraries и http:// arduinoprosto.ru/q/348/how-to-organize-my-arduino-projects-structure-for-easy-source-control, @jfpoilpret
Примечание предоставлено [Sean808080](http://arduino.stackexchange.com/users/20022/sean808080): _UPDATE-> [Codebender закрывается.](https://codebender.cc/next-chapter)_, @Greenonline
Есть и половинчатое решение, так как среда разработки Arduino поддерживает внешний редактор, тогда среда разработки Arduio просто компилирует и загружает данные.
Теперь вы можете использовать любую IDE/редактор для редактирования кода, а затем вы переключаетесь обратно в Arduino IDE, чтобы нажать кнопку компиляции и загрузки, когда закончите.
Я всегда хотел использовать Eclipse, так как это наш стандарт (для Java) в работе. Но мне так и не удалось заставить отладчик работать с моей платой AVR Dragon — слишком много слоев между исходным кодом и чипом. Итак, я вернулся к использованию Atmel Studio. Вы можете настроить сопоставление клавиатуры для эмуляции различных других IDE (включая Eclipse и Netbeans). Я могу принять причудливость Microsoft в обмен на стабильную среду отладки, поддержку нескольких файлов и профессиональные функции управления версиями.
Я выполнил отладку с помощью плагина Arduino eclipse (недавно переименованного в sloeber sloeber.io) и нуля. У меня нет avrdragon, но я знаю, что другие люди заставили его работать., @jantje
Я использую Xcode, настроенный как внешний редактор. Я все пишу в библиотеках, а скетч просто вызываю библиотеки.
Фритц
Это новый «Просмотр кода»! Он позволяет вам писать свой код непосредственно внутри Fritzing и даже загружать его оттуда в ваш микроконтроллер. У него даже есть последовательный монитор. :)
Фритцинг, обычно известный как конструктор схем, имеет встроенную IDE.
Подробнее см. здесь.
Еще никто не упоминал об этом, но я использую VisualMicro для Microsoft Visual Studio (не Atmel), и мне это очень нравится. Он дает вам все, что вы обычно имеете в Visual Studio, например ввод с помощью IntelliSense. Пробная версия — это полная программа, а лицензия довольно дешевая — около 30 баксов или около того. Я получил свою работу, чтобы заплатить за коммерческий лицензионный ключ. Рекомендую!
Блокнот++
- установить Notepad++: view->папку в качестве рабочей области
- и Язык->C->C++ устанавливает подсветку синтаксиса
- установите файл arduino Ide->настройки «Использовать внешний редактор»
и все работает гладко, без затмений.
Clion + PlatformIO
Я лично использую Clion, кроссплатформенную среду разработки, а также < href="http://docs.platformio.org/en/latest/ide/clion.html">PlatformIO, которая представляет собой кроссплатформенную систему сборки для Arduino и подобных устройств.
Clion, потому что мне нравятся IDE Jet Brains. Как студент или преподаватель вы можете получить бесплатную лицензию. И мне сказали подозрительные люди в Интернете, что есть другие способы получить лицензию (не то, чтобы я советовал делать что-то подобное).
PlatformIO достаточно мощный и хорошо интегрируется практически в любую IDE. Легко объявить зависимости от других библиотек, которые загружаются автоматически.
Я также использую плагин Clion для мониторинга последовательного порта для связи через Serial .print()
.
С этой настройкой вы можете полностью отказаться от старой среды разработки Arduino, которая меня вполне устраивает!
Мой выбор (каламбур, это всего лишь каламбур, ребята!) — Sloeber — Eclipse с подключаемым модулем Jantje EclipseArduino. Имея десятилетия тренировки мышечной памяти с помощью emacs, я использую с ним плагин MulgaSoft Emacs+, переключаясь на настоящий GNU emacs для тяжелой работы — параллельной разработки проекта и новых библиотек для него, f/ex, и использую Sloeber, чтобы поймать мои опечатки и усилители; мозги.
Хорошей альтернативой Arduino IDE является Visual Studio Code в сочетании с расширением Microsoft для Arduino https://github.com/ Microsoft/vscode-ардуино
Он предоставляет все функции Arduino IDE, такие как
Проверьте и загрузите свои скетчи в Visual Studio Code
- Встроенная плата и менеджер библиотек
- Встроенный список примеров
- Встроенный последовательный монитор
но вдобавок предлагает некоторые привлекательные функции:
- IntelliSense и подсветка синтаксиса для скетчей Arduino
- Фрагменты для скетчей
- Автоматические строительные леса проекта Arduino
Платформа ввода-вывода
Я использую текстовый редактор GitHub Atom с PlatformIO пакет.
Мне нравятся они оба:
- Atom имеет различные полезные встроенные функции и более 6000 пакетов (которые можно легко загрузить и установить на панели настроек), что позволяет пользователю чтобы добавить практически любую необходимую ему функцию.
- PlatformIO – мощная интегрированная среда разработки для программирования микроконтроллеров. Он имеет все функции Arduino IDE (например, возможность загружать код на плату Arduino одним щелчком мыши, последовательный монитор и т. д.), а также многие другие (например, все перечисленные в OP) и отлично поддерживает Arduino. Кроме того, «он поддерживает более 200 плат разработки, а также более 15 платформ разработки и 10 фреймворков». Его можно установить либо на GitHub Atom, либо на редакторы кода VSCode от Microsoft.
Изменить
Я по-прежнему регулярно использую PlatformIO на Atom, но только что увидел на их веб-сайт и форум, что они отговаривают пользователей от использования их пакета Atom, предлагая PlatformIO в VSCode в качестве лучшей альтернативы. Версия Atom по-прежнему работает хорошо, но если вы меняете свой редактор и хотите попробовать PlatformIO, я бы посоветовал последовать их совету и установить его в VSCode.
после некоторого опыта
любой редактор (атом или vscode) прекрасно работает с platformIO
предложение:
- подсветка синтаксиса
- отладчик
- легкий менеджер проектов
- (что мне больше всего нравится) складные блоки
В конце 2019 года у нас появился подключаемый модуль Deviot для Sublime Text 3, работающий поверх PlatformIO.
Я использую Eclipse и Sublime Text для редактирования кода Arduino, а также встраиваю среду разработки Arduino, установив ее в режим «внешнего редактора» или используя инструменты командной строки Arduino. Eclipse имеет фантастический индексатор и значительно упрощает понимание ядра Arduino. Я написал подробный PDF-файл об использовании и настройке Eclipse для профессиональной разработки программного обеспечения, в том числе для Arduino, здесь: https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles/blob/master/eclipse/Eclipse%20setup%20instructions%20on %20a%20new%20Linux%20(или%20other%20OS)%20computer.pdf.
Обратите внимание, что я использую обычный Eclipse для C/C++ без подключаемых модулей Arduino. Я не нахожу их такими полезными, поскольку они все равно никогда не смогут идти в ногу с последними инструментами сборки Arduino.
См. мой документ для получения полной информации о настройке.
По теме:
- Плата для разработки STM8 с Arduino IDE
- Что именно делает возвращаемый тип в функции?
- Как устранить сообщение об ошибке "assignment of function 'void digitalWrite (uint8_t, uint_8)"?
- Все float возвращают округленное целое число в меньшую сторону.
- Код CRC8 не работает должным образом
- Проблемы с Serial.read()
- Нет сервера веб-сокетов для Arduino mkr1010?
- Еще один простой и глупый вопрос о строках C++
Предложение: Можно ли расширить этот вопрос для разных языков (не только для разных IDE)?, @apnorton
Что ты имеешь в виду @anorton, @DLJ
@anorton Это совершенно другой вопрос., @asheeshr
anorton, вероятно, имел в виду, что кому-то может быть интересно узнать, какие языки программирования, кроме C++, можно использовать для программирования Arduino. Верно, @anorton?, @Ricardo
@Рикардо Это правильно. Но, я согласен, что этот вопрос следует держать строго в разных *IDE*. :), @apnorton
@anorton Я согласен. Языковой - это отдельный вопрос., @Ricardo
Arduino IDE включает в себя свертывание кода. Хотя по умолчанию он не включен. Отредактируйте «preferences.txt» в строке: «editor.code_folding=false» и сделайте его «true». Однако это не должно отвлекать внимание от вопроса., @JRobert