Розділ 2. Сеанси і проєкти: основи KDevelop

У цьому розділі ми оглянемо деякі питання щодо термінології, використаної у KDevelop, та структури роботи у середовищі. Зокрема, ми поговоримо про поняття сеанси і проєкти та пояснимо, як налаштовувати проєкти, над якими ви маєте намір працювати у KDevelop.

Термінологія

У KDevelop використано поняття сеанси та проєкти. У сеансі містяться всі проєкти, чимось пов’язані між собою. У наведених нижче прикладах ми припускаємо, що ви є розробником одночасно бібліотеки та програми, яка використовує цю бібліотеку. Прикладом подібної схеми розробки є бібліотеки KDE: (бібліотека) і саме середовище KDevelop (програма). Інший приклад: ви є розробником ядра Linux® і одночасно працюєте над драйвером пристрою для Linux®, який ще не включено до ядра.

У останньому прикладі у нас був би сеанс KDevelop з двома проєктами: ядром Linux® і драйвером пристрою. Варто згрупувати ці проєкти у одному сеансі (замість двох сеансів для кожного окремого проєкту), оскільки корисно бачити функції та структури даних ядра у KDevelop, коли ви пишете код драйвера: ви, наприклад, зможете скористатися автодоповненням назв функцій та змінних ядра або переглянути документацію з функції ядра під час розробки драйвера пристрою.

Припустімо тепер, що ви є одним з розробників KDE. Тоді у вас буде інший сеанс, який міститиме проєкт KDE. Звичайно, ви можете створити єдиний сеанс для всіх ваших проєктів, але для цього немає ніяких причин: для вашої роботи у KDE вам не потрібен доступ до функцій ядра або драйверів пристроїв, вам не потрібне автоматичне доповнення назв класів KDE під час роботи над ядром Linux®. Нарешті, збирання бібліотек KDE не пов’язане зі збиранням ядра Linux® (з іншого боку збирання драйвера пристрою часто пов’язане зі збиранням ядра Linux®, якщо було внесено зміни до файлів заголовків ядра).

Нарешті, ще одним з випадків використання сеансів є одночасна робота над експериментальною версією проєкту та його стабільною версією: у цьому випадку небажаним буде конфлікт між класами, які належать різним гілкам проєкту у KDevelop. Отже, варто створити два сеанси з однаковим набором проєктів, але різними каталогами зберігання (відповідно до гілок розробки).