Як налаштувати CLion для ROS?


13

Як я можу налаштувати C ++ IDE CLion так, щоб правильно відображати документацію та автоматичне завершення роботи під час роботи з ROS?

Відповіді:


11
  1. Запустіть CLion з командного рядка за допомогою робочого простору ROS (тобто після виклику source devel/setup.bash )
  2. Відкрийте CMakeLists.txt проекту та скажіть, щоб він відкривався як проект, а не як файл.
  3. Це все, у вас інтегрована ваша робоча область :)

Налагодження:

  • Налагодження вбудованих файлів (вузлів, через які ви запускаєтеся rosrun) легко, ви просто запускаєте їх у IDE
  • Налагодження файлів запуску є складнішим, оскільки вони не можуть бути запущені IDE. Ви можете запустити файл запуску з командного рядка, потім знайти PID вузла, який ви хочете налагодити, і підключити до нього відладчик IDE ("Виконати -> Приєднати до локального процесу"). Звичайно, це важко використовувати для збору помилок ініціалізації.
  • Налагодження вузлів, які є скриптами оболонки або скриптами на непідтримуваних мовах, неможливо.

Ви можете зробити ще кілька кроків для поглиблення інтеграції:

  • Встановіть шлях генерації CMake в "Збірка, ... -> CMake -> Шлях генерації" до каталогу збирання робочої області, щоб ви могли лише один раз компілювати в IDE і мати доступні результати в консолі (інакше у вас буде дві різні конструкції, одна в IDE і одна в консолі). На жаль, поки https://youtrack.jetbrains.com/issue/CPP-1887 не буде виправлено, ви не можете використовувати будь-які змінні в шляху генерації за замовчуванням, тому налаштування компонування catkin вимагає певної ручної роботи.
  • Щоб автоматично запустити ROS при запуску CLion, ви можете додати джерело до ~/.xsessionrc . Однак це може мати несподівані наслідки. Якщо ви не хочете цього робити, використовуйте наступний підхід.
  • Створіть панель запуску робочого столу, яка запускає CLion із системного меню (тире, панель запуску тощо) з правильним середовищем (якщо у вас джерело ROS .bashrc): я відредагував файл робочого столу таким чином, ~/.local/share/applications/jetbrains-clion.desktopщоб виглядати наступним чином. Ви також повинні переконатися, що файл не підходить для запису сценаріїв оновлення / інструментального інструменту Jetbrains, інакше вони перезаписують його з кожним оновленням.

.

[Desktop Entry]
Version=1.0
Type=Application
Name=CLion
Icon=/home/peci1/bin/jetbrains/apps/CLion/.icon.svg
Exec=bash -i -c "/path/to/clion/bin/clion.sh" %f
Comment=A smart cross-platform IDE for C and C++
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-clion
  • Якщо ви використовуєте панель інструментів Jetbrains для встановлення CLion (що вам слід IMO), шлях до двійкових файлів змінюється з кожним оновленням (поки не буде вирішено https://youtrack.jetbrains.com/issue/ALL-653 ), але ви можете використовуйте цей трюк, щоб завжди запускати останню встановлену версію:

    Exec=bash -i -c "$(ls -td /path/to/jetbrains/apps/CLion/ch-0/*/ | head -n1)/bin/clion.sh" %f

  • Встановіть плагін підтримки Python, щоб мати змогу кодувати як C ++, так і Python з одного IDE.


1
Крім того, з Jetbrains Toolbox при автозапуску файл робочого столу можна змінити, щоб запустити панель інструментів з bash, і, таким чином, при відкритті проектів або CLion через додаток Jetbrains Toolbox також буде створено середовище.
Стефан Фабіян

@StefanFabian Чудова ідея. Чи можете ви опублікувати шлях до файлу робочого столу панелі інструментів, який запускається при запуску? Я навіть не знав, що файли з настільних ПК можуть бути запущені під час запуску :)
Martin Pecka

2
Звичайно! Файл робочого столу - якщо в налаштуваннях панелі інструментів включено автозапуск - слід розміщувати за адресою ~/.config/autostart/jetbrains-toolbox.desktop. Вам просто потрібно змінити лінію Exec={TOOLBOX-COMMAND}на Exec=/bin/bash -i -c "{TOOLBOX-COMMAND}". Однак я думаю, що додаток для інструментів замінює цю зміну (можливо, кожного разу, коли вона запускається). Тому я рекомендую зробити цей файл незмінним за допомогою sudo chattr +i jetbrains-toolbox.desktop.
Стефан Фабіян

6

Інтеграція CLion з ROS насправді прямо вперед і працює нестандартно, якщо хтось знає, як це зробити:

  1. За допомогою консолі перейдіть у робочу область ROS та створіть відповідний setup.bashфайл.
  2. Перейдіть до srcкаталогу робочої області.
  3. Запустіть CLion з консолі зі свого srcкаталогу.
  4. Закрийте будь-які відкриті проекти в CLion та виберіть Import Project from Sources
  5. Виберіть ТІЛЬКИsrc каталог у вашому робочому просторі для імпорту.
  6. Якщо CLion скаржиться на CMakeList.txtвже наявне, просто натиснітьOpen Project
  7. Кліон будуватиме символи протягом декількох хвилин, тоді ви повинні бути готові до роботи.

Якщо вона все ще не працює, переконайтесь, що ви видалили всі .ideaфайли зі своєї робочої області, які, можливо, були створені в попередніх спробах використання CLion з ROS.


Чи можете ви включити, як запускати програми з файлами запуску та підтримкою налагодження також із клавішею?
Ерік

Я використовую CLion дійсно просто для написання коду. Для решти я використовую інструменти командного рядка ROS. Я не знаю, чи можете ви налаштувати CLion для роботи з ROS і в цьому відношенні.
Ярно

0

Налаштування CLion з ROS

приємний опис на відповіді ROS.

https://answers.ros.org/question/284786/setup-clion-with-ros/


Ласкаво просимо в робототехніку Макс. Дякуємо за вашу відповідь, але ми вважаємо за краще, щоб відповіді були самостійними, де це можливо. Посилання мають тенденцію до гниття, тому відповіді, які покладаються на посилання, можуть бути марними, якщо зв'язаний контент зникне. Якщо ви додасте більше контексту за посиланням, швидше за все люди знайдуть вашу відповідь корисною.
Марк Бут

0

Ви також можете запускати файли повторного запуску безпосередньо в CLION, як зазначено тут: http://wiki.ros.org/IDEs#CLion, однак, коли я запускаю файли запуску в IDE, я отримую таку помилку: roslaunch: error: немає такої варіант: - рівень майстра-реєстратора

Мабуть, плагін запускає файл запуску через:

/opt/ros/kinetic/bin/roslaunch --master-logger-level=info FOLDERNAME/FILENAME

Однак я сам не вказав цей параметр. Хтось знає, чому він введений?


0

Новий і найпростіший підхід:

  1. Встановити ROS-Robot Operating Systemплагін на CLion:

    вам потрібно відкрити Налаштування (з меню Файл); потім на лівій панелі виберіть плагін, щоб показати панель плагінів у правій частині та вибрати вкладку ринку; потім знайдіть плагін операційної системи ROS-Robot та встановіть його.

  2. Імпортуйте свою область ros_works встановленим плагіном у меню Файл:

    Для імпорту існуючої робочої області вам потрібно скористатися меню Імпорт робочої області ROS, вибравши папку робочої області. У цьому випадку плагін буде шукати з налаштованих версій ROS, і він налаштує проект для вирішення залежності ROS.


Довідково

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.