Огляд роботи з кодом

Локальні дані

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

KDevelop показує підказку, зокрема тип змінної (тут: DoFHandler<dim>active_cell_iterator), де цю змінну оголошено (контейнер, яким тут є функція-обгортка get_maximal_velocity, оскільки це локальна змінна), тип даних (змінна, не функція, клас або простір назв) та місце оголошення (у рядку 1314, декілька рядків коду).

У поточному контексті з символом, на який наведено вказівник миші, не пов’язано жодної документації. У нашому прикладі, де вказівник миші наведено на символ get_this_mpi_process у рядку 1318, буде показано такі дані:

Тут KDevelop показано оголошення зі стороннього файла (utilities.h, який є частиною зовсім іншого проєкту того самого сеансу) разом з коментарем у форматі doxygen, який супроводжує цей оголошення.

Ще кориснішими підказки робить те, що вони є динамічними: можна натиснути пункт контейнера, щоб отримати дані щодо контексту, у якому оголошено змінну (тобто дані щодо простору назв System, зокрема місця його оголошення, визначення, використання та документації), і можна натиснути сині посилання, які повернуть курсор на позицію оголошення символу (наприклад, у utilities.h, рядок 289) або покажуть список місць, у яких використано символ у поточному файлі або усіх проєктах поточного сеансу. Остання можливість буде корисною, якщо вам потрібно визначити, як, наприклад, певну функцію використано у об’ємному коді.

Примітка

Панель підказки з часом зникатиме: щоб її знову відкрити доведеться знов утримувати натиснутою клавішу Alt або наводити вказівник миші на фрагменти коду. Якщо вам потрібно зафіксувати дані з цієї панелі, відкрийте панель інструмента Перегляд коду. У нашому прикладі курсор перебуває у тій самій функції, що і раніше, а на панелі інструмента ліворуч показано той самий набір даних, що і на панелі підказки раніше:

Пересування курсора у правій частині вікна призводитиме до зміни даних у його лівій частині. Натискання кнопки Заблокувати поточний перегляд у верхній правій частині надасть вам змогу зафіксувати дані, убезпечивши їх від зміни розташування курсора на час перегляду.

Примітка

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

Дані щодо окремих файлів

Наступним рівнем є отримання даних щодо всього файла коду, над яким ви працюєте. Щоб переглянути її, розташуйте курсор на початку поточного файла і подивіться на дані, які буде показано на панелі інструмента Перегляд коду:

Тут середовищем показано список просторів назв, класів та функцій, оголошених або визначених у поточному файлі. За допомогою цього списку ви можете ознайомитися з загальними даними щодо дій, які виконуються у файлі, та безпосередньо перейти до будь-якого з оголошень або визначень без потреби у гортанні коду файла або пошуку певного фрагмента.

Примітка

Дані, які показано для всього файла, є тими самими, які буде показано у режимі «Огляд», обговорення якого у контексті навігації кодом викладено далі. Відмінність полягає у тому, що у режимі огляду ці дані буде показано лише на тимчасовій панелі підказки.

Дані щодо проєктів та сеансів

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

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

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

Пояснення щодо кольорів підсвічування

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

  • Об’єкти типів Class / Struct, Enum (значенні і тип), (загальні) функції та учасники класів буде позначено власним кольором (класи — зеленим, переліки (enum) — темно-червоним, а учасники — темно-жовтим або фіолетовим, (загальні) функції — завжди фіолетовим).

  • Всі загальні змінні буде позначено темно-зеленим кольором.

  • Ідентифікатори, які є визначеннями інших типів, буде позначено синьо-зеленим кольором.

  • Всі оголошення та визначення об’єктів буде позначено напівжирним шрифтом.

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

  • Якщо учасник позначено як закритий (private) або захищений (protected), колір запису буде трохи темнішим, ніж зазвичай.

  • Для локальних для вмісту функції змінних кольори вибиратимуться на основі хеш-коду ідентифікатора. Це ж стосується і параметрів функції. Ідентифікатор завжди матиме той самий колір у межах простору своєї дії, але той самий ідентифікатор матиме інший колір, якщо позначатиме інший об’єкт, тобто якщо його буде перевизначено на вкладеному рівні, отже ви зазвичай бачитимете для назви одного ідентифікатора у різних просторах однаковий колір. Отже, якщо у коді є декілька функцій, що приймають параметри з однаковими назвами, параметри цих функцій матимуть однаковий колір. Таке розфарбовування може бути окремо вимкнено за допомогою сторінки кольорів у діалоговому вікні параметрів програми.

  • Ідентифікатори, для яких KDevelop не може визначити відповідне оголошення, буде позначено білим кольором. Таке позначення часто буває спричинено пропущеними інструкціями #include.

  • Крім описано вище розфарбування, буде застосовано звичайні правила підсвічування синтаксичних конструкцій, визначені у Kate. Якщо виникатимуть конфлікти з підсвічуванням текстового редактора, завжди використовуватиметься семантичне підсвічування KDevelop.