Обновить

VSCode как IDE для embedded разработки

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели9.8K
Всего голосов 13: ↑12 и ↓1+14
Комментарии4

Комментарии 4

Хороший повод провести аудит расширений в своем VS Code
По embedded у меня такие

Расширения VS Code для embedded
  1. dan-c-underwood.arm — подсветка синтаксиса для ARM assembly (.s/.asm файлы).

  2. marus25.cortex-debug — отладка ARM Cortex-M через GDB + J-Link/OpenOCD/ST-Link, поддержка SVD, RTOS-вьюверы.

  3. mcu-debug.debug-tracker-vscode — служебное расширение-«трекер» сессий отладки, на которое опираются остальные mcu-debug плагины.

  4. mcu-debug.memory-view — просмотр и редактирование памяти MCU во время отладки (hex-вью с привязкой к адресам).

  5. mcu-debug.peripheral-viewer — отображение регистров периферии по SVD-файлу (у тебя это R7FA8M1AH.svd / R7FA8M1AH_mod.svd).

  6. mcu-debug.rtos-views — визуализация объектов RTOS (потоки, очереди, семафоры) — для ThreadX/Azure RTOS в твоём проекте.

  7. ms-vscode.vscode-embedded-tools — официальный Microsoft embedded toolkit: peripheral view, RTOS view, serial monitor.

  8. ms-vscode.hexeditor — hex-редактор для бинарных файлов (прошивки, дампы).

  9. trond-snekvik.gnu-mapfiles — подсветка .map файлов от GNU линкера (анализ размещения секций).

  10. zixuanwang.linkerscript — подсветка GNU linker scripts (.ld/.icf).

  11. iarsystems.iar-build — интеграция сборки IAR EWARM из VS Code (используется в твоих task'ах iarbuild.exe).

  12. iarsystems.iar-debug — отладка через IAR C-SPY прямо из VS Code.

  13. iarsystems.iar-login — управление лицензиями IAR.

  14. ms-vscode.cpptools — IntelliSense, навигация и отладка C/C++ (основа для embedded C).

  15. ms-vscode.cpptools-extension-pack — метапакет: cpptools + CMake Tools + темы.

  16. ms-vscode.cpptools-themes — цветовые темы для C/C++.

  17. ms-vscode.cpp-devtools — дополнительные dev-инструменты для C/C++.

  18. ms-vscode.cmake-tools — поддержка CMake-проектов (конфигурация, сборка, отладка).

  19. ms-vscode.makefile-tools — поддержка Makefile-проектов (IntelliSense из make).

  20. xaver.clang-format — форматирование C/C++ через clang-format.

  21. hars.cppsnippets — сниппеты C++.

  22. stmicroelectronics.stm32cube-ide-core — ядро интеграции STM32CubeIDE в VS Code.

  23. stmicroelectronics.stm32cube-ide-project-manager — менеджер STM32-проектов (импорт .cproject и т.п.).

  24. stmicroelectronics.stm32cube-ide-build-cmake — CMake-сборка STM32-проектов.

  25. stmicroelectronics.stm32cube-ide-build-analyzer — анализ размера прошивки (RAM/Flash) после сборки.

  26. stmicroelectronics.stm32cube-ide-bundles-manager — управление установленными STM32-тулчейнами/пакетами.

  27. stmicroelectronics.stm32cube-ide-clangd — clangd-интеграция для STM32 (IntelliSense).

  28. stmicroelectronics.stm32cube-ide-debug-core — ядро отладки STM32.

  29. stmicroelectronics.stm32cube-ide-debug-jlink-gdbserver — отладка STM32 через SEGGER J-Link GDB Server.

  30. stmicroelectronics.stm32cube-ide-registers — просмотр периферийных регистров STM32 в отладке.

  31. stmicroelectronics.stm32cube-ide-rtos — RTOS-вью для STM32-проектов (FreeRTOS и др.).

Отказываться от коммерческих тулсов совсем не обязательно. В них еще есть такое что за никакое бесплатно не достанешь. Поэтому их тоже включаем как расширения.
Но вообще расширения - зло. С их конфликтами даже ChatGPT разобраться порой не может.
Могут начать жра.. потреблять ресурсы как не в себе.

Но сегодня актуальней скорее наборы скилов для копилота. Успешно заменяет большинство расширений. То же форматирование с копилотом и скилами получается гораздо кастомизированей чем обычными тулсами.

Писать комментарии с помощью ИИ - это уже предел лени.

Осталось что-то туда для QEMU и xPack с контролем версий, плюс то что позволяет в JSON-ы настроек подгружать переменные среды и управлять ими без костылей в виде bash-инъекций, особенно что касается резидентных инструментов и их контроля вроде st-util и прочих которые требуют localhost и своё окружение. Хотя это скорее проблема в большей мере системы а не IDE, которая предоставляет безопасную песочницу. Вообщем что-то уже с этими Path и sys необходимо делать чтобы не городить файловую систему в файловой системе.

Markdown в виде расширения у меня так и не прижился никак, использую программу Typora, которую купил, это тот случай, когда не жалко потраченных денег, тем более что окно с доками обычно отдельно, у меня три монитора. Часть расширений не только для эмбедда годится, спасибо.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации