2. Better C++ Syntax. Улучшенная подсветка синтаксиса для разных тем оформления
3. Better Comments. Разделение комментариев на категории и их уникальное форматирование
8. Doxygen Documentation Generator. Генератор комментариев по doxygen
14. Markdown All in One. Мощный инструмент для верстки Markdown
В данной статье рассматривается процесс настройки vscode для разработки встроенного ПО на базе ядер cortex-M и процессе превращения редактора в полноценную IDE. При этом большинство представленных расширений являются универсальными и применимы в широком спектре задач программирования.
В отличии от проприетарных решений, таких как Keil, подход использования редактора vscode + компилятор gcc позволяет гибко настроить каждый пункт от начала разработки до релиза продукта. За время своей работы мною было опробованы разные решения: от классического keil до связки sublime и CodeSourcery. В последние годы я перешел на vscode + msys2: практически все ПО Open Source, не требует лицензий, не ограничено 32 Кб кода и может работать без сети интернет.
0. MSYS2: Набор инструментов для разработки
Данный этап не является обязательным, так как компилятор, OpenOCD, Python, Qt и другие компоненты можно установить как отдельные программы. Однако использование MSYS2 предпочтительнее: этот подход позволяет управлять всеми зависимостями в рамках единой экосистемы, а обновление всей среды разработки сводится к одной команде: pacman -Syu.
Для настройки msys2 необходимо:
Скачайте и установите msys2.
В VS Code вызовите палитру команд (
Ctrl+Shift+PилиF1).Выберите пункт Preferences: Open User Settings (JSON).
Добавьте конфигурацию для интеграции терминала MSYS2 в VS Code:
Настройка терминала msys2 в vscode
// Настройки терминала MSYS2
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git Bash": {
"source": "Git Bash"
},
"MSYS2": {
"path": "C:\\msys64\\usr\\bin\\bash.exe",
"label": "MSYS2",
"args": [
"--login",
"-i"
],
"env": {
"CHERE_INVOKING": "1",
"MSYS2_PATH_TYPE": "inherit",
"MSYSTEM": "MINGW64"
}
},
},
"terminal.integrated.defaultProfile.windows": "MSYS2",
После запуска терминала msys2 необходимо установить набор инструментов и библиотек, необходимых для базовой сборки проектов под ARM. Сначала выполните полное обновление системных репозиториев и пакетов. Для этого в терминале msys2 введите:
pacman -Syu
# необходимо перезапустить MSYS2 и выполнить вторую часть обновления:
pacman -Su
Затем установите компилятор, отладчик и инструменты сборки:
pacman -S base-devel git mingw-w64-x86_64-arm-none-eabi-gcc mingw-w64-x86_64-gdb-multiarch
После выполнения этих шагов ваша среда будет готова к работе с проектами на базе Makefile (использование CMake в данной статье не рассматривается). Теперь перейдем к настройке самого VS Code и разбору расширений, которые значительно оптимизируют процесс разработки.
1. Arm Assembly. Подсветка синтаксиса ассемблерных файлов
Arm Assembly | |
|---|---|
Идентификатор | dan-c-underwood.arm |
Описание | Arm assembly syntax support for Visual Studio Code |
Издатель | dan-c-underwood |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=dan-c-underwood.arm |
Подсветка синтаксиса

2. Better C++ Syntax. Улучшенная подсветка синтаксиса для разных тем оформления
Better C++ Syntax | |
|---|---|
Идентификатор | jeff-hykin.better-cpp-syntax |
Описание | The bleeding edge of the C++ syntax |
Издатель | Jeff Hykin |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax |
Подсветки синтаксиса для темы Dark+

3. Better Comments. Разделение комментариев на категории и их уникальное форматирование
Better Comments | |
|---|---|
Идентификатор | aaron-bond.better-comments |
Описание | Improve your code commenting by annotating with alert, informational, TODOs, and more! |
Издатель | Aaron Bond |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=aaron-bond.better-comments |
Подсветка комментариев

