Русский
Русский
English
Статистика
Реклама

Работа с системой сборки QBS в редакторе Visual Studio Code

Здравствуйте, товарищи программисты и все кто им сочувствует. Я хотел бы предложить обзор возможностей редактора Visual Studio Code в связке с системой сборки QBS. Кому эта тема интересна, добро пожаловать по кат.



Примечание: Напомню, что QBS разрабатывалась компанией Qt Company, которая в дальнейшем отказалась от разработки данного продукта и отдала его на откуп сообществу. На данный момент QBS активно развивается и выходят новые релизы. Это я на тот случай, чтобы не было глупых комментариев на этот счет. Так сказать, расставляю точки над И.

До недавнего времени система сборки QBS поддерживалась только в IDE QtCreator.

Но теперь есть возможность использования этой замечательной системы сборки (описывать, почему она замечательная я здесь не буду) с открытым редактором исходного кода Visual Studio Code.

Буквально, чуть больше месяца назад ребята из QBS-community подкинули идейку: а почему бы собственно, не создать плагин для Visual Studio Code?. Хмм, действительно, сама Visual Studio Code имеет широкое распространение среди определенной части человечества, да и QBS имеет специально разработанное JSON подобное API для упрощения интеграции с любыми IDE. И работа закипела.

В результате этой работы на свет появилось расширение QBS для Visual Studio Code, которое уже имеет следующие возможности:

  • Открыть директорию с файлами проектов.
  • Выбрать нужный проект для сборки (если в директории несколько файлов).
  • Выбрать профиль для сборки (аналог комплекта с компиляторами).
  • Выбрать конфигурацию сборки (debug/release).
  • Выбрать конкретный продукт для сборки (или все продукты).
  • Выбрать конкретный продукт для запуска в терминале.
  • Выбрать конкретный продукт для его отладки.
  • Работает автоматическая интеллектуальная подсветка C/C++ кода.
  • Работает базовая подсветка для файлов *.qbs.
  • Строится дерево проекта со всеми артефактами.


Примечание: На данный момент это расширение еще не опубликовано в маркете Visual Studio Code, т.к. еще необходимо некоторое время для доработки.

Итак, давайте подробнее разберем, как же использовать данное расширение.

Установка зависимостей



Здесь описывается базовый процесс установки QBS и Visual Studio Code.

  • Для начала необходимо скачать или установить сам QBS версии 1.16 или выше. Для этого можно воспользоваться официальным хранилищем, или установить его из репозиториев.

    Примечание: Я не буду здесь описывать процесс установки QBS.
  • Далее, необходимо настроить профили, которыми QBS будет компилировать проекты. Как это делать, подробно описано в документации.

    Для быстрой настройки можно попросить QBS автоматически определить все установленные компиляторы и создать профили:

    qbs setup-toolchains --detect
    


    и потом посмотреть что получилось используя UI утилиту config-ui, или сделать все из командной строки:

    qbs config --list profiles
    


    Примечание: Возможно, перед этим нужно задать путь к желаемому компилятору в переменной окружения PATH.
  • Далее, необходимо скачать последнее QBS расширение отсюда.

    Примечание: Это файл с расширением *.vsix
  • Далее, необходимо установить редактор Visual Studio Code, запустить его и установить скачанное ранее QBS расширение, набрав комбинацию клавиш ctrl+ shift + p и в выпадающем меню выбрав пункт Extensions: Install from VSIX... указав путь к *.vsix файлу.


Подготовка к работе



Теперь необходимо настроить установленное расширение для работы QBS. Для этого нужно открыть настройки этого расширения, выбрав File -> Preferences -> Extensions. Далее выбратьQBS, нажать на кнопочку Manage и выбрать пункт Extension Settings.

  • Далее, необходимо указать путь к исполняемому файлу QBS в поле QBS Path, например:



    Примечание: В качестве разделителей пути надо использовать прямую черту /.
  • Остальные параметры можно на данный момент оставить как есть.


Открытие проекта



Чтобы открыть проект, необходимо выбрать директорию в которой находится файл проекта *.qbs. Для этого нужно выбрать File -> Open Folder и выбрать желаемую директорию.

Примечание: Кажется, это такая особенность данного редактора.

После того как директория будет выбрана, автоматически активируется QBS расширение и запустит QBS сессию. Текущий статус сессии будет отображаться внизу на кнопке QBS: started панели инструментов редактора:



Далее, расширение перечислит все имеющиеся файлы проектов *.qbs в данной директории и установит первый попавшийся проект как проект по умолчанию. Имя файла текущего активного проекта будет отображаться внизу на соответствующей кнопке панели инструментов редактора:



Примечание: Пользователь может кликнуть на эту кнопку и в выпадающем списке выбрать другой файл проекта из этой директории.

Далее, расширение установит по умолчанию первый попавшийся профиль, конфигурацию сборки установит в debug, и запустит автоматическое сканирование проекта для построения графа сборки.

Процесс выполнения сканирования (прогресс в процентах) будет отображаться во всплывающем уведомлени в нижней правой части экрана:



Примечание: Все прогрессы таких операций как сканирование, сборка, очистка будут отображаться в этих всплывающих сообщениях.

Кроме того, расширение создает два выходных окна для просмотра текущих сообщений:

  • QBS Compile Output отображает сообщения от основных операций сканирования, сборки и очистки:


  • QBS Message Output отображает сервисные сообщения (например из JS кода от модулей QBS):




После того, как сканирование проекта успешно завершится, то можно переключится на дерево проекта, предоставляемого расширением. Для чего необходимо нажать на кнопку QBS на левой панели редактора:



Примечание: В этом случае, дерево проекта отображает все под-проекты, продукты, группы и артифакты, предоставляемые QBS после сканирования проекта.

Примечание: Редактор также отображает и полную директорию проекта после его открытия, но это не то дерево, которое предоставляется данным расширением, это встроенная функция самого редактора.

Сборка проекта



Для сборки проекта необходимо выбрать нужный профиль, конфигурацию и продукт для сборки.

  • Выбор профиля сводится к нажатию соответствующей кнопки внизу на панели инструментов редактора и выбору нужного пункта из списка доступных профилей:



  • Выбор конфигурации сводится к нажатию соответствующей кнопки внизу на панели инструментов редактора и выбору нужного пункта из списка доступных конфигураций:



  • Выбор продукта сводится к нажатию соответствующей кнопки внизу на панели инструментов редактора и выбору нужного пункта из списка доступных продуктов:



    Примечание: Пользователь может выбрать [all] для сборки всех продуктов в проекте.



Для запуска самой сборки пользователь может нажать на кнопку Build внизу на панели инструментов редактора:



Примечание: Процесс сборки будет отображаться как в выпадающем уведомлении, так и в выходном окне сообщений.

Выбор продукта для запуска или отладки



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



При этом, если продукт уже скомпилирован и его исполняемый файл существует, то кнопки Run и Debug закрасятся зеленым цветом:



Кроме того, при наведении на запускаемый продукт отобразится всплывающая подсказка, содержащая полный путь к исполняемому файлу продукта:



Запуск выбранного продукта



Для запуска продукта достаточно нажать на кнопку Run внизу на панели инструментов редактора:



Продукт будет запущен в терминале QBS Run, в который будут выведены все отладочные сообщения работающего приложения:



Отладка выбранного продукта



Перед отладкой продукта необходимо создать конфигурацию отладчика, которая должна храниться в файле launch.json.

Примечание: Подробнее о формате этого файла можно ознакомиться в оффициальной документации редактора.

По умолчанию текущее QBS расширение ожидает этот файл в директории .vscode/ в корне открытого проекта. Но этот путь к файлу launch.json может быть изменен пользователем в настройках плагина.

Например, при использовании отладчика из MSVC, этот файл может иметь такое содержимое:

{    "version": "0.2.0",    "configurations": [        {            "name": "C++ Debugger (Windows)",            "type": "cppvsdbg",            "request": "launch",            "externalConsole": false        }    ]}


Примечание: Свойство externalConsole должно быть установлено в false если мы хотим видеть отладочные сообщения приложения в окне отладчика.

Примечание: Этот файл может иметь несколько конфигураций для одного и того же, или разных отладчиков (таких как MSVC, GDB, LLDB).

После того как файл launch.json создан и скопирован в нужное место, нужно выбрать нужный отладчик из списка, нажав на соответствую кнопку внизу справа на на панели инструментов редактора:



Теперь можно устанавливать точку останова в исходном коде выбранного продукта и нажимать на кнопку Debug внизу на панели инструментов редактора:



После этого можно наслаждаться отладкой:



Заключение



Конечно, в данном обзоре не раскрыты некоторые другие моменты работы с редактором (например, работа через команды), а также не дано пояснение для опций настройки QBS. Подробнее ознакомиться об этом можно, прочитав документацию, идущую в комплекте с расширением и/или документацию по QBS:



В заключение хочу сказать большое спасибо всем кто помогал мне тестировать это расширение, предлагал новые идеи.

Также, настоятельная просьба все ошибки, пожелания, исправления слать на баг-трекер.
Источник: habr.com
К списку статей
Опубликовано: 03.11.2020 16:17:49
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Qt

Visual studio

Системы сборки

Vscode

Qbs

C++

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru