Какие есть другие IDE для Arduino?

В базовой IDE Arduino отсутствуют многие функции, присутствующие в других IDE, такие как завершение кода, свертывание кода, организация папок и т. д. Существуют ли другие IDE, которые позволяют программировать на C или C++ и улучшают эти аспекты?

, 👍94

Обсуждение

Предложение: Можно ли расширить этот вопрос для разных языков (не только для разных 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


22 ответа


Лучший ответ:

65

Существует плагин 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


11

Маженко создал и поддерживает UECIDE. Его вклад довольно эпичен; Я лично видел его мастерство кодирования, когда мы работали вместе, чтобы получить Adafruit 1,8-дюймовый TFT-джойстик, работающий на платформе chipKIT.

,

18

Одним из довольно хороших расширений IDE является Arduino Mode для Emacs. Это позволяет использовать универсальную и расширяемую среду IDE, такую как Emacs, для написания, компиляции и загрузки кода в Arduino.

Документацию и инструкции можно найти здесь.

,

21

Для написания программ для Arduino можно использовать AVR Studio.

Существует подключаемый модуль, который позволяет создавать ссылки и использовать библиотеки arduino из в Atmel Studio.

Если вы использовали Microsoft Visual Studio, Atmel Studio представляет собой, по сути, новую версию Visual Studio с другими серверными компонентами компилятора, предназначенными для устройств серии ATmega, так что вы будете чувствовать себя как дома.

,

26

В дополнение к ответу 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


23

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


8

В дополнение к упомянутым IDE вы можете использовать Xcode с embedXcode, если вы используете Mac. IDE имеет отличную файловую структуру и поддерживает множество плат. Для больших и сложных проектов это действительно хорошо. Мне нравится использовать vim или arduino IDE для более простых и менее сложных скетчей/проектов.

,

8

Есть один из Бразилии под названием 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


13

ОБНОВЛЕНИЕ-> 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


20

Есть и половинчатое решение, так как среда разработки Arduino поддерживает внешний редактор, тогда среда разработки Arduio просто компилирует и загружает данные.

Теперь вы можете использовать любую IDE/редактор для редактирования кода, а затем вы переключаетесь обратно в Arduino IDE, чтобы нажать кнопку компиляции и загрузки, когда закончите.

,

4

Я всегда хотел использовать Eclipse, так как это наш стандарт (для Java) в работе. Но мне так и не удалось заставить отладчик работать с моей платой AVR Dragon — слишком много слоев между исходным кодом и чипом. Итак, я вернулся к использованию Atmel Studio. Вы можете настроить сопоставление клавиатуры для эмуляции различных других IDE (включая Eclipse и Netbeans). Я могу принять причудливость Microsoft в обмен на стабильную среду отладки, поддержку нескольких файлов и профессиональные функции управления версиями.

,

Я выполнил отладку с помощью плагина Arduino eclipse (недавно переименованного в sloeber sloeber.io) и нуля. У меня нет avrdragon, но я знаю, что другие люди заставили его работать., @jantje


3

Я использую Xcode, настроенный как внешний редактор. Я все пишу в библиотеках, а скетч просто вызываю библиотеки.

,

1

Фритц

Это новый «Просмотр кода»! Он позволяет вам писать свой код непосредственно внутри Fritzing и даже загружать его оттуда в ваш микроконтроллер. У него даже есть последовательный монитор. :)

Фритцинг, обычно известный как конструктор схем, имеет встроенную IDE.
Подробнее см. здесь.

,

1

Еще никто не упоминал об этом, но я использую VisualMicro для Microsoft Visual Studio (не Atmel), и мне это очень нравится. Он дает вам все, что вы обычно имеете в Visual Studio, например ввод с помощью IntelliSense. Пробная версия — это полная программа, а лицензия довольно дешевая — около 30 баксов или около того. Я получил свою работу, чтобы заплатить за коммерческий лицензионный ключ. Рекомендую!

,

1

Блокнот++

  • установить Notepad++: view->папку в качестве рабочей области
  • и Язык->C->C++ устанавливает подсветку синтаксиса
  • установите файл arduino Ide->настройки «Использовать внешний редактор»

и все работает гладко, без затмений.

,

3

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, которая меня вполне устраивает!

,

1

Мой выбор (каламбур, это всего лишь каламбур, ребята!) — Sloeber — Eclipse с подключаемым модулем Jantje EclipseArduino. Имея десятилетия тренировки мышечной памяти с помощью emacs, я использую с ним плагин MulgaSoft Emacs+, переключаясь на настоящий GNU emacs для тяжелой работы — параллельной разработки проекта и новых библиотек для него, f/ex, и использую Sloeber, чтобы поймать мои опечатки и усилители; мозги.

,

1

Хорошей альтернативой Arduino IDE является Visual Studio Code в сочетании с расширением Microsoft для Arduino https://github.com/ Microsoft/vscode-ардуино

Он предоставляет все функции Arduino IDE, такие как

Проверьте и загрузите свои скетчи в Visual Studio Code

  • Встроенная плата и менеджер библиотек
  • Встроенный список примеров
  • Встроенный последовательный монитор

но вдобавок предлагает некоторые привлекательные функции:

  • IntelliSense и подсветка синтаксиса для скетчей Arduino
  • Фрагменты для скетчей
  • Автоматические строительные леса проекта Arduino
,

4

Платформа ввода-вывода

Я использую текстовый редактор 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.

,

0

после некоторого опыта

любой редактор (атом или vscode) прекрасно работает с platformIO

предложение:

  1. подсветка синтаксиса
  2. отладчик
  3. легкий менеджер проектов
  4. (что мне больше всего нравится) складные блоки
,

0

В конце 2019 года у нас появился подключаемый модуль Deviot для Sublime Text 3, работающий поверх PlatformIO.

,

1

Я использую 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.

См. мой документ для получения полной информации о настройке.

По теме:

  1. C++ или язык Arduino?
,