Для настройки нажмите ctrl+shift+p и выберите Preferences: Open User Settings (JSON). В файле настроек добавьте параметры для расширения
Настройки better-comments
// better-comments
"better-comments.multilineComments": true, // поддержка многострочных комментариев
"better-comments.highlightPlainText": true, // Определение тега будет идти по первому символу
"better-comments.tags": [
{
"tag": "!",
"color": "#FF2D00",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "?",
"color": "#3498DB",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "//",
"color": "#474747",
"strikethrough": true,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "todo",
"color": "#FF8C00",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "*",
"color": "#98C379",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "/* !",
"color": "#FF2D00",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "/*?",
"color": "#3498DB",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
},
{
"tag": "/* todo",
"color": "#FF8C00",
"strikethrough": false,
"underline": false,
"backgroundColor": "transparent",
"bold": false,
"italic": false
}
],
Расширение Better Comments может показаться избыточным, если вы не собираетесь использовать паттерны в комментариях вроде “!” или “?”. Если вам нужна только подсветка вроде “todo”, “bug” - достаточно будет расширения todo-tree
4. Bookmarks. Закладки для конкретной строки в файле
Bookmarks | |
|---|---|
Идентификатор | alefragnani.Bookmarks |
Описание | Mark lines and jump to them |
Издатель | Alessandro Fragnani |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=alefragnani.Bookmarks |
Закладки в боковой панели

Позволяет расставлять закладки на строку с добавлением своего комментария и осуществлять быстрый переход по клику из боковой панели. Удобно, когда не хватает alt + ⇄ и ctrl + tab
5. C/C++. Базовое расширение для разработки на c/c++
C/C++ | |
|---|---|
Идентификатор | ms-vscode.cpptools |
Описание | C/C++ IntelliSense, debugging, and code browsing. |
Издатель | Microsoft |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools |
Настройки c/c++ находятся в файле c_cpp_properties.json в корне рабочей области.
Настройки расширения c/c++
{
"name": "cortex",
"includePath": [
// Пути к библиотекам
],
// Что бы работали директивы #ifdef для определений, задаваемых в MAKEFILE, которые редактор "не видит"
"defines": [
"DEBUG",
"UART1"
],
"cppStandard": "c++17",
"cStandard": "c17",
"intelliSenseMode": "windows-gcc-arm",
}
6. Code Spell Checker. Проверка орфографии для EN/RU
Code Spell Checker | |
|---|---|
Идентификатор | streetsidesoftware.code-spell-checker |
Описание | Spelling checker for source code |
Издатель | Street Side Software |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker |
Проверка орфографии

Подсвечивает опечатки и предлагает их исправление (ctrl + .). Слова, которых нет в словарях, вроде GPIOA, можно добавить в пользовательский словарь (Add: “word” to user settings). Так же подсвечивает ошибки в тексте коммита встроенной системы управления версиями.
Для поддержки русского языка установите Russian - Code Spell Checker. Еще пригодятся Scientific Terms - Code Spell Checker и Win32 - Code Spell Checker. По умолчанию расширение отображает опечатки на панели “проблемы” т.к. они считаются “warning”. Для того, что бы убрать предупреждения из вкладки, нужно нажать ctrl+shift+p, выбрать Preferences: Open User Settings (JSON). В файле настроек добавьте параметры для расширения:
Настройки Code Spell Checker
// Проверка орфографии, поддерживаемые словари
"cSpell.language": "en,ru,scientific-terms-us",
"cSpell.spellCheckOnlyWorkspaceFiles": true,
// Убрать из окна "Проблемы"
"cSpell.diagnosticLevel": "Hint",
7. Cortex-Debug. Полноценный отладчик МК на ядрах Cortex-M
Cortex-Debug | |
|---|---|
Идентификатор | marus25.cortex-debug |
Описание | ARM Cortex-M GDB Debugger support for VSCode |
Издатель | marus25 |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug |
Cortex-Debug

Cortex-Debug — это полноценный интерфейс для отладки, обладающий всеми функциями отладчика:
Работа с множеством серверов отладки: segger, st-link, openocd, pyocd или внешний external.
Просмотр регистров периферии за счет интеграции SVD (System View Description) файлов.
Полноценный интерфейс отладки: установка точек остановки, приостановки работ, “прыжка” через функцию
Просмотр стека вызовов. Незаменимая вещь при отладке вылетов - вы можете отследить выполнение программы от места падения до самой первой ассемблерной инструкции.
Просмотр значения переменных. При этом в окне ввода переменной для просмотра можно вводить выражения типа взятия адреса, разыменования, приведения типов,стандартных функций типа sizeof и т.п.
liveWatch обновление переменных. Значение переменной будет обновляться без остановки ядра - незаменимая вещь, когда отлаживаешь процессы окружающего мира, который не будет ждать пока вы застыли в прерывании на точке остановки.
Cortex Debug умеет работать с несколькими серверами отладки: нативный segger, stlink и openocd. Последним удобно пользоваться, т.к. это бесплатный продукт, поддерживающий множество программаторов, не требующий пары сотен тысяч за лицензионный jlink - достаточно st-link за пару сотен рублей.
Openocd из состава msys2 (пакет mingw-w64-x86_64-openocd) может не поддерживать ваш МК. В таком случае ищите нужную сборку на профильных форумах или попробуйте openocd-xpack.
Для корректной работы программатора с openocd необходима установка драйверов libusb. Установить их можно через программы Zadig или UsbDriverTools.
Для работы расширения нужно добавить в папку .vscode файл launch.json со следующим содержимым:
Настройки launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "openocd",
"showDevDebugOutput": "none",
"request": "launch",
"type": "cortex-debug",
"cwd": "${workspaceRoot}",
// Если используется openocd не из состава msys2
"servertype": "openocd",
"serverpath": "путь_к_openocd.exe",
"executable": "${workspaceRoot}/путь_к_elf_файлу",
"searchDir": [
"путь_к_папке_scripts"
],
// путь к файлу конфигурации, если необходимы особые настройки
"configFiles": [
"${workspaceRoot}/openocd_debug.cfg"
],
// liveWatch работает только для "servertype": "openocd"
"liveWatch": {
"enabled": true,
"samplesPerSecond": 1
},
// Если openocd запускается отдельно
// "servertype": "external",
// "executable": "${workspaceRoot}/путь_к_elf_файлу",
"gdbPath": "C:/msys64/mingw64/bin/gdb-multiarch.exe",
"gdbTarget": "localhost:3333",
"svdFile": "${workspaceRoot}/ваш_мк.svd",
// "preLaunchTask": "debug" // выполнить задачу из файла tasks.json (например запуск внешнего отладчика или reset микроконтроллера)
// "runToEntryPoint": "my_func" // останавливает выполнение в начале функции my_func
}
]
}
Соединение с микроконтроллером через openocd можно запускать как самому: ("servertype": "external") через цель в makefile так и через расширение: ("servertype": "openocd").
Иногда может потребоваться первый способ. Для этого я использую отдельную цель, и потом нажимаю F5:
ifndef CUSTOM_TARGET_D
%.d: %.$(TARGET)
$(OPENOCD) -s $(OPENOCD_SCRIPTS_DIR) -s $(OPENOCD_CFG_FOLDER) -f $(OPENOCD_CFG) \
-c init \
-c "reset halt" &
sleep 3
$(GDB) -q -ex 'target remote localhost:3333' $<
endif
Можно так же добавить в tasks.json эту цель и указать ее в параметре preLaunchTask файла launch.json.
8. Doxygen Documentation Generator. Генератор комментариев по doxygen
Doxygen Documentation Generator | |
|---|---|
Идентификатор | cschlosser.doxdocgen |
Описание | Let me generate Doxygen documentation from your source code for you. |
Издатель | Christoph Schlosser |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=cschlosser.doxdocgen |
Doxygen - система документирования кода с автоматической генерацией документации на основе специально оформленных комментариев. Не важно, генерируете ли вы pdf документации, требуют ли от вас её заказчики - оформлять комментарии в едином стиле по всему проекту - база. И что бы её проще было соблюдать - поможет данное расширение. Оно автоматически генерирует шаблон комментария по вводу трех символов, которые определяются в настройках:
Настройки Doxygen Documentation Generator в launch.json
// Doxygen
"doxdocgen.c.firstLine": "/*!",
"doxdocgen.c.triggerSequence": "/*!",
"doxdocgen.file.copyrightTag": [
"\\ваш (c) копирайт"
],
"doxdocgen.file.versionTag": "\\version 1.0",
"doxdocgen.generic.authorEmail": "ваша@почта",
"doxdocgen.generic.authorName": "Ваше имя",
"doxdocgen.generic.commandSuggestionAddPrefix": true,
"doxdocgen.generic.useGitUserEmail": true,
"doxdocgen.cpp.tparamTemplate": "\\tparam {param} ",
"doxdocgen.file.fileTemplate": "\\file {name}",
"doxdocgen.generic.authorTag": "\\author {author} ({email})",
"doxdocgen.generic.briefTemplate": "\\brief {text}",
"doxdocgen.generic.dateTemplate": "\\date {date}",
"doxdocgen.generic.paramTemplate": "\\param {param} ",
"doxdocgen.generic.returnTemplate": "\\return {type} ",
Параметр doxdocgen.c.triggerSequence отвечает за триггер для формирования комментария. Когда вы введете последовательно /*! и нажмете “Ввод” - шаблон комментария сформируется автоматически.
Тема doxygen и документации идет вместе с codestyle - набором правил и соглашений, используемых при написании исходного кода. В vscode есть встроенный способ форматирования кода под ваш кодстайл. Вам нужен файл .clang-format с описанием стиля кода:
Настройки формитрования кода в launch.json
// Форматтер
// "C_Cpp.clang_format_path": "путь_к_clang-format.exe",
"C_Cpp.clang_format_style": "путь_к_.clang-format",
"C_Cpp.default.intelliSenseMode": "gcc-arm",
"C_Cpp.formatting": "clangFormat",
"editor.formatOnSave": true, // форматировать файл при сохранении
9. Draw.io Integration. Создание диаграмм
Draw.io Integration | |
|---|---|
Идентификатор | hediet.vscode-drawio |
Описание | This unofficial extension integrates Draw.io into VS Code. |
Издатель | Henning Dieterichs |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=hediet.vscode-drawio |
Draw.io Integration

Бесплатный и удобный инструмент для рисования циклограмм работы, временных графиков, блок схем и алгоритмов. Незаменимая вещь для ваших заказчиков при написании технического задания.
10. Git Graph. Визуализация репозитория
Git Graph | |
|---|---|
Идентификатор | mhutchie.git-graph |
Описание | View a Git Graph of your repository, and perform Git actions from the graph. |
Издатель | mhutchie |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph |
Git Graph

Наглядно показывает историю репозитория в виде графа. Имеет инструменты для работы с git прямо из интерфейса графа.
Однако для работы с git, а мой взгляд, удобнее использовать встроенный клиент в vscode. Он предоставляет удобный доступ ко всем функциям системы контроля версий. Из него удобно скопировать шаблон предыдущего коммита и вставить для текущего. Таким образом формируется единый стиль коммитов, не нужно каждый раз ломать вспоминать шаблон оформления плюс если вы используете CI/CD - единый стиль облегчит формирование релизов и заполнение CHANGELOG.md. Так же сразу видны изменения по файлам и рабочим областям, что позволяет писать ченжлог “на лету” и пушить сразу во все репозитории рабочей области. По сравнению с другими инструментами, вроде клиента sublime, tortoise или просто git.exe - система контроля версий vscode обеспечивает наилучший пользовательский опыт и скорость работы. Но тут конечно дело вкуса и привычки.
Так же есть расширение GitLens, которое красиво разрисует граф репозитория с аватарками и графиком активности, но т.к. оно платное - его я не использую.
GitLens

11. GNU Linker Map files. Подсветка синтаксиса map-файлов
GNU Linker Map files | |
|---|---|
Идентификатор | trond-snekvik.gnu-mapfiles |
Описание | Syntax highlighting and symbol listing for GNU linker .map files |
Издатель | Trond Snekvik |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/ items?itemName=trond-snekvik.gnu-mapfiles |
GNU Linker Map files

Подсветка синтаксиса для удобного отображения структуры map-файлов.
12. Hex Editor. Просмотр и редактирование бинарных файлов
Hex Editor | |
|---|---|
Идентификатор | ms-vscode.hexeditor |
Описание | Allows viewing and editing files in a hex editor |
Издатель | Microsoft |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/ items?itemName=ms-vscode.hexeditor |
Hex Editor

Открывает для просмотра и редактирования бинарные файлы. На этом в принципе и все, больше этот редактор ничего не умеет, и даже показать значение выделенных четырех байт как одно число на 32 бита он не умеет.
Поэтому рекомендую программу HxD. Это мощная программа для работы с бинарными файлами. Позволяет редактировать файл готовой прошивки, рассчитать контрольную сумму выбранной области, сравнить несколько файлов между собой. Незаменимая вещь, когда нужно работать с уже собранной программой на уровне инструкций.
HxD

13. LinkerScript. Подсветка синтаксиса LD-файлов
LinkerScript | |
|---|---|
Идентификатор | ZixuanWang.linkerscript |
Описание | Language support for GNU linker script |
Издатель | Zixuan Wang |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/ items?itemName=ZixuanWang.linkerscript |
LinkerScript

Подсветка синтаксиса для удобного отображения структуры LD-файлов.
14. Markdown All in One. Мощный инструмент для верстки Markdown
Markdown All in One | |
|---|---|
Идентификатор | yzhang.markdown-all-in-one |
Описание | All you need to write Markdown (keyboard shortcuts, table of contents, auto preview and more) |
Издатель | Yu Zhang |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/ items?itemName=yzhang.markdown-all-in-one |
Для написания wiki, readme, release notes используется язык разметки Markdown. Данное расширение предостовляет инструменты для работы с этим языком: подстветка синтаксиса, проверка стандартов, исправление ошибок, автодополнения и т.п.
Дополнительно можно установить Markdown Kroki и Markdown Preview Mermaid Support если вы используете отрисовку диаграмм с помощью Kroki и Mermaid. Markdown Kroki поддерживается GitLab self hosted “из коробки” без дополнительных зависимостей и доступом к интернет.
Markdown Kroki

Markdown Mermaid

markdownlint - линтер для markdown. Дополнительно подсказывает какие правила разметки вы нарушаете. Для отключения конкретного типа предупреждения (например для MD033), в settings.json добавьте:
// markdownlint
"markdownlint.config": {
"MD033": {
"allowed_elements": [
"details",
"summary"
]
}
},
15. Serial Monitor. Последовательный монитор
Serial Monitor | |
|---|---|
Идентификатор | ms-vscode.vscode-serial-monitor |
Описание | Send and receive text from serial ports. |
Издатель | Microsoft |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-serial-monitor |
Serial Monitor

При работе с железом часто бывает что единственным способом отладки и взаимодействия с железом является интерфейс uart, на котором запускается CLI (просто printf или полноценный терминал). Из всех опробованных терминалов, Serial Monitor пока устроил больше всего: все в одном окне, есть режим терминала, есть запись логов в файл и не нужно отдельно ставить terraterm, putty, docklight и т.п. Хотя чего не хватает в этом терминале - набор пресетов для отправки как в docklight.
По умолчанию скорости Serial Monitor ограничены 250000 бит/с. Для добавления своих скоростей и установки параметров порта по умолчанию добавьте в settings.json:
// терминал
"vscode-serial-monitor.dataBits": 8,
"vscode-serial-monitor.stopBits": 1,
"vscode-serial-monitor.parity": "none",
"vscode-serial-monitor.customBaudRates": [
921600
]
16. Todo Tree. Комментарии TODO
Todo Tree | |
|---|---|
Идентификатор | Gruntfuggly.todo-tree |
Описание | Show TODO, FIXME, etc. comment tags in a tree view |
Издатель | Gruntfuggly |
Ссылка на Visual Studio Marketplace | https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.todo-tree |
Todo Tree

Инструмент для расстановки комментариев типа “fixme”, “bug”, “todo” и т.п. Расширение будет мозолить глаза своими иконками и не позволит вам забыть о баге, который нужно исправить. Мощный инструмент за счет своей кастомизации, позволяющий придумать множество паттернов его использования.
Настройки в settings.json
/* Список TODO */
// Регулярное выражение для поддержки doxygen-комментариев
"todo-tree.regex.regex": "((//|//!|///|#|<!--|;|/\\*|/\\*\\*|/\\*!|/\\*!<|^|^[ \\t]*(-|\\d+\\.)|^[ \\t]*\\*|[ \\t]*\\*)\\s*\\\\?($TAGS))",
"todo-tree.regex.enableMultiLine": true,
"todo-tree.general.showActivityBarBadge": true,
"todo-tree.general.showIconsInsteadOfTagsInStatusBar": true,
"todo-tree.general.statusBar": "current file",
/* Так же можно задавать свои теги */
// "todo-tree.general.tags": [
// "BUG",
// "HACK",
// "FIXME",
// "TODO",
// "XXX",
// "[ ]",
// "[x]",
// "todo",
// "\\todo",
// "* \\todo",
// " * \\todo ",
// "fixme",
// "\\fixme",
// "* \\fixme",
// " * \\fixme ",
// "bug",
// "\\bug",
// "* \\bug",
// " * \\bug "
// ],
"todo-tree.general.tags": [
"TODO",
"FIXME",
"BUG"
],
"todo-tree.general.tagGroups": {
"FIXME": [
"FIXME",
"FIXIT",
"FIX",
"fixme",
"\\fixme",
"* \\fixme",
" * \\fixme ",
"fix"
]
},
"todo-tree.tree.showCountsInTree": true,
"todo-tree.highlights.customHighlight": {
"TODO": {
"icon": "pencil",
"type": "tag",
"foreground": "#F3E40E",
"iconColour": "#F3E40E",
"gutterIcon": true
},
"todo": {
"icon": "pencil",
"type": "tag",
"foreground": "#F3E40E",
"iconColour": "#F3E40E",
"gutterIcon": true
},
"FIXME": {
"icon": "alert",
"type": "text-and-comment",
"foreground": "#FF2D00",
"iconColour": "#FF2D00",
"gutterIcon": true
},
"fixme": {
"icon": "alert",
"type": "text-and-comment",
"foreground": "#FF2D00",
"iconColour": "#FF2D00",
"gutterIcon": true
},
"BUG": {
"icon": "bug",
"type": "text-and-comment",
"foreground": "#FF2D00",
"iconColour": "#FF2D00",
"gutterIcon": true
},
"bug": {
"icon": "bug",
"type": "text-and-comment",
"foreground": "#FF2D00",
"iconColour": "#FF2D00",
"gutterIcon": true
}
},
Теперь, если вы напишите в комментарии BUG - на панели появится пометка об этой записи и внутри файла так же будет наглядное выделение строки.
Заключение
Настройка среды разработки — это баланс между временем, затраченным на конфигурацию, и комфортом в процессе написания кода. Переход от проприетарных IDE к гибкой связке VS Code + MSYS2 может показаться сложным на первых этапах, но возможности кастомизации и полный контроль над инструментами окупают эти усилия. Правильно подобранные расширения превращают редактор в мощный инструмент, позволяя разработчику сосредоточиться на главном — реализации сложной логики встраиваемых систем, а не на борьбе с инструментами (что с opensource периодически бывает:).
Буду рад узнать ваше мнение: какие инструменты помогают вам в работе с встраиваемыми системами? Какие расширения используете вы? Напишите о них в комментариях.
























