Contents |
Окрім зневаджування, читання та написання коду є найважливішими завданнями під час розробки програмного забезпечення. З метою полегшення навігації кодом та його написання у KDevelop передбачено багато різних інструментів. Як буде докладніше показано у наступних розділах, KDevelop не просто редактор коду, — це скоріше система керування кодом, яка може подавати різні дані, отримані на основі аналізу загальної сукупності коду всього вашого сеансу роботи.
Для роботи з проектами у KDevelop передбачено інструменти. Інструмент надає певні дані щодо коду або виконує з ним певну дію. Інструментам відповідають кнопки вздовж периметра вікна програми (з вертикальним текстом на полях ліворуч і праворуч та горизонтальним вздовж нижнього поля). Якщо ви натиснете таку кнопку, у головному вікні буде відкрито підвікно — панель перегляду; якщо кнопку буде натиснуто ще раз, відповідне підвікно буде закрито.
| Зауваження |
|---|
| Закрити панель можна також натисканням кнопки , розташованої у верхньому правому куті панелі; але, принаймні у випусках KDevelop 4.2.x, подібний спосіб закриття призводить до вилучення кнопки інструмента з бічної панелі, за допомогою якої можна було б знову відкрити панель. Нижче наведено настанови з повернення кнопки на панель, а також додавання будь-яких інших кнопок інструментів. Про ваду, пов’язану зі зниканням кнопок, повідомлено на цій сторінці (№ 270018) |
На наведеному вище зображенні ви можете бачити певний набір інструментів, вирівняних за лівим і правим полем. Ліворуч відкрито панель інструмента Класи, праворуч — Фрагменти. Посередині можна бачити панель редактора. З практичних міркувань, переважну частину часу розробки варто працювати лише з редактором та панеллю Класи чи Перегляд коду, відкритою ліворуч. На час використання певного інструмента можна відкрити його панель, яку після використання варто закрити з метою збільшення простору для панелі редактора.
Після першого запуску KDevelop ви вже зможете скористатися кнопкою інструмента . Натисніть цю кнопку: у відповідь буде відкрито панель зі списком проектів, які було додано до сеансу у нижній частині вікна та панель перегляду файлової системи вашого проекту у верхній його частині.
У KDevelop ви можете скористатися багатьма іншими інструментами, не всі з них представлено кнопками вздовж периметра вікна у початковому стані. Щоб додати кнопку, скористайтеся пунктом меню . Ось перелік можливих корисних інструментів:
#include, на панелі буде показано дані щодо файла, який включено до коду, зокрема дані щодо оголошених у файлі класів. Якщо курсор перебуває на порожньому рядку у файлі, на панелі буде показано класи і функції, оголошені і визначені у поточному файлі (всі як посилання: натискання відповідного пункту відкриватиме файл з оголошенням або визначенням класу чи функції). Якщо курсор перебуває на визначенні функції, на панелі буде показано місце оголошення та список місць, у яких використано функцію.
for (typename Triangulation< dim>::active_cell_iterator cell
= triangulation.begin_active();
cell != triangulation.end();
++cell)./configure).
З повним списком інструментів та панелей перегляду можна ознайомитися тут.
Для багатьох програмістів найважливішою є економія вертикального місця на екрані. Щоб досягти такої економії, ви можете розташувати панелі інструментів вздовж лівої та правої межі вікна програми. Щоб пересунути панель, клацніть на заголовку правою кнопкою миші і виберіть нове її розташування.
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. |
KDevelop — набагато більше, ніж просто редактор, — це також редактор коду. Тому, звичайно ж, ви можете пересувати курсор текстом за допомогою звичайних клавіш зі стрілочками. Ви також можете скористатися натисканням клавіш PageUp та PageDown і всіма іншими командами, якими можна скористатися у звичайному текстовому редакторі.
На рівні окремого файла у KDevelop передбачено багато способів навігації кодом програми. Приклад:
Як ми вже згадували раніше, зазвичай KDevelop не працює з окремими файлами коду, замість цього середовище працює з цілими проектами (або, точніше, з усіма проектами, які є частиною поточного сеансу). Внаслідок цього середовище надає можливість навігації у межах цілих проектів. Частина цих можливостей є наслідком можливостей, які ми вже обговорювали у розділі щодо навігації кодом, інші ж є абсолютно відмінними від них. Основною особливістю цих можливостей навігації є те, що їх засновано на семантичному розумінні коду, тобто для роботи з ними потрібна певна обробка цілих проектів та пов’язаних з ними даних. У наведеному нижче списку показано декілька способів навігації кодом, який може зберігатися у великій кількості окремих файлів:
| Зауваження |
|---|
| Перехід до оголошення символу не обмежується лише функціями, які ви реалізуєте. Цей спосіб працює і у разі розташування курсора на назві (локальної, загальної чи вбудованої) змінної: вибір відповідного пункту меню призведе до пересування області перегляду до оголошення символу. Отже ви можете, наприклад, розташувати курсор на назві класу у оголошенні змінної функції і перейти до оголошення цього класу. |
| Зауваження |
|---|
| Щоб переглянути список всіх використань назв, якими здійснюватиметься циклічний перехід внаслідок використання цієї команди, розташуйте курсор на назві символу і відкрийте панель Перегляд коду або натисніть і утримуйте клавішу Alt. Докладніше про використання цього прийому можна дізнатися з розділу щодо навігації кодом. |
Оскільки KDevelop «розуміє» код ваших проектів, це середовище може допомогти вам у написанні коду. Нижче наведено огляд деяких з цих допоміжних можливостей.
Ймовірно, найкориснішою можливістю є можливість з автоматичного завершення фрагментів коду. Розглянемо, наприклад, такий фрагмент коду:
class Car { // ... public: std::string get_color () const; }; void foo() { Car my_ride; // ...якісь дії з цією змінною... std::string color = my_ride.ge
У останньому рядку KDevelop запам’ятає, що змінна my_ride належить до типу Car і буде автоматично пропонувати доповнення назви вбудованої функції ge у форматі get_color. Фактично, вам достатньо вводити назву, аж доки список знайдених відповідників не починатиметься з потрібного вам виразу, а потім натиснути клавішу Enter:
Зауважте, що ви можете клацнути на панелі підказки, щоб отримати більше даних щодо функції, окрім типу даних, які вона повертає, і те, чи є ця функція відкритою (public):
Автоматичне доповнення може значно скоротити витрату часу на введення даних, якщо у вашому проекті використано змінні або функції з довгими назвами. Крім того, автоматичне доповнення допомагає запобігти друкарським помилкам у назвах (а отже помилкам під час збирання), за його допомогою простіше запам’ятати точні назви функцій. Наприклад, якщо назви всіх ваших функцій отримання даних починаються з get_, можливість автоматичного доповнення надасть вам змогу скористатися повним списком таких функцій, щойно ви наберете перші чотири літери назви, що, звичайно, допоможе вам згадати, яку з них ви мали намір використати. Зауважте, що для роботи з автоматичним доповненням не обов’язково, щоб оголошення класу Car та змінної my_ride перебували у одному файлі, над яким ви зараз працюєте. KDevelop просто має знати, що ці клас і змінну пов’язано, тобто файли, у яких зберігається код цих елементів програми, мають бути частиною проекту, над яким ви працюєте.
| Зауваження |
|---|
| KDevelop не завжди може здогадатися, коли слід допомогти вам автоматичним доповненням коду. Якщо підказку автоматичного доповнення не було відкрито автоматично, натисніть комбінацію клавіш Ctrl + Пробіл, щоб відкрити список варіантів вручну. Загалом же, для того, щоб можна було скористатися автоматичним доповненням, KDevelop має обробити файли коду вашого проекту. Цю дію буде виконано у фоновому режимі для всіх файлів, які є частиною проектів поточного сеансу після запуску KDevelop, а також після того, як ви припините вводити дані на частку секунди (тривалість паузи можна змінити). |
| Зауваження |
|---|
| KDevelop виконує обробку лише тих файлів, які є файлами коду програми, відповідно до типу MIME файла. Цей тип не встановлюється до першого збереження файла. Отже створення нового файла і введення коду до цього файла не увімкне автоматичної обробки файла для використання даних з метою автоматичного доповнення. Щоб увімкнути обробку, файл доведеться зберегти. |
| Зауваження |
|---|
| Для того, щоб можна було скористатися автоматичним доповненням, KDevelop повинен мати доступ до файлів заголовків. Середовище виконає пошук цих файлів у декількох типових теках. Якщо файл заголовка не вдасться знайти автоматично, його пункт у списку буде підкреслено червоною лінією. У такому разі вам слід клацнути на цьому пункті правою кнопкою миші і повідомити KDevelop явним чином, де слід шукати цей файл та дані, які у ньому зберігаються. |
У KDevelop передбачено майстер додавання нових класів. Щоб додати новий клас, скористайтеся пунктом меню . У відповідь буде показано таке діалогове вікно:
У нашому прикладі ми ввели назву нового класу Bus (ви також можете вказати всі інші класи, від яких має походити цей клас). За допомогою наступної сторінки діалогового вікна ви можете вибрати потрібні вам стандартні вкладені функції:
У нашому прикладі нам знадобиться типовий конструктор, конструктор копіювання та деструктор. Після визначення на наступних сторінках діалогового вікна ліцензійного заголовка та розташування нових файлів KDevelop створить дві нових вкладки з файлами заголовків та коду:
Основу файла заголовків вже створено, а у новому класів є всі вибрані нами вбудовані функції. Наступними двома кроками мають бути документування класу та його вбудованих функцій та реалізація цих класів і функцій. Нижче ми обговоримо допоміжні засоби з документування класів і функцій. Щоб реалізувати спеціальні функції, які ми вже додали, просто перейдіть на вкладку , де вже є каркас наших функцій:
Щоб додати нові вкладені функції, поверніться на вкладку і додайте назву функції. Наприклад, можна додати таке:
Зауважте, що реалізацію вже розпочато. Але у межах багатьох стилів програмування функції не слід реалізовувати у файлах заголовків, це слід робити у відповідних файлах .cpp. Для цього розташуйте курсор на назві функції і скористайтеся пунктом меню або натисніть комбінацію клавіш Ctrl + Alt + S. Код між фігурними дужками буде пересунуто з файла заголовків (його буде замінено на крапку з комою для завершення оголошення функції) до відповідного файла коду:
Введення коду розпочато. Змінна students має, ймовірно, бути вбудованою змінною класу Bus, але її ще не додано до цього класу. KDevelop підкреслено цю змінну, щоб позначити те, що середовищу ще нічого не відомо про цю змінну. Цю проблему просто розв’язати: натискання назви змінної відкриє таку панель підказки:
(Того самого результату можна досягти за допомогою пункту контекстного меню .) Давайте виберемо «3 - private unsigned int» (за допомогою миші або натискання комбінації клавіш Alt + 3). Ось що буде додано до файла заголовків:
Варто зауважити, що KDevelop визначає тип змінної, яку слід оголосити, за виразом, використаним для її ініціалізації. Наприклад, якщо було використано додавання у такому доволі безсумнівному форматі, середовище запропонує тип змінної double:
Нарешті, метод використання пункту меню не завжди призводить до вставляння вбудованої функції до бажаного місця у коді. Наприклад, вам може бути потрібним визначення коду як inline і розташування його у нижній частині файла заголовків. У такому разі вкажіть оголошення і почніть введення визначення функції ось так:
KDevelop автоматично пропонує всіх можливі варіанти доповнення. Вибір одного з двох записів add_students призведе до створення такого коду, у якому вже буде заповнено список параметрів:
| Зауваження |
|---|
| Те, що на панелі підказки показано одну функцію двічі, виправлено у версії KDevelop 4.2.2 та пізніших. |
| Зауваження |
|---|
У нашому прикладі, використання одного з варіантів інструмента автоматичного доповнення призводить до додавання належного коду, але, на жаль, вилучає позначку inline, яку вже написано. Про цю ваду повідомлено як про ваду KDevelop №274245. |
Хороший код завжди добре документовано, як на рівні реалізації алгоритмів у функціях, так і на рівні інтерфейсу, — тобто класи (вбудовані і загальні) функції та (вбудовані і загальні) змінні слід документувати, щоб всім було зрозумілим їхнє призначення, можливі значення аргументів, попередні та остаточні умови тощо. У документуванні інтерфейсів фактичним стандартом є формат коментарів doxygen, дані його можна видобути і показати на придатних для пошуку інтернет-сторінках.
У KDevelop передбачено підтримку коментарів у цьому форматі за допомогою скорочення для створення оболонки-коментаря, який документуватиме клас або вбудовану функцію. Наприклад, припустімо ви вже створили такий код:
class Car { public: std::string get_color () const; };
Тепер нехай вам потрібно додати документацію для класу і вбудованої функції. Для цього пересуньте курсор на перший рядок коду і скористайтеся пунктом меню або натисніть комбінацію клавіш Alt + Shift + D. KDevelop відкриє таке діалогове вікно:
Курсор вже перебуває у затіненій області, щоб ви могли ввести короткий опис (після ключового слова doxygen @brief) цього класу. Тепер ви можете продовжити додавати документацію до цього коментаря, який краще пояснюватиме призначення класу:
Доки редагування відбуватиметься у коментарі текст коментаря буде позначено зеленим кольором (колір буде знято, щойно ви виведете курсор за межі коментаря). Коли ви наприкінці рядка натиснете клавішу Enter, KDevelop автоматично додасть новий рядок, що починатиметься з зірочки та відступу у один символ.
Тепер виконаємо документування вбудованої функції. Знову розташуйте курсор на рядку оголошення і виберіть пункт меню або натисніть комбінацію клавіш Alt + Shift + D:
Знову ж таки, KDevelop автоматично створить каркас коментаря разом з документації щодо самої функції, а також типом даних, які вона повертає. У нашому випадку назва функції доволі очевидно описує її призначення, але часто аргументи функції можуть бути доволі неочевидними, їх слід документувати окремо. Наприклад, розгяньмо трохи цікавішу функцію та коментар, який автоматично створить для неї KDevelop:
У нашому прикладі у запропонованому коментарі вже містяться всі поля Doxygen для окремих параметрів.
Іноді виникає потреба у перейменуванні функції, класу або змінної. Наприклад, нехай маємо такий код:
Нехай пізніше ми зрозуміємо, що назва remove_students є невдалою, і її варто назвати, скажімо, throw_out_students. Ви могли б виконати пошук з заміною назви функції, але у такого способу є два недоліки:
Обидві ці проблеми можна розв’язати наведенням курсора на всі використання назви функції з наступним вибором пункту (або клацанням правою кнопкою миші на назві з вибором пункту ). У відповідь буде відкрито діалогове вікно, за допомогою якого ви зможете ввести нову назву функції і переглянути всі місця, де використано функцію:
У більшості проектів зустрічаються фрагменти коду, які доводиться використовувати доволі часто. Приклади: інструкції компілятора, цикл для всіх інструкцій, для функцій запису інтерфейсу користувача перевірки введених користувачем даних без відкриття вікна повідомлення про помилку. У проекті автора цього підручника часто використовується такий різновид коду:
for (typename Triangulation<dim,spacedim>::active_cell_iterator cell = triangulation.begin_active(); cell != triangulation.end(); ++cell) ... якісь дії над cell ...
Замість введення таких фрагментів тексту раз за разом, що може призвести до супутніх друкарських помилок ви можете скористатися інструментом Фрагменти KDevelop. Для цього відкрийте панель інструментів (див. розділ Інструменти і панелі перегляду, якщо відповідної кнопки ще немає на панелях навколо панелі редагування). Натисніть кнопку Додати сховище (трохи невдала назва: за допомогою цієї кнопки ви можете створити іменовану збірку фрагментів коду певного типу, наприклад, фрагментів коду C++) і створіть порожнє сховище. Потім натисніть кнопку
, щоб додати фрагмент і відкрити таке діалогове вікно:
| Зауваження |
|---|
| У назві фрагмента не повинно бути пробілів та інших спеціальних символів, оскільки такий фрагмент повинен мати назву, подібну до назви звичайної функції або змінної (причини цього викладено нижче). Якщо у назві фрагмента є пробіли, кнопка буде неактивною без будь-яких пояснень. Про цей недолік повідомлено як про ваду KDevelop №274299. |
Щоб скористатися таким чином визначеним фрагментом, вам слід просто почати вводити у коді його назву, як ви це робите для будь-яких інших функцій або змінних. Для введених літер буде відкрито панель автоматичного доповнення (це означає, що можна використовувати будь-які достатньо довгі для розрізнення назви фрагментів, зокрема назви, подібні до використаної нами), якщо ви виберете відповідний пункт фрагмента на панелі підказки автоматичного доповнення (наприклад, натисканням клавіші Enter), вже введену частину назви фрагмента буде замінено повним текстом фрагмента з відповідними відступами:
Зауважте, що для користування фрагментами не потрібно тримати відкритою і видимою панель інструмента Фрагменти: цією панеллю слід користуватися, лише для визначення нових фрагментів. Іншим, але менш зручним, способом перегляду фрагментів є просте натискання його пункту на відповідній панелі інструмента.
| Зауваження |
|---|
| Фрагменти є набагато потужнішими, ніж було пояснено. Повний опис можливостей, які вони надають, ознайомтеся з докладною документацією з інструмента «Фрагменти». |
Якщо вже ви дочитали до цього місця, зверніть увагу на верхню праву частину головного вікна KDevelop: як можна бачити з наведеного знімка, KDevelop може працювати у трьох режимах: (роботу у цьому режимі ми обговорювали у поточному розділі, коли оглядали роботу з кодом), (див. Зневаджування програм) та (див. Робота з системами керування версіями).
Для кожного з режимів передбачено власний набір інструментів, кнопки яких розташовано вздовж периметра вікна середовища, для кожного режиму передбачено власний робочий набір відкритих файлів і документів. Крім того, кожен такий робочий набір пов’язано з поточним сеансом, тобто маємо взаємозв’язок, подібний до показаного вище. Зауважте, що файли у робочому наборі є частиною одного сеансу, але можуть належати до різних проектів, які є частинами цього сеансу.
Якщо ви відкрили вікно KDevelop вперше, робочий набір буде порожнім, — ще не відкрито жодного файла. Але з відкриттям файлів для редагування (або зневаджування, перегляду у інших режимах) ваш робочий набір розширюватиметься. Той факт, що ваш робочий набір не є порожнім, буде показано символом на вкладці, подібно до символу на знімку, наведеному нижче. Кожного разу, коли ви завершуватимете роботу KDevelop, а потім починатимете її знову, робочий набір буде зберігатися і відновлюватися, тобто ви працюватимете з одним набором відкритих файлів.
Якщо ви наведете вказівник миші на символ робочого набору, середовище покаже вам список файлів, які відкрито у робочому наборі (у нашому прикладі список з файлів step-32.cc та step-1.cc). Натискання кнопки з червоним мінусом призведе до закриття вкладки відповідного файла. Натискання кнопки з відповідною назвою надасть вам змогу закрити весь робочий набір одразу (тобто закрити всі відкриті файли). Сенс цього пункту у тому, що за його допомогою можна не лише закрити всі файли, але і зберегти робочий набір, а також відкрити новий порожній файл. Ось як це виглядає:
Зверніть увагу на дві піктограми ліворуч від трьох заголовків вкладок режимів (піктограму з сердечком та іншу піктограму лівіше). Кожній з цих піктограм відповідає збережений робочий набір, окрім вже відкритого робочого набору. Якщо ви наведете вказівник миші на піктограму з сердечком, ви побачите щось таке:
Середовище показує, що поточний робочий набір складається з двох файлів, та демонструє їхні назви: Makefile та changes.h. Натискання кнопки призведе до закриття і збереження поточного робочого набору (який у нашому прикладі складається з файлів tria.h і tria.cc), після чого буде відкрито вибраний робочий набір. Крім того, ви можете назавжди вилучити робочий набір, тобто усунути його зі списку збережених робочих наборів.
У редакторі KDevelop використано всі звичайні клавіатурні скорочення для дій з редагування. Крім того, у редакторі передбачено декілька додаткових дій, пов’язаних з редагуванням коду програм. Деякі з цих дій мають відповідні типові клавіатурні скорочення. Нижче наведено частину з корисних клавіатурних скорочень для дій:
| Пересування кодом | |
|---|---|
| Ctrl+Alt+O | Пришвидшене відкриття файла: вкажіть частину назви файла і виберіть той з них у каталозі проектів поточного сеансу, який вам потрібен; цей файл і буде відкрито. |
| Ctrl+Alt+C | Пришвидшене відкриття класу: вкажіть частину назви класу і виберіть ту з назв класів, яка вам потрібна; курсор буде переведено до рядка оголошення класу. |
| Ctrl+Alt+M | Пришвидшене відкриття функції: вкажіть частину назви функції (частини класу) і виберіть з запропонованих варіантів той, який вам потрібен; зауважте, що у списку буде показано оголошення і визначення, а курсор буде переведено до вибраного вами пункту. |
| Ctrl+Alt+Q | Універсальне пришвидшення відкриття: вкажіть будь-які дані (назву файла, назву класу, назву функції), і вам буде показано список всіх частин проекту, які відповідають критерію пошуку. |
| Ctrl+Alt+N | Огляд: показує список всіх дій, які виконуються у файлі, наприклад, оголошень класів та визначень функцій. |
| Ctrl+, | Перейти до визначення функції, якщо курсор перебуває у місці її оголошення. |
| Ctrl+. | Перейти до оголошення функції або змінної, якщо курсор перебуває у позиції визначення функції. |
| Ctrl+Alt+PageDown | Перейти до наступної функції |
| Ctrl+Alt+PageUp | Перейти до попередньої функції |
| Ctrl+G | Перейти до рядка |
| Пошук і заміна | |
| Ctrl+F | Знайти |
| F3 | Знайти далі |
| Ctrl+R | Замінити |
| Ctrl+Alt+F | Знайти і замінити у декількох файлах |
| Інші команди | |
| Ctrl+_ | Згорнути один рівень: вилучити блок з перегляду, наприклад, якщо ви бажаєте зосередитися на загальнішій картині у функції. |
| Ctrl++ | Розгорнути один рівень: скасувати згортання. |
| Ctrl+D | Зняти коментування з позначеного фрагмента тексту або поточного рядка. |
| Ctrl+Shift+D | Додати позначки коментаря до позначеного тексту або поточного рядка. |
| Alt+Shift+D | Документувати поточну функцію. Якщо курсор перебуває на оголошенні функції або класу, натискання цієї комбінації клавіш призведе до створення коментаря у форматі doxygen зі списком параметрів, значень, які повертаються, тощо. |
| Ctrl+T | Поміняти місцями поточний і попередній символи |
| Ctrl+K | Вилучити поточний рядок (зауваження: ця дія не збігається за результатом з дією «вилучити звідси до кінця рядка» у emacs) |