Пара милиць для Notepad ++ Arduino IDE

    
 
Якщо ви працюєте з Arduino, то рано чи пізно ви незмінно розчаруєтеся в мінімалістичному функціоналі Arduino IDE як в текстовому редакторі коду. Ні тобі людської підсвічування, ні автозаповнення, ні смачних булочок і плагінів… І закономірно почнете рити інформацію про зв'язках Arduino з Intellij Idea, Sublime Text, ну або на худий кінець з Notepad ++, оскільки навіть в останньому редагувати код значно комфортніше.
 
От саме про останньої зв'язки Arduino з Notepad ++ і піде оповідь про милицях, для тих, хто ще не розщедрився на ліцензію Intellij Idea або Sublime Text.
І загалом, працюючи зі скетчем в Notepad ++ ви можете звести до мінімуму звернення до вікна Arduino IDE (перший і загальновідомий милицю) або навіть повністю виключити запуск Arduino IDE і компілювати і навіть заливати скетч в плату безпосередньо з Notepad ++ (другий милицю).
 
 
 

Милиця перший

Це навіть не милицю, а така build-in тростинка, штатно наявна в Arduino IDE. Але користуються їй, судячи по форумах, практично ніхто. Хоча, якщо розібратися, жити з цим яке той час можна…
 
     
  1. Отже, послідовність дій наступна:
  2.  
  3. запускаєте Arduino IDE;
  4.  
  5. відкриваєте ваш скетч;
  6.  
  7. заходите в налаштування IDE і включаєте галочку «Використовувати зовнішній редактор»;
     
    Тепер вікно IDE змінило колір і пропала можливість редагувати скетч в самому IDE.
     
     
  8.  
  9. відкриваєте Notepad ++ (або будь-який інший редактор коду або іншу улюблену IDE);
  10.  
  11. відкриваєте свій скетч, зв'язкові модулі, бібліотеки і т.д .;
  12.  
  13. редагуєте код;
  14.  
  15. зберігаєте;
  16.  
  17. переходите в Arduino IDE;
  18.  
  19. натискаєте Verify або Upload (компілюєте або вивантажуєте скетч);
  20.  
А що відбувається? При включеній Галці «Використовувати зовнішній редактор» Arduino IDE при кожній операції Verify або Upload буде автоматично перевідкривати поточний скетч, збережений вами в іншому редакторові. Ну, загалом то не манна небесна, але жити з цим вже можна, і не страждати від ущербності редактора Arduino IDE.
 
Що погано? Що потрібно перемикатися між вікнами… це швидко стомлює. Хочеться, щоб як у дитинстві, щоб як у людей! — Відредагував код, натиснув Alt + F9 для Compile, потім Ctrl + F9 для Run. Є й таке рішення.
 
 

Милиця другий

І це вже повноцінні ходунки, з гумовими ковпачками і поролоновими ручками. Але, дизайн поки совковий, без канделябрів…
 
Починаючи з версії 1.5 (це та, яка з підтримкою Arduino Due ) Arduino IDE стала підтримувати роботу з командного рядка. Повний перелік команд можна подивитися тут . Нас цікавитимуть дві команди, & quot; — verify & quot; і & quot; — upload & quot; для компіляції і вивантаження скетчу відповідно.
 
Щоб ними скористатися потрібно встановити в Notepad ++ плагін NppExec. Зробити це можна з меню плагінів. Більш докладно про інсталяцію та використання плагіна написано в відповідній статті на Хабре . Нас буде особливо цікавити змінна оточення файлового рівня $ (FULL_CURRENT_PATH), яка підставляє в командний рядок повний нехай файлу, відкритого в поточній закладці Notepad ++.
 
Тепер нам потрібно в NppExec створити два макроси для команд verify і upload. Але перед цим необхідно в системну змінну PATH додати шлях, де знаходиться файл arduino.exe (шлях до папки установки Arduino IDE). Це для того, щоб наші макроси починалися з короткого «arduino -», а не з вказівки повного шляху до виконуваного файлу. Як змінити PATH для різних ОС описано тут .
 
Ось тепер створюємо два макроси:
 
     
  • arduino --verify & quot; $ (FULL_CURRENT_PATH) & quot;
  •  
  • arduino --upload & quot; $ (FULL_CURRENT_PATH) & quot;
  •  
Зверніть увагу, змінна & quot; $ (FULL_CURRENT_PATH) & quot; повинна вказуватися саме в лапках, це на той випадок, якщо шлях до файлу скетчу містить прогалини.
І якщо ви не вказуєте в макросах ніяких параметрів по платі, чипу, порту і т.д., то всі ці параметри для вивантаження в плату (макрос --upload) будуть братися ті, які були налаштовані в Arduino IDE при останньому запуску.
 
В меню налаштувань NppExec є опція, що розміщує створювані вами макроси на закладці Макроси на панелі меню Notepad ++.
 image
 
На жаль, розробник NppExec не подбав про опції створення на панелі Notepad ++ нових кнопок і прив'язці до них нових макросів, тому наші макроси доведеться запускати з меню Макроси:
 image
Нові макроси будуть розташовуватися в самому низу меню, під роздільником.
 
Тепер можна відкрити консоль («Show Console Dialog»)
 image
 і перевірити макроси.
 
 

Як бачите у даного милиці є пара неприємних недоліків

По-перше, arduino.exe запускається при кожному запуску макросу і закривається з його виконання. Таким чином ви втрачаєте 3-4 секунди на кожну компіляцію коду. В цьому плані Arduino IDE працює трохи швидше. Але, якщо ви пишіть код акуратно і компілюєте рідко, то це вас напружити не повинно.
 
По-друге, як я писав вище, розробник NppExec не подбав про опції створення на панелі Notepad ++ нових кнопок з прив'язкою до них нових макросів, як зроблено, наприклад в плагін Python Script:
 image
(Картинка кликабельна)
Тому макроси доведеться запускати в два кліка мишею, наприклад з меню Макроси.
 
Я, загалом то, з цим змирився. І навіть залишилася якась інтрига — допив кнопки самому.
 
Ну а тепер залишилося тільки привласнити новим макросам гарячі клавіші Alt + F9 і Ctrl + F9
 image
і…
 image
Ласкаво просимо додому, старички! ;)
І ніякого Arduino IDE.
 
 P.S. Не всі картинки взяті з мого Notepaва ++, сорі. Я зараз не за своїм компом, але дуже хотілося поділитися милицями. Потім заміню картинки на реальні.
Тему а-ля turbo pascal можна подивитися ось тут .

    
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.