| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия |
| ide:vscode_qbs [2024/05/19 12:31] – admin | ide:vscode_qbs [2024/05/27 12:40] (текущий) – admin |
|---|
| ====== VSCode Qbs ====== | ====== VSCode Qbs ====== |
| [[https://doc.qt.io/qbs/installing.html|Qbs]] - это инструмент автоматизации сборки, предназначенный для удобного управления процессом сборки программных проектов на нескольких платформах.Qbs основан на языке QML. QML — это краткий, простой в освоении и интуитивно понятный язык. Его ядро является декларативным, но для большей гибкости его можно расширить с помощью фрагментов JavaScript. | [[https://doc.qt.io/qbs/installing.html|Qbs]] - это инструмент автоматизации сборки, предназначенный для удобного управления процессом сборки программных проектов на нескольких платформах. Qbs основан на языке QML. QML — это краткий, простой в освоении и интуитивно понятный язык. Его ядро является декларативным, но для большей гибкости его можно расширить с помощью фрагментов JavaScript. |
| |
| Qbs создает приложения на основе информации из файла проекта. Каждый файл проекта определяет один проект, который может содержать несколько продуктов. Вы указываете тип продукта, например приложение, и зависимости продукта от других продуктов. | Qbs создает приложения на основе информации из файла проекта. Каждый файл проекта определяет один проект, который может содержать несколько продуктов. Вы указываете тип продукта, например приложение, и зависимости продукта от других продуктов. |
| * [[https://www.st.com/en/development-tools/stm32cubemx.html|STM32CubeMX]] - генератор проектов для STM32 | * [[https://www.st.com/en/development-tools/stm32cubemx.html|STM32CubeMX]] - генератор проектов для STM32 |
| * [[https://github.com/Kits-Lab-Dev/qbs-template|Шаблон проекта Qbs]] | * [[https://github.com/Kits-Lab-Dev/qbs-template|Шаблон проекта Qbs]] |
| | |
| | [[https://disk.yandex.ru/d/Fjw2cZVs_fMvog|Скачать Qbs, STM32CubeCLT, STM32CubeMX]] |
| | |
| | В настройках VSCode в расширение Qbs настроить путь к исполняемому файлу ''qbs.exe'': |
| | {{ :ide:vscode_qbs_path.png?direct&400 |}} |
| |
| Создаем проект в ''Cube MX'': | Создаем проект в ''Cube MX'': |
| {{ :ide:vscode.png?direct&400 |}} | {{ :ide:vscode.png?direct&400 |}} |
| |
| При первом открытии возможно понадобится сборка проекта, что бы не возникала ошибка при прошивке микроконтроллера. Для сборки нужно нажать кнопку ''Сборка'' в нижней панели ''VSCode''. При последующих запусках прошивки сборка будет производиться автоматически. | При первом открытии, возможно, понадобится сборка проекта, что бы не возникала ошибка при прошивке микроконтроллера. Для сборки нужно нажать кнопку ''Сборка'' в нижней панели ''VSCode''. При последующих запусках прошивки, сборка будет производиться автоматически. |
| |
| Для подключения сторонних библиотек нужно добавить файле проекта ''xx.qbs'' пути к библиотекам, например: | Для подключения сторонних библиотек нужно добавить в файле проекта ''хxx.qbs'' пути к библиотекам, например: |
| <code javascript> | <code javascript> |
| property stringList myIncludes:[ | property stringList myIncludes:[ |
| "lib/SSD1306", | "lib/SSD1306", |
| "lib/microrl | "lib/microrl" |
| ] | ] |
| </code> | </code> |
| |
| Для добавления своих определений их нужно поместить в массив: | Для добавления своих определений их нужно поместить в список: |
| <code javascript> | <code javascript> |
| property stringList myDefines:[ | property stringList myDefines:[ |
| </code> | </code> |
| |
| Для исключения файлов из проекта, их нужно внести в список ''excludeFiles'', например: | Строки ''**/*.cpp'' рекурсивно сканируют все папки проекта, в таком случае новые файлы добавляются в проект автоматически, достаточно перезапустить чтение ''*.qbs'' файла |
| | |
| | |
| | Для исключения файлов из проекта их нужно внести в список ''excludeFiles'', например: |
| <code javascript> | <code javascript> |
| excludeFiles: [ | excludeFiles: [ |