dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>Підручник з KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="description" content="KDevelop — комплексне середовище розробки, призначене для виконання широкого кола завдань з програмування."><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="next" href="what-is-kdevelop.html" title="Розділ 1. Для чого призначено KDevelop?"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Підручник з <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="what-is-kdevelop.html">далі</a></td></tr></table></div><div id="contentBody"><div lang="uk" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="kdevelop"></a>Підручник з <span class="application">KDevelop</span></h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Цю документацію було створено на основі сторінки UserBase KDE <a class="ulink" href="https://userbase.kde.org/KDevelop4/Manual" target="_top">KDevelop4/Manual</a>.</span> <span class="surname"></span> </p><span class="othercredit"><span class="contrib">Переклад українською</span>: <span class="firstname">Юрій</span> <span class="surname">Чорноіван</span><br></span></div></div><div>версія <span class="releaseinfo"><span class="application">KDevelop</span> 4.4 (<span class="orgname">KDE<br></span> 4.9) (<span class="date">19 серпня 2012 року</span>)</span></div><div><p><a href="help:/kdoctools5-common/fdl-notice.html">Правова примітка</a></p></div><div><div><div class="abstract"><p><span class="application">KDevelop</span> — комплексне середовище розробки, призначене для виконання широкого кола завдань з програмування.</p></div></div></div></div><hr></div><div class="toc"><p><b>Зміст</b></p><dl class="toc"><dt><span class="chapter"><a href="what-is-kdevelop.html">1. Для чого призначено <span class="application">KDevelop</span>?</a></span></dt><dt><span class="chapter"><a href="sessions-and-projects--the-basics-of-kdevelop.html">2. Сеанси і проєкти: основи <span class="application">KDevelop</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="sessions-and-projects--the-basics-of-kdevelop.html#terminology">Термінологія</a></span></dt><dt><span class="sect1"><a href="setting-up-a-session-and-importing-an-existing-project.html">Налаштування сеансу та імпортування вже створеного проєкту</a></span></dt><dd><dl><dt><span class="sect2"><a href="setting-up-a-session-and-importing-an-existing-project.html#option-1--importing-a-project-from-a-version-control-system-server">1. Імпортування даних проєкту з сервера системи керування версіями</a></span></dt><dt><span class="sect2"><a href="setting-up-a-session-and-importing-an-existing-project.html#option-2--importing-a-project-that-is-already-on-your-hard-drive">2. Імпортування проєкту, дані якого вже зберігаються на жорсткому диску вашого комп’ютера</a></span></dt></dl></dd><dt><span class="sect1"><a href="setting-up-an-application-as-a-second-project.html">Налаштування програми як другого проєкту</a></span></dt><dt><span class="sect1"><a href="creating-projects-from-scratch.html">Створення проєктів «з нуля»</a></span></dt></dl></dd><dt><span class="chapter"><a href="working-with-source-code.html">3. Робота з кодом програм</a></span></dt><dd><dl><dt><span class="sect1"><a href="working-with-source-code.html#tools-and-views">Інструменти та панелі перегляду</a></span></dt><dt><span class="sect1"><a href="exploring-source-code.html">Огляд роботи з кодом</a></span></dt><dd><dl><dt><span class="sect2"><a href="exploring-source-code.html#local-information">Локальні дані</a></span></dt><dt><span class="sect2"><a href="exploring-source-code.html#file-scope-information">Дані щодо окремих файлів</a></span></dt><dt><span class="sect2"><a href="exploring-source-code.html#project-and-session-scope-information">Дані щодо проєктів та сеансів</a></span></dt><dt><span class="sect2"><a href="exploring-source-code.html#rainbow-color-highlighting-explained">Пояснення щодо кольорів підсвічування</a></span></dt></dl></dd><dt><span class="sect1"><a href="navigating-in-source-code.html">Пересування між фрагментами коду</a></span></dt><dd><dl><dt><span class="sect2"><a href="navigating-in-source-code.html#local-navigation">Пересування поточним фрагментом</a></span></dt><dt><span class="sect2"><a href="navigating-in-source-code.html#file-scope-navigation-and-outline-mode">Пересування файлами та режим огляду</a></span></dt><dt><span class="sect2"><a href="navigating-in-source-code.html#project-and-session-scope-navigation--semantic-navigation">Пересування проєктами та сеансами: семантичне пересування</a></span></dt></dl></dd><dt><span class="sect1"><a href="writing-source-code.html">Введення коду</a></span></dt><dd><dl><dt><span class="sect2"><a href="writing-source-code.html#auto-completion">Автозавершення</a></span></dt><dt><span class="sect2"><a href="writing-source-code.html#adding-new-classes-and-implementing-member-functions">Додавання нових класів та реалізація вкладених функцій</a></span></dt><dt><span class="sect2"><a href="writing-source-code.html#documenting-declarations">Оголошення для документування</a></span></dt><dt><span class="sect2"><a href="writing-source-code.html#renaming-variables-functions-and-classes">Перейменування змінних, функцій і класів</a></span></dt><dt><span class="sect2"><a href="writing-source-code.html#code-snippets">Фрагменти коду</a></span></dt></dl></dd><dt><span class="sect1"><a href="modes-and-working-sets.html">Режими і робочі набори</a></span></dt><dt><span class="sect1"><a href="some-useful-keyboard-shortcuts.html">Деякі корисні клавіатурні скорочення</a></span></dt></dl></dd><dt><span class="chapter"><a href="code-generation-with-templates.html">4. Створення коду за допомогою шаблонів</a></span></dt><dd><dl><dt><span class="sect1"><a href="code-generation-with-templates.html#creating-a-new-class">Створення класу</a></span></dt><dt><span class="sect1"><a href="creating-a-new-unit-test.html">Створення тесту модуля</a></span></dt><dt><span class="sect1"><a href="other-files.html">Інші файли</a></span></dt><dt><span class="sect1"><a href="managing-templates.html">Керування шаблонами</a></span></dt></dl></dd><dt><span class="chapter"><a href="building-compiling-projects-with-custom-makefiles.html">5. Збирання (компіляція) проєктів з нетиповими Makefile</a></span></dt><dd><dl><dt><span class="sect1"><a href="building-compiling-projects-with-custom-makefiles.html#building-individual-makefile-targets">Збирання окремих цілей з Makefile</a></span></dt><dt><span class="sect1"><a href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">Вибір збірки цілей з Makefile для регулярного збирання</a></span></dt><dt><span class="sect1"><a href="what-to-do-with-error-messages.html">Обробка повідомлень про помилки</a></span></dt></dl></dd><dt><span class="chapter"><a href="running-programs-in-kdevelop.html">6. Запуск програм у <span class="application">KDevelop</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="running-programs-in-kdevelop.html#setting-up-launches-in-kdevelop">Налаштування запуску у <span class="application">KDevelop</span></a></span></dt><dt><span class="sect1"><a href="some-useful-keyboard-shortcuts0.html">Деякі корисні клавіатурні скорочення</a></span></dt></dl></dd><dt><span class="chapter"><a href="debugging-programs-in-kdevelop.html">7. Налагоджування програм у <span class="application">KDevelop</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="debugging-programs-in-kdevelop.html#running-a-program-in-the-debugger">Запуск програми під керуванням програми для налагоджування</a></span></dt><dt><span class="sect1"><a href="attaching-the-debugger-to-a-running-process.html">Приєднання програми для налагоджування до запущеного процесу</a></span></dt><dt><span class="sect1"><a href="some-useful-keyboard-shortcuts1.html">Деякі корисні клавіатурні скорочення</a></span></dt></dl></dd><dt><span class="chapter"><a href="working-with-version-control-systems.html">8. Робота з системами керування версіями</a></span></dt><dt><span class="chapter"><a href="customizing-kdevelop.html">9. Налаштовування <span class="application">KDevelop</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="customizing-kdevelop.html#customizing-the-editor">Налаштовування редактора</a></span></dt><dt><span class="sect1"><a href="customizing-code-indentation.html">Налаштовування відступів у коді</a></span></dt><dt><span class="sect1"><a href="customizing-keyboard-shortcuts.html">Налаштовування клавіатурних скорочень</a></span></dt><dt><span class="sect1"><a href="customizing-code-auto-completion.html">Налаштування автодоповнення коду</a></span></dt></dl></dd><dt><span class="chapter"><a href="credits.html">10. Подяки і ліцензія</a></span></dt></dl></div><FILENAME filename="what-is-kdevelop.html"><html><head><title>Розділ 1. Для чого призначено KDevelop?</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="index.html" title="Підручник з KDevelop"><link rel="next" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Розділ 2. Сеанси і проєкти: основи KDevelop"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Для чого призначено <span class="application">KDevelop</span>?</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="sessions-and-projects--the-basics-of-kdevelop.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="what-is-kdevelop"></a>Розділ 1. Для чого призначено <span class="application">KDevelop</span>?</h1></div></div></div><p><a class="ulink" href="https://www.kdevelop.org" target="_top"><span class="application">KDevelop</span></a> — сучасне комплексне середовище для розробки (IDE) мовою C++ та іншими мовами. Це середовище є частиною проєкту з розробки <a class="ulink" href="https://kde.org" target="_top">стільничного середовища KDE</a>. Через це з середовищем можна працювати у <span class="trademark">Linux</span>® (навіть у інших робочих середовищах, наприклад, GNOME), а також у інших варіантах <span class="trademark">UNIX</span>® та у Windows.</p><p>У <span class="application">KDevelop</span> передбачено всі можливості сучасних комплексних середовищ розробки. Для роботи з великими проєктами та програмами найважливішою можливістю є те, що <span class="application">KDevelop</span> <span class="emphasis"><em>розуміє C++</em></span>: середовище виконує обробку всієї кодової бази і запам’ятовує елементом яких класів є кожна з функцій, де визначено і яким є тип кожної зі змінних, а також багато інших параметрів вашого коду. Наприклад, нехай у одному з файлів заголовків вашого проєкту визначено клас</p><pre class="programlisting">class Car {
  // ...
  public:
    std::string get_color () const;
};
</pre><p>
</p><p>а пізніше у програмі використано такий код:</p><pre class="programlisting">Car my_ride;
// ...якісь дії з цією змінною...
std::string color = my_ride.ge
</pre><p>
</p><p>середовище запам’ятає, що фрагмент <code class="varname">my_ride</code> у останньому рядку є змінною типу <code class="varname">Car</code>, отже запропонує вам доповнення коду <code class="varname">ge</code> у форматі <code class="varname">get_color()</code>, оскільки ця функція є єдиною функцією класу <code class="varname">Car</code>, назва якої починається з «ge». Замість введення повної назви функції вам достатньо натиснути <span class="keycap"><strong>Enter</strong></span>, щоб отримати ціле слово. Таким чином, ви можете зекономити час і уникнути неприємних друкарських помилок, крім того, вам не потрібно буде запам’ятовувати точні назви тисяч функцій і класів, з яких складаються великі проєкти.</p><p>Для другого прикладу використаємо такий код:</p><pre class="programlisting">double foo ()
{
  double var = my_func();
 return var * var;
}
double bar ()
{
  double var = my_func();
  return var * var * var;
}
</pre><p>Якщо ви наведете вказівник миші на символ <code class="varname">var</code> у функції <code class="varname">bar</code>, середовищем буде пункт для показу всіх використань цього символу. Якщо ви натиснете цей пункт, середовище покаже всі використання змінної у функції <code class="varname">bar</code>, оскільки <span class="application">KDevelop</span> розуміє, що змінна <code class="varname">var</code> у функції <code class="varname">foo</code> це зовсім інша змінна. Крім того, клацання правою кнопкою миші на назві змінної надасть вам змогу перейменувати її. Середовище виконає заміну змінної лише у функції <code class="varname">bar</code>, але не чіпатиме зміну з тією самою назвою у функції <code class="varname">foo</code>.</p><p><span class="application">KDevelop</span> не лише редактор коду з елементами штучного інтелекту, <span class="application">KDevelop</span> дуже добре виконує інші дії. Звичайно ж, середовище підсвічує код різними кольорами; передбачено інструмент керування відступами, вбудований інтерфейс зневадника GNU <span class="application">gdb</span>; середовище здатне показувати документацію до функції, якщо ви наведете вказівник миші на запис функції у коді; середовище може працювати з різними середовищами збирання та компіляторами (наприклад, з проєктами, заснованими на <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">make</span></span> та <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">cmake</span></span>), а також вміє ще багато чого, що ми і обговоримо у цьому підручнику.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="sessions-and-projects--the-basics-of-kdevelop.html">далі</a></td></tr><tr><td class="prevCell">Підручник з <span class="application">KDevelop</span> </td><td class="upCell"> </td><td class="nextCell"> Сеанси і проєкти: основи <span class="application">KDevelop</span></td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="sessions-and-projects--the-basics-of-kdevelop.html"><html><head><title>Розділ 2. Сеанси і проєкти: основи KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="what-is-kdevelop.html" title="Розділ 1. Для чого призначено KDevelop?"><link rel="next" href="setting-up-a-session-and-importing-an-existing-project.html" title="Налаштування сеансу та імпортування вже створеного проєкту"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Сеанси і проєкти: основи <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="what-is-kdevelop.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="setting-up-a-session-and-importing-an-existing-project.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="sessions-and-projects--the-basics-of-kdevelop"></a>Розділ 2. Сеанси і проєкти: основи <span class="application">KDevelop</span></h1></div></div></div><p>У цьому розділі ми оглянемо деякі питання щодо термінології, використаної у <span class="application">KDevelop</span>, та структури роботи у середовищі. Зокрема, ми поговоримо про поняття <span class="emphasis"><em>сеанси</em></span> і <span class="emphasis"><em>проєкти</em></span> та пояснимо, як налаштовувати проєкти, над якими ви маєте намір працювати у <span class="application">KDevelop</span>.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="terminology"></a>Термінологія</h2></div></div></div><p>У <span class="application">KDevelop</span> використано поняття <span class="emphasis"><em>сеанси</em></span> та <span class="emphasis"><em>проєкти</em></span>. У сеансі містяться всі проєкти, чимось пов’язані між собою. У наведених нижче прикладах ми припускаємо, що ви є розробником одночасно бібліотеки та програми, яка використовує цю бібліотеку. Прикладом подібної схеми розробки є бібліотеки KDE: (бібліотека) і саме середовище <span class="application">KDevelop</span> (програма). Інший приклад: ви є розробником ядра <span class="trademark">Linux</span>® і одночасно працюєте над драйвером пристрою для <span class="trademark">Linux</span>®, який ще не включено до ядра.</p><p>У останньому прикладі у нас був би сеанс <span class="application">KDevelop</span> з двома проєктами: ядром <span class="trademark">Linux</span>® і драйвером пристрою. Варто згрупувати ці проєкти у одному сеансі (замість двох сеансів для кожного окремого проєкту), оскільки корисно бачити функції та структури даних ядра у <span class="application">KDevelop</span>, коли ви пишете код драйвера: ви, наприклад, зможете скористатися автодоповненням назв функцій та змінних ядра або переглянути документацію з функції ядра під час розробки драйвера пристрою.</p><p>Припустімо тепер, що ви є одним з розробників KDE. Тоді у вас буде інший сеанс, який міститиме проєкт KDE. Звичайно, ви можете створити єдиний сеанс для всіх ваших проєктів, але для цього немає ніяких причин: для вашої роботи у KDE вам не потрібен доступ до функцій ядра або драйверів пристроїв, вам не потрібне автоматичне доповнення назв класів KDE під час роботи над ядром <span class="trademark">Linux</span>®. Нарешті, збирання бібліотек KDE не пов’язане зі збиранням ядра <span class="trademark">Linux</span>® (з іншого боку збирання драйвера пристрою часто пов’язане зі збиранням ядра <span class="trademark">Linux</span>®, якщо було внесено зміни до файлів заголовків ядра).</p><p>Нарешті, ще одним з випадків використання сеансів є одночасна робота над експериментальною версією проєкту та його стабільною версією: у цьому випадку небажаним буде конфлікт між класами, які належать різним гілкам проєкту у <span class="application">KDevelop</span>. Отже, варто створити два сеанси з однаковим набором проєктів, але різними каталогами зберігання (відповідно до гілок розробки).</p></div><FILENAME filename="setting-up-a-session-and-importing-an-existing-project.html"><html><head><title>Налаштування сеансу та імпортування вже створеного проєкту</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Розділ 2. Сеанси і проєкти: основи KDevelop"><link rel="prev" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Розділ 2. Сеанси і проєкти: основи KDevelop"><link rel="next" href="setting-up-an-application-as-a-second-project.html" title="Налаштування програми як другого проєкту"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Налаштування сеансу та імпортування вже створеного проєкту</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="sessions-and-projects--the-basics-of-kdevelop.html">назад</a></td><td class="upCell">Сеанси і проєкти: основи <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="setting-up-an-application-as-a-second-project.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="setting-up-a-session-and-importing-an-existing-project"></a>Налаштування сеансу та імпортування вже створеного проєкту</h2></div></div></div><p>Зупинимося на прикладі з ядром <span class="trademark">Linux</span>® і драйвером пристрою. Вам слід буде замінити назви бібліотек та проєктів вашими назвами бібліотек і проєктів, щоб реалізувати наші приклади у вашій системі. Щоб створити сеанс, який міститиме два наших проєкти, скористаємося пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Сеанс</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Почати новий сеанс</span></span>, розташованим вгорі ліворуч (або якщо ви вперше запустили <span class="application">KDevelop</span>, просто скористайтеся типовим сеансом, його буде відкрито порожнім).</p><p>Далі нам потрібно заповнити сеанс проєктами, які у нашому прикладі будуть вже створеними раніше проєктами (створення проєктів «з нуля» обговорено у іншому розділі цього підручника). Виконати заповнення можна у два способи. Один з них можна застосувати до проєктів, дані яких вже зберігаються на жорсткому диску вашого комп’ютера. Іншим можна скористатися для отримання даних проєкту з сервера.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="option-1--importing-a-project-from-a-version-control-system-server"></a>1. Імпортування даних проєкту з сервера системи керування версіями</h3></div></div></div><p>Припустімо, що дані потрібного нам проєкту, — скажімо, ядра <span class="trademark">Linux</span>®, — зберігаються у якійсь системі керування версіями, але у вас ще немає копії сховища коду на жорсткому диску комп’ютера. У такому разі, відкрийте меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкт</span></span> для створення проєкту ядра <span class="trademark">Linux</span>® у межах поточного сеансу і виконайте такі дії:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Проєкт</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Отримати проєкт</span></span> для імпортування даних проєкту. </p></li><li class="listitem"><p>Середовище запропонує вам розпочати новий проєкт у межах поточного сеансу, залежно від походження коду: ви можете просто вказати <span class="application">KDevelop</span> вже створений каталог з кодом, ви також можете наказати <span class="application">KDevelop</span> отримати код зі сховища коду. </p></li><li class="listitem"><p>Припускаємо, що у вас ще немає копії коду зі сховища системи керування версіями. Вам слід виконати такі дії: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>У діалоговому вікні під написом <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Вибір джерела</span></span> виберіть <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">З файлової системи</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Subversion</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Git</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">GitHub</span></span> або <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">KDE</span></span>. </p></li><li class="listitem"><p>Виберіть робочий каталог призначення, до якого слід отримати код проєкту. </p></li><li class="listitem"><p>Виберіть адресу розташування сховища з кодом проєкту. </p></li><li class="listitem"><p>Натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Отримати</span></span>. Отримання кодів може бути доволі тривалою справою. Тривалість виконання цієї дії залежить від ширини каналу вашого з’єднання з інтернетом та розміру проєкту. На жаль, у <span class="application">KDevelop</span> 4.2.x панель поступу не є надто інформативною, але ви можете спостерігати за поступом з командного рядка за допомогою команди </p><pre class="screen">du -sk <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>/шлях/до/проєкту/<span class="application">KDevelop</span></code></em></span></pre><p> (буде показано об’єм отриманих даних). </p></li></ul></div><p>
</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Розробникам відомо про проблему зі смужкою поступу: <a class="ulink" href="https://bugs.kde.org/show_bug.cgi?id=256832" target="_top"><span class="application">KDevelop</span>, вада 256832</a>.</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Під час оброби ви можете побачити повідомлення щодо помилки: «Вам слід вказати коректне розташування проєкту». Можете не зважати на це повідомлення.</p></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Середовище попросить вас вибрати файл проєкту <span class="application">KDevelop</span> у каталозі з кодом. Оскільки такого файла, ймовірно, у вас ще немає, просто натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Далі</span></span>. </p></li><li class="listitem"><p>Ще раз натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Далі</span></span>. </p></li><li class="listitem"><p><span class="application">KDevelop</span> попросить вас визначитися зі способом керування проєктом. Якщо у проєкті використано стандартні файли make <span class="trademark">UNIX</span>®, виберіть нетиповий спосіб керування проєктом за допомогою файла makefile. </p></li><li class="listitem"><p><span class="application">KDevelop</span> виконає обробку даних проєкту. Знову ж таки, ця дія може бути доволі тривалою, оскільки доведеться виконати обробку всіх файлів, створити покажчик класів тощо. У нижній правій частині основного вікна буде показано панель поступу з даними щодо поступу виконання обробки. (Якщо у вашого процесора декілька ядер, ви можете пришвидшити процедуру: скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Параметри</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Налаштувати <span class="application">KDevelop</span></span></span>, виберіть пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Інструмент фонової обробки</span></span> на панелі ліворуч і збільшіть кількість потоків обробки у полі праворуч.) </p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="option-2--importing-a-project-that-is-already-on-your-hard-drive"></a>2. Імпортування проєкту, дані якого вже зберігаються на жорсткому диску вашого комп’ютера</h3></div></div></div><p>Якщо ж проєкт, над яким ви бажаєте працювати, вже зберігається на жорсткому диску вашого комп’ютера (наприклад, ви отримали дані проєкту у архіві з сервера FTP, скопіювали зі сховища керування версіями проєкту або ви працюєте над власним проєктом, дані якого зберігаються <span class="emphasis"><em>лише</em></span> на жорсткому диску вашого комп’ютера), скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Проєкти</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Відкрити/Імпортувати проєкт</span></span> і у діалоговому вікні вкажіть каталог, у якому зберігаються дані вашого проєкту.</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="sessions-and-projects--the-basics-of-kdevelop.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="setting-up-an-application-as-a-second-project.html">далі</a></td></tr><tr><td class="prevCell">Сеанси і проєкти: основи <span class="application">KDevelop</span> </td><td class="upCell">Сеанси і проєкти: основи <span class="application">KDevelop</span></td><td class="nextCell"> Налаштування програми як другого проєкту</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="setting-up-an-application-as-a-second-project.html"><html><head><title>Налаштування програми як другого проєкту</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Розділ 2. Сеанси і проєкти: основи KDevelop"><link rel="prev" href="setting-up-a-session-and-importing-an-existing-project.html" title="Налаштування сеансу та імпортування вже створеного проєкту"><link rel="next" href="creating-projects-from-scratch.html" title="Створення проєктів «з нуля»"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Налаштування програми як другого проєкту</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="setting-up-a-session-and-importing-an-existing-project.html">назад</a></td><td class="upCell">Сеанси і проєкти: основи <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="creating-projects-from-scratch.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="setting-up-an-application-as-a-second-project"></a>Налаштування програми як другого проєкту</h2></div></div></div><p>Наступним кроком буде, очевидно, налаштування інших проєктів у тому самому сеансі. У нашому раніше наведеному прикладі другим проєктом буде драйвер ядра. Додати новий проєкт можна знову виконавши вказані вище кроки.</p><p>Якщо ви розробляєте одночасно декілька програм або бібліотек, просто повторіть вказані вище кроки для додавання цих проєктів до вашого сеансу.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="setting-up-a-session-and-importing-an-existing-project.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="creating-projects-from-scratch.html">далі</a></td></tr><tr><td class="prevCell">Налаштування сеансу та імпортування вже створеного проєкту </td><td class="upCell">Сеанси і проєкти: основи <span class="application">KDevelop</span></td><td class="nextCell"> Створення проєктів «з нуля»</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="creating-projects-from-scratch.html"><html><head><title>Створення проєктів «з нуля»</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="sessions-and-projects--the-basics-of-kdevelop.html" title="Розділ 2. Сеанси і проєкти: основи KDevelop"><link rel="prev" href="setting-up-an-application-as-a-second-project.html" title="Налаштування програми як другого проєкту"><link rel="next" href="working-with-source-code.html" title="Розділ 3. Робота з кодом програм"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Створення проєктів «з нуля»</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="setting-up-an-application-as-a-second-project.html">назад</a></td><td class="upCell">Сеанси і проєкти: основи <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="working-with-source-code.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-projects-from-scratch"></a>Створення проєктів «з нуля»</h2></div></div></div><p>Звичайно ж, ви можете скористатися новим проєктом. Створити новий проєкт можна за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Проєкти</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Створити за шаблоном…</span></span>, який відкриває діалогове вікно вибору шаблону. Деякі з шаблонів встановлюються з основним пакунком <span class="application">KDevelop</span>, інші ж можна встановити разом з програмою <span class="application">KAppTemplate</span>. Виберіть у діалоговому вікні тип проєкту і мову програмування, вкажіть назву і розташування вашого проєкту і натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Далі</span></span>. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-project-dialog.png"></div></div><p>
</p><p>За допомогою другої сторінки діалогового вікна ви можете налаштувати систему керування версіями. Виберіть бажану для вас систему і заповніть відповідні поля параметрів. Якщо ви не хочете користуватися системою керування версіями або хочете визначити її параметри пізніше, виберіть пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Немає</span></span>. Щойно визначення відповідних параметрів буде завершено, можете натиснути кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Завершити</span></span>. </p><p>Тепер ваш проєкт створено, ви можете спробувати зібрати і встановити його. У деяких шаблонах передбачено коментарі у коді або навіть окремий файл README. Рекомендуємо ознайомитися зі вмістом такого файла до того, як буде розпочато подальшу розробку. Після ознайомлення з усіма довідковими матеріалами можна розпочати роботу над проєктом і додавання потрібних вам можливостей. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="setting-up-an-application-as-a-second-project.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="working-with-source-code.html">далі</a></td></tr><tr><td class="prevCell">Налаштування програми як другого проєкту </td><td class="upCell">Сеанси і проєкти: основи <span class="application">KDevelop</span></td><td class="nextCell"> Робота з кодом програм</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="what-is-kdevelop.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="setting-up-a-session-and-importing-an-existing-project.html">далі</a></td></tr><tr><td class="prevCell">Для чого призначено <span class="application">KDevelop</span>? </td><td class="upCell"> </td><td class="nextCell"> Налаштування сеансу та імпортування вже створеного проєкту</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="working-with-source-code.html"><html><head><title>Розділ 3. Робота з кодом програм</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="creating-projects-from-scratch.html" title="Створення проєктів «з нуля»"><link rel="next" href="exploring-source-code.html" title="Огляд роботи з кодом"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Робота з кодом програм</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="creating-projects-from-scratch.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="exploring-source-code.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="working-with-source-code"></a>Розділ 3. Робота з кодом програм</h1></div></div></div><p>Окрім налагоджування, читання та написання коду є найважливішими завданнями під час розробки програмного забезпечення. З метою полегшення навігації кодом та його написання у <span class="application">KDevelop</span> передбачено багато різних інструментів. Як буде докладніше показано у наступних розділах, <span class="application">KDevelop</span> не просто редактор коду, — це скоріше система керування кодом, яка може подавати різні дані, отримані на основі аналізу загальної сукупності коду всього вашого сеансу роботи.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tools-and-views"></a>Інструменти та панелі перегляду</h2></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-7.png"><div class="caption"><p></p></div></div></div><p>Для роботи з проєктами у <span class="application">KDevelop</span> передбачено <span class="emphasis"><em>інструменти</em></span>. Інструмент надає певні дані щодо коду або виконує з ним певну дію. Інструментам відповідають кнопки вздовж периметра вікна програми (з вертикальним текстом на полях ліворуч і праворуч та горизонтальним вздовж нижнього поля). Якщо ви натиснете таку кнопку, у головному вікні буде відкрито підвікно — <span class="emphasis"><em>панель перегляду</em></span>; якщо кнопку буде натиснуто ще раз, відповідне підвікно буде закрито.</p><p>Щоб закрити допоміжне вікно, також можна натиснути кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">x</span></span> у верхній правій частині цього вікна.</p><p>На наведеному вище зображенні ви можете бачити певний набір інструментів, вирівняних за лівим і правим полем. Ліворуч відкрито панель інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Класи</span></span>, праворуч — <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Фрагменти</span></span>. Посередині можна бачити панель редактора. З практичних міркувань, переважну частину часу розробки варто працювати лише з редактором та панеллю <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Класи</span></span> чи <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд коду</span></span>, відкритою ліворуч. На час використання певного інструмента можна відкрити його панель, яку після використання варто закрити з метою збільшення простору для панелі редактора.</p><p>Після першого запуску <span class="application">KDevelop</span> ви вже зможете скористатися кнопкою інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкти</span></span>. Натисніть цю кнопку: у відповідь буде відкрито панель зі списком проєктів, які було додано до сеансу у нижній частині вікна та панель перегляду файлової системи вашого проєкту у верхній його частині.</p><p>У <span class="application">KDevelop</span> ви можете скористатися багатьма іншими інструментами, не всі з них представлено кнопками вздовж периметра вікна у початковому стані. Щоб додати кнопку, скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вікна</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Додати панель інструмента</span></span>. Ось перелік можливих корисних інструментів:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Класи</span></span>: повний список всіх класів, які визначено у одному з проєктів або у вашому сеансі з усіма вбудованими функціями та змінними. Натискання пункту елемента класу відкриє вікно редактора з місцем оголошення елемента, пункт якого було натиснуто. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Документи</span></span>: містить список нещодавно відкритих файлів за типами (наприклад файли з кодом, файли латок, звичайні текстові документи). </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд коду</span></span>: залежно від розташування курсора у редакторі файла, на цій панелі буде показано пов’язані з кодом дані. Наприклад, якщо курсор перебуває у рядку з <code class="varname">#include</code>, на панелі буде показано дані щодо файла, який включено до коду, зокрема дані щодо оголошених у файлі класів. Якщо курсор перебуває на порожньому рядку у файлі, на панелі буде показано класи і функції, оголошені і визначені у поточному файлі (всі як посилання: натискання відповідного пункту відкриватиме файл з оголошенням або визначенням класу чи функції). Якщо курсор перебуває на визначенні функції, на панелі буде показано місце оголошення та список місць, у яких використано функцію. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Файлова система</span></span>: показує ієрархічну структуру файлової системи. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Документація</span></span>: надає вам змогу виконувати пошук даних на сторінках довідника (man) та у інших довідкових документах. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Фрагменти</span></span>: на цій панелі буде наведено фрагменти тексту, які використовують вами регулярно, і які ви не хочете повторно вводити кожного разу. Наприклад, на основі якого було створено знімок екрана, була потреба часто використовувати фрагмент коду </p></li></ul></div><pre class="programlisting">for (typename Triangulation&lt; dim&gt;::active_cell_iterator cell
      = triangulation.begin_active();
   cell != triangulation.end();
   ++cell)</pre><p> Вираз доволі незграбний, але використовується майже у такій формі кожного разу, коли вам потрібен цикл, — чудовий кандидат на включення до списку фрагментів.</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Konsole</span></span>: відкриває панель командного рядка у головному вікні <span class="application">KDevelop</span>, щоб ви могли віддати потрібну вам команду оболонки (наприклад, виконати <code class="varname">./configure</code>). </p></li></ul></div><p>З повним списком інструментів та панелей перегляду можна ознайомитися <a class="ulink" href="https://userbase.kde.org/Special:myLanguage/KDevelop4/Manual/Tool%20list" target="_top">тут</a>.</p><p>Для багатьох програмістів найважливішою є економія вертикального місця на екрані. Щоб досягти такої економії, ви можете розташувати панелі інструментів вздовж лівої та правої межі вікна програми. Щоб пересунути панель, клацніть на заголовку правою кнопкою миші і виберіть нове її розташування.</p></div><FILENAME filename="exploring-source-code.html"><html><head><title>Огляд роботи з кодом</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="working-with-source-code.html" title="Розділ 3. Робота з кодом програм"><link rel="prev" href="working-with-source-code.html" title="Розділ 3. Робота з кодом програм"><link rel="next" href="navigating-in-source-code.html" title="Пересування між фрагментами коду"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Огляд роботи з кодом</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-source-code.html">назад</a></td><td class="upCell">Робота з кодом програм</td><td class="nextCell"><a accesskey="n" href="navigating-in-source-code.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="exploring-source-code"></a>Огляд роботи з кодом</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="local-information"></a>Локальні дані</h3></div></div></div><p><span class="application">KDevelop</span> <span class="emphasis"><em>розуміє</em></span> код програми, тому це середовище може надавати вам дані щодо змінних або функцій вашої програми. Наприклад, у цьому підручнику наведено знімок роботи з фрагментом коду, де вказівник миші наведено на символ <code class="varname">cell</code> у рядку 1316 (якщо ви надаєте перевагу роботі за допомогою клавіатури, того самого ефекту можна досягти утримуванням певний час натиснутою клавіші <span class="keycap"><strong>Alt</strong></span>):</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-13.png"><div class="caption"><p></p></div></div></div><p><span class="application">KDevelop</span> показує підказку, зокрема тип змінної (тут: <code class="varname">DoFHandler&amp;lt;dim&amp;gt;active_cell_iterator</code>), де цю змінну оголошено (<span class="emphasis"><em>контейнер</em></span>, яким тут є функція-обгортка <code class="varname">get_maximal_velocity</code>, оскільки це локальна змінна), тип даних (змінна, не функція, клас або простір назв) та місце оголошення (у рядку 1314, декілька рядків коду).</p><p>У поточному контексті з символом, на який наведено вказівник миші, не пов’язано жодної документації. У нашому прикладі, де вказівник миші наведено на символ <code class="varname">get_this_mpi_process</code> у рядку 1318, буде показано такі дані:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-14.png"><div class="caption"><p></p></div></div></div><p>Тут <span class="application">KDevelop</span> показано оголошення зі стороннього файла (<code class="filename">utilities.h</code>, який є частиною зовсім іншого проєкту того самого сеансу) разом з коментарем у форматі doxygen, який супроводжує цей оголошення.</p><p>Ще кориснішими підказки робить те, що вони є динамічними: можна натиснути пункт контейнера, щоб отримати дані щодо контексту, у якому оголошено змінну (тобто дані щодо простору назв <code class="varname">System</code>, зокрема місця його оголошення, визначення, використання та документації), і можна натиснути сині посилання, які повернуть курсор на позицію оголошення символу (наприклад, у <code class="varname">utilities.h</code>, рядок 289) або покажуть список місць, у яких використано символ у поточному файлі або усіх проєктах поточного сеансу. Остання можливість буде корисною, якщо вам потрібно визначити, як, наприклад, певну функцію використано у об’ємному коді.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Панель підказки з часом зникатиме: щоб її знову відкрити доведеться знов утримувати натиснутою клавішу <span class="keycap"><strong>Alt</strong></span> або наводити вказівник миші на фрагменти коду. Якщо вам потрібно зафіксувати дані з цієї панелі, відкрийте панель інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд коду</span></span>. У нашому прикладі курсор перебуває у тій самій функції, що і раніше, а на панелі інструмента ліворуч показано той самий набір даних, що і на панелі підказки раніше:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-15.png"><div class="caption"><p></p></div></div></div><p>Пересування курсора у правій частині вікна призводитиме до зміни даних у його лівій частині. Натискання кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Заблокувати поточний перегляд</span></span> у верхній правій частині надасть вам змогу зафіксувати дані, убезпечивши їх від зміни розташування курсора на час перегляду.</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Доступ до контекстних даних такого типу можна отримати з багатьох частин <span class="application">KDevelop</span>, не лише з панелі редактора коду. Наприклад, утримування натиснутою клавіші <span class="keycap"><strong>Alt</strong></span> у списку автоматичного доповнення (наприклад під час пришвидшеного відкриття якогось файла) також призводитиме до показу контекстних даних щодо поточного рядка.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="file-scope-information"></a>Дані щодо окремих файлів</h3></div></div></div><p>Наступним рівнем є отримання даних щодо всього файла коду, над яким ви працюєте. Щоб переглянути її, розташуйте курсор на початку поточного файла і подивіться на дані, які буде показано на панелі інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд коду</span></span>:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-16.png"><div class="caption"><p></p></div></div></div><p>Тут середовищем показано список просторів назв, класів та функцій, оголошених або визначених у поточному файлі. За допомогою цього списку ви можете ознайомитися з загальними даними щодо дій, які виконуються у файлі, та безпосередньо перейти до будь-якого з оголошень або визначень без потреби у гортанні коду файла або пошуку певного фрагмента.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Дані, які показано для всього файла, є тими самими, які буде показано у режимі «Огляд», обговорення якого у контексті навігації кодом викладено далі. Відмінність полягає у тому, що у режимі огляду ці дані буде показано лише на тимчасовій панелі підказки.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="project-and-session-scope-information"></a>Дані щодо проєктів та сеансів</h3></div></div></div><p>Існує багато способів отримати загальні дані щодо проєкту (або, фактично, всіх проєктів сеансу). Такі дані, зазвичай, можна знайти на панелях перегляду різноманітних інструментів середовища. Наприклад, на панелі інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Класи</span></span> показано ієрархічну структуру всіх класів і зовнішніх просторів назв для всіх проєктів сеансу, разом з вбудованими функціями та змінними кожного з цих класів:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-17.png"><div class="caption"><p></p></div></div></div><p>Знову ж таки, за допомогою наведення вказівника миші на запис у списку можна отримати дані щодо відповідного символу, розташування його оголошення та визначення і випадків використання. Подвійним клацанням на пункті цього ієрархічного списку можна відкрити вікно редактора на позиції, де оголошено або визначено символ.</p><p>Але ви можете скористатися і іншими способами перегляду загальних даних. Наприклад, за допомогою інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Документи</span></span> можна поглянути на проєкт з точки зору типів файлів або інших документів, з яких складається проєкт:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-18.png"><div class="caption"><p></p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="rainbow-color-highlighting-explained"></a>Пояснення щодо кольорів підсвічування</h3></div></div></div><p>У <span class="application">KDevelop</span> для підсвічування об’єктів у коді використовується ціла палітра кольорів. Якщо вам відоме значення цих кольорів, ви можете дуже швидко отримати доволі багато інформації щодо коду, просто подивившись на кольори, навіть не розбираючи кожен із символів коду окремо. Використано такі правила підсвічування: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Об’єкти типів Class / Struct, Enum (значенні і тип), (загальні) функції та учасники класів буде позначено власним кольором (класи — зеленим, переліки (enum) — темно-червоним, а учасники — темно-жовтим або фіолетовим, (загальні) функції — завжди фіолетовим).</p></li><li class="listitem"><p>Всі загальні змінні буде позначено темно-зеленим кольором.</p></li><li class="listitem"><p>Ідентифікатори, які є визначеннями інших типів, буде позначено синьо-зеленим кольором.</p></li><li class="listitem"><p>Всі оголошення та визначення об’єктів буде позначено напівжирним шрифтом.</p></li><li class="listitem"><p>Якщо доступ до учасника класу здійснюється з контексту його визначення (базового або похідного класу), запису буде позначено жовтим кольором. Якщо ж доступ здійснюється поза цим контекстом, запису буде позначено фіолетовим кольором.</p></li><li class="listitem"><p>Якщо учасник позначено як закритий (private) або захищений (protected), колір запису буде трохи темнішим, ніж зазвичай.</p></li><li class="listitem"><p>Для локальних для вмісту функції змінних кольори вибиратимуться на основі хеш-коду ідентифікатора. Це ж стосується і параметрів функції. Ідентифікатор завжди матиме той самий колір у межах простору своєї дії, але той самий ідентифікатор матиме інший колір, якщо позначатиме інший об’єкт, тобто якщо його буде перевизначено на вкладеному рівні, отже ви зазвичай бачитимете для назви одного ідентифікатора у різних просторах однаковий колір. Отже, якщо у коді є декілька функцій, що приймають параметри з однаковими назвами, параметри цих функцій матимуть однаковий колір. Таке розфарбовування може бути окремо вимкнено за допомогою сторінки кольорів у діалоговому вікні параметрів програми.</p></li><li class="listitem"><p>Ідентифікатори, для яких <span class="application">KDevelop</span> не може визначити відповідне оголошення, буде позначено білим кольором. Таке позначення часто буває спричинено пропущеними інструкціями <code class="varname">#include</code>.</p></li><li class="listitem"><p>Крім описано вище розфарбування, буде застосовано звичайні правила підсвічування синтаксичних конструкцій, визначені у <span class="application">Kate</span>. Якщо виникатимуть конфлікти з підсвічуванням текстового редактора, завжди використовуватиметься семантичне підсвічування <span class="application">KDevelop</span>.</p></li></ul></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-source-code.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="navigating-in-source-code.html">далі</a></td></tr><tr><td class="prevCell">Робота з кодом програм </td><td class="upCell">Робота з кодом програм</td><td class="nextCell"> Пересування між фрагментами коду</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="navigating-in-source-code.html"><html><head><title>Пересування між фрагментами коду</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="working-with-source-code.html" title="Розділ 3. Робота з кодом програм"><link rel="prev" href="exploring-source-code.html" title="Огляд роботи з кодом"><link rel="next" href="writing-source-code.html" title="Введення коду"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Пересування між фрагментами коду</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="exploring-source-code.html">назад</a></td><td class="upCell">Робота з кодом програм</td><td class="nextCell"><a accesskey="n" href="writing-source-code.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="navigating-in-source-code"></a>Пересування між фрагментами коду</h2></div></div></div><p>У попередньому розділі ми обговорювали вивчення коду програми, тобто отримання даних щодо символів, файлів та проєктів. Наступним кроком є перехід між компонентами коду, тобто навігація кодом. Знову ж таки, існує декілька рівнів, на яких можна здійснювати подібну навігацію: локально, у межах файла і у межах проєкту.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Доступ до багатьох засобів навігації можна отримати за допомогою меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Навігація</span></span> головного вікна <span class="application">KDevelop</span>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="local-navigation"></a>Пересування поточним фрагментом</h3></div></div></div><p><span class="application">KDevelop</span> — набагато більше, ніж просто редактор, — це <span class="emphasis"><em>також</em></span> редактор коду. Тому, звичайно ж, ви можете пересувати курсор текстом за допомогою звичайних клавіш зі стрілочками. Ви також можете скористатися натисканням клавіш <span class="keycap"><strong>PageUp</strong></span> та <span class="keycap"><strong>PageDown</strong></span> і всіма іншими командами, якими можна скористатися у звичайному текстовому редакторі.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="file-scope-navigation-and-outline-mode"></a>Пересування файлами та режим огляду</h3></div></div></div><p>На рівні окремого файла у <span class="application">KDevelop</span> передбачено багато способів навігації кодом програми. Приклад:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Огляд</span></span>: відкрити панель з оглядом вмісту поточного файла можна у принаймні три різних способи: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>Натисканням кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Огляд</span></span> у верхній правій частині головного вікна або натисканням комбінації клавіш <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>N</strong></span>. У відповідь буде відкрито спадне меню зі списком всіх функцій та оголошень класів: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-19.png"><div class="caption"><p></p></div></div></div><p> Після цього ви можете вибрати пункт, до якого слід перейти, або — якщо таких пунктів багато, — почніть вводити текст, який може бути частиною потрібного пункту. У такому разі, введення символів у текстове поле скорочуватиме список, оскільки з нього виключатимуться пункти, які не відповідають введеним вами даним, доки список не буде скорочено до прийнятних розмірів. </p></li><li class="listitem"><p>Розташуванням курсора у області файла (тобто поза межами оголошень та визначень функцій або класів) з відкритою панеллю інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд коду</span></span>: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-16.png"><div class="caption"><p></p></div></div></div><p> За показаною панеллю ви зможете стежити з даними поточного файла і надасть вам змогу вибрати пункт, до якого ви хочете перейти. </p></li><li class="listitem"><p>Наведенням вказівника миші на вкладку одного з відкритих файлів. У відповідь буде показано панель з оглядом даних файла у відповідній вкладці. </p></li></ul></div><p>
</p></li><li class="listitem"><p>* Файли коду впорядковано у список оголошень та визначень. За допомогою натискання комбінацій клавіш <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>PgUp</strong></span> і <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>PgDown</strong></span> можна переходити до визначення попередньої або наступної функції у файлі. </p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="project-and-session-scope-navigation--semantic-navigation"></a>Пересування проєктами та сеансами: семантичне пересування</h3></div></div></div><p>Як ми вже згадували раніше, зазвичай <span class="application">KDevelop</span> не працює з окремими файлами коду, замість цього середовище працює з цілими проєктами (або, точніше, з усіма проєктами, які є частиною поточного сеансу). Внаслідок цього середовище надає можливість навігації у межах цілих проєктів. Частина цих можливостей є наслідком можливостей, які ми вже обговорювали у розділі щодо <a class="link" href="exploring-source-code.html" title="Огляд роботи з кодом">навігації кодом</a>, інші ж є абсолютно відмінними від них. Основною особливістю цих можливостей навігації є те, що їх засновано на <span class="emphasis"><em>семантичному розумінні</em></span> коду, тобто для роботи з ними потрібна певна обробка цілих проєктів та пов’язаних з ними даних. У наведеному нижче списку показано декілька способів навігації кодом, який може зберігатися у великій кількості окремих файлів:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Як ми вже бачили з розділу щодо <a class="ulink" href="http://userbase.kde.org/Special:myLanguage/KDevelop4/Manual/Working%20with%20source%20code#Exploring%20source%20code" target="_top">навігації кодом</a>, ви можете отримати панель з поясненнями щодо окремого простору назв, класу, функції або змінної наведенням вказівника миші на відповідний запис у коді або утримуванням натиснутою клавіші <span class="keycap"><strong>Alt</strong></span>. Ось приклад: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-14.png"><div class="caption"><p></p></div></div></div><p> Натискання посилань на оголошення символу або розгортання списку використань надає вам змогу перейти до відповідних місць коду. Подібного ефекту можна досягти за допомогою панелі перегляду <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд коду</span></span>, яку ми вже обговорювали. </p></li><li class="listitem"><p>Швидшим способом переходу до оголошення символу без натискання посилань у підказці є тимчасове вмикання <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Режиму навігації кодом</span></span> утримуванням натиснутою клавіші <span class="keycap"><strong>Alt</strong></span> або <span class="keycap"><strong>Ctrl</strong></span>. У цьому режимі можна безпосередньо натиснути будь-який символ у редакторі для переходу до його оголошення. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Швидке відкриття</span></span>: дуже потужним способом пересування файлами у <span class="application">KDevelop</span> є різноманітні інструменти <span class="emphasis"><em>швидкого відкриття</em></span>. Передбачено чотири різновиди таких інструментів: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Швидке відкриття класу</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Швидко відкрити клас</span></span> або <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>): вам буде показано список всіх класів у поточному сеансі. Почніть вводити (частину) назви класу, і середовище скоротить список до назв, які відповідають введеній частині. Коли список стане достатньо коротким, просто виберіть у ньому елемент за допомогою клавіш зі стрілками вгору і вниз, а <span class="application">KDevelop</span> відкриє місце у коді, де клас було оголошено. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Швидке відкриття функції</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Швидко відкрити функцію</span></span> або <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>M</strong></span>): вам буде показано список всіх (вбудованих) функцій, які є частиною проєктів у поточному сеансі, вибрати потрібну вам функцію можна у той самий спосіб, у який вибирається клас. Зауважте, що у списку можуть бути одразу пункти оголошення та визначення функцій. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Швидке відкриття файла</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Швидко відкрити файл</span></span> або <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>O</strong></span>): вам буде показано список всіх файлів, які є частиною проєктів поточного сеансу, вибрати потрібний можна буде у описаний вище спосіб. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Універсальне швидке відкриття</span></span> (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Швидко відкрити</span></span> або <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Q</strong></span>): якщо ви забули, які комбінації клавіш пов’язано з описаними вище командами, це універсальний спосіб: вам буде показано список всіх файлів, функцій, класів та інших частин проєктів, з якого ви зможете вибрати потрібний вам пункт. </p></li></ul></div><p>
</p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перехід до оголошення або визначення</span></span>: під час реалізації функції часто виникає потреба у переході до місця, де цю функцію оголошено, наприклад, для синхронізації списку аргументів між оголошенням і визначенням або для оновлення документації. Виконати такий перехід можна розташуванням курсора на назві функції з наступним вибором пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перейти до оголошення</span></span> (або натисканням комбінації клавіш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>.</strong></span>). Повернутися до визначення можна у декілька способів: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem"><p>За допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перейти до визначення</span></span> (або натискання комбінації клавіш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>,</strong></span>). </p></li><li class="listitem"><p>За допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Попередній переглянути контекст</span></span> (або натискання комбінації клавіш <span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>←</strong></span>), як це описано далі. </p></li></ul></div><p>
</p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Перехід до оголошення символу не обмежується лише функціями, які ви реалізуєте. Цей спосіб працює і у разі розташування курсора на назві (локальної, загальної чи вбудованої) змінної: вибір відповідного пункту меню призведе до пересування області перегляду до оголошення символу. Отже ви можете, наприклад, розташувати курсор на назві класу у оголошенні змінної функції і перейти до оголошення цього класу.</p></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перемкнути визначення/оголошення</span></span>: у наведеному вище прикладі для переходу до місця оголошення поточної функції нам потрібно було спочатку розташувати курсор на назві функції. Якщо вам не хочеться цього робити, скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перемкнути визначення/оголошення</span></span> (або натисніть комбінацію клавіш <span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>C</strong></span>), щоб перейти до оголошення функції, у якій перебуває курсор. Повторний вибір цього пункту меню поверне курсор назад до визначення функції. </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Попереднє/ Наступне використання</span></span>: розташування курсора на назві локальної змінної з наступним вибором пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Наступне використання</span></span> (або натискання комбінації клавіш <span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>→</strong></span>) переведе вас до наступного використання цієї змінної у коді. Зауважте, що буде виконано не лише пошук наступного використання назви змінної, але і взято до уваги і те, що змінні з тією самою назвою, але у інших просторах назв, є іншими. Те саме стосується і назв функцій. Вибір пункту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Попереднє використання</span></span> (або натискання комбінації клавіш <span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>←</strong></span>) переведе перегляд до попереднього використання символу. </p></li></ul></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Щоб переглянути список всіх використань назв, якими здійснюватиметься циклічний перехід внаслідок використання цієї команди, розташуйте курсор на назві символу і відкрийте панель <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд коду</span></span> або натисніть і утримуйте клавішу <span class="keycap"><strong>Alt</strong></span>. Докладніше про використання цього прийому можна дізнатися з розділу щодо <a class="link" href="exploring-source-code.html#file-scope-information" title="Дані щодо окремих файлів">навігації кодом</a>.</p></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Список контекстів</span></span>: у переглядачах сторінок інтернету передбачено цю можливість, — ви можете пересуватися вперед і назад списком нещодавно відвіданих сторінок. У <span class="application">KDevelop</span> теж є така можливість, але замість сторінок ви пересуваєтеся <span class="emphasis"><em>контекстами</em></span>. Контекст — це поточне розташування курсора, перехід до якого або з якого було здійснено за допомогою будь-яких дій, окрім натискання клавіші зі стрілками на клавіатурі (наприклад, натискання пункту на панелі підказки, панелі <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд коду</span></span>, одного з пунктів меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Навігація</span></span> або використання будь-якої іншої команди навігації). За допомогою пунктів меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Попередній переглянути контекст</span></span> (<span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>←</strong></span>) та <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Навігація</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Наступний переглянутий контекст</span></span> (<span class="keycap"><strong>Meta</strong></span>+<span class="keycap"><strong>→</strong></span>) ви можете пересуватися списком відвіданих контекстів подібно до того, як за допомогою пунктів <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">назад</span></span> і <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">вперед</span></span> ви можете пересуватися між сторінками, відвіданими за допомогою програми для перегляду інтернету. </p></li><li class="listitem"><p>Нарешті, ви можете скористатися панелями інструментів, за допомогою яких можна переходити до різних місць у коді. Наприклад, за допомогою інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Класи</span></span> ви можете користуватися списком всіх просторів назв та класів у всіх проєктах поточного сеансу. Ви можете розгортати пункти списку для перегляду списків вбудованих функцій та змінних кожного з класів: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-17.png"><div class="caption"><p></p></div></div></div><p> Подвійне клацання на пункті (або використання відповідного пункту контекстного меню, яке можна відкрити клацанням правою кнопкою миші) надасть вам змогу перейти до місця оголошення пункту. На інших панелях інструментів можна скористатися подібними ж прийомами, наприклад, на панелі <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкти</span></span> буде наведено список частин сеансу: </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-13.png"><div class="caption"><p></p></div></div></div><p> Знову ж таки, подвійне клацання на пункті файла призведе до його відкриття. </p></li></ul></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="exploring-source-code.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="writing-source-code.html">далі</a></td></tr><tr><td class="prevCell">Огляд роботи з кодом </td><td class="upCell">Робота з кодом програм</td><td class="nextCell"> Введення коду</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="writing-source-code.html"><html><head><title>Введення коду</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="working-with-source-code.html" title="Розділ 3. Робота з кодом програм"><link rel="prev" href="navigating-in-source-code.html" title="Пересування між фрагментами коду"><link rel="next" href="modes-and-working-sets.html" title="Режими і робочі набори"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Введення коду</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="navigating-in-source-code.html">назад</a></td><td class="upCell">Робота з кодом програм</td><td class="nextCell"><a accesskey="n" href="modes-and-working-sets.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="writing-source-code"></a>Введення коду</h2></div></div></div><p>Оскільки <span class="application">KDevelop</span> «розуміє» код ваших проєктів, це середовище може допомогти вам у написанні коду. Нижче наведено огляд деяких з цих допоміжних можливостей.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="auto-completion"></a>Автозавершення</h3></div></div></div><p>Ймовірно, найкориснішою можливістю є можливість з автоматичного завершення фрагментів коду. Розглянемо, наприклад, такий фрагмент коду:</p><pre class="programlisting">class Car {
  // ...
  public:
    std::string get_color () const;
};
void foo()
{
  Car my_ride;
  // ...якісь дії з цією змінною...
  std::string color = my_ride.ge
</pre><p>У останньому рядку <span class="application">KDevelop</span> запам’ятає, що змінна <code class="varname">my_ride</code> належить до типу <code class="varname">Car</code> і буде автоматично пропонувати доповнення назви вбудованої функції <code class="varname">ge</code> у форматі <code class="varname">get_color</code>. Фактично, вам достатньо вводити назву, аж доки список знайдених відповідників не починатиметься з потрібного вам виразу, а потім натиснути клавішу <span class="keycap"><strong>Enter</strong></span>:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-42.png"><div class="caption"><p></p></div></div></div><p>Зауважте, що ви можете клацнути на панелі підказки, щоб отримати більше даних щодо функції, окрім типу даних, які вона повертає, і те, чи є ця функція відкритою (public):</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-43.png"><div class="caption"><p></p></div></div></div><p>Автоматичне доповнення може значно скоротити витрату часу на введення даних, якщо у вашому проєкті використано змінні або функції з довгими назвами. Крім того, автоматичне доповнення допомагає запобігти друкарським помилкам у назвах (а отже помилкам під час збирання), за його допомогою простіше запам’ятати точні назви функцій. Наприклад, якщо назви всіх ваших функцій отримання даних починаються з <code class="varname">get_</code>, можливість автоматичного доповнення надасть вам змогу скористатися повним списком таких функцій, щойно ви наберете перші чотири літери назви, що, звичайно, допоможе вам згадати, яку з них ви мали намір використати. Зауважте, що для роботи з автоматичним доповненням не обов’язково, щоб оголошення класу <code class="varname">Car</code> та змінної <code class="varname">my_ride</code> перебували у одному файлі, над яким ви зараз працюєте. <span class="application">KDevelop</span> просто має знати, що ці клас і змінну пов’язано, тобто файли, у яких зберігається код цих елементів програми, мають бути частиною проєкту, над яким ви працюєте.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p><span class="application">KDevelop</span> не завжди може здогадатися, коли слід допомогти вам автоматичним доповненням коду. Якщо підказку автоматичного доповнення не було відкрито автоматично, натисніть комбінацію клавіш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Пробіл</strong></span>, щоб відкрити список варіантів вручну. Загалом же, для того, щоб можна було скористатися автоматичним доповненням, <span class="application">KDevelop</span> має обробити файли коду вашого проєкту. Цю дію буде виконано у фоновому режимі для всіх файлів, які є частиною проєктів поточного сеансу після запуску <span class="application">KDevelop</span>, а також після того, як ви припините вводити дані на частку секунди (тривалість паузи можна змінити).</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p><span class="application">KDevelop</span> виконує обробку лише тих файлів, які є файлами коду програми, відповідно до типу MIME файла. Цей тип не встановлюється до першого збереження файла. Отже створення нового файла і введення коду до цього файла не увімкне автоматичної обробки файла для використання даних з метою автоматичного доповнення. Щоб увімкнути обробку, файл доведеться зберегти.</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Для того, щоб можна було скористатися автоматичним доповненням, <span class="application">KDevelop</span> повинен мати доступ до файлів заголовків. Середовище виконає пошук цих файлів у декількох типових теках. Якщо файл заголовка не вдасться знайти автоматично, його пункт у списку буде підкреслено червоною лінією. У такому разі вам слід клацнути на цьому пункті правою кнопкою миші і повідомити <span class="application">KDevelop</span> явним чином, де слід шукати цей файл та дані, які у ньому зберігаються.</p></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Налаштування автоматичного доповнення обговорено у <a class="link" href="customizing-code-auto-completion.html" title="Налаштування автодоповнення коду">іншому розділі цього підручника</a>.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="adding-new-classes-and-implementing-member-functions"></a>Додавання нових класів та реалізація вкладених функцій</h3></div></div></div><p>У <span class="application">KDevelop</span> передбачено допоміжну програму для додавання нових класів. Її роботу описано у розділі <a class="link" href="code-generation-with-templates.html#creating-a-new-class" title="Створення класу">Створення класу</a>. Простий клас C++ можна створити за допомогою основного шаблону C++ з категорії <code class="filename">Клас</code>. У допоміжній програмі ви можете вибрати попередні функції-елементи, наприклад порожній конструктор, конструктор копіювання та деструктор. </p><p>Після завершення роботи допоміжної програми буде створено і відкрито у редакторі нові файли. Основу файла заголовків вже буде створено, а у новому класів є всі вибрані нами вбудовані функції. Наступними двома кроками мають бути документування класу та його вбудованих функцій та реалізація цих класів і функцій. Нижче ми обговоримо допоміжні засоби з документування класів і функцій. Щоб реалізувати спеціальні функції, які ми вже додали, просто перейдіть на вкладку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">bus.cpp</span></span>, де вже є каркас наших функцій:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-30.png"><div class="caption"><p></p></div></div></div><p>Щоб додати нові вкладені функції, поверніться на вкладку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">bus.h</span></span> і додайте назву функції. Наприклад, можна додати таке:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-31.png"><div class="caption"><p></p></div></div></div><p>Зауважте, що реалізацію вже розпочато. Але у межах багатьох стилів програмування функції не слід реалізовувати у файлах заголовків, це слід робити у відповідних файлах .cpp. Для цього розташуйте курсор на назві функції і скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Код</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Пересунути до коду</span></span> або натисніть комбінацію клавіш <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>S</strong></span>. Код між фігурними дужками буде пересунуто з файла заголовків (його буде замінено на крапку з комою для завершення оголошення функції) до відповідного файла коду:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-32.png"><div class="caption"><p></p></div></div></div><p>Введення коду розпочато. Змінна <code class="varname">students</code> має, ймовірно, бути вбудованою змінною класу <code class="varname">Bus</code>, але її ще не додано до цього класу. <span class="application">KDevelop</span> підкреслено цю змінну, щоб позначити те, що середовищу ще нічого не відомо про цю змінну. Цю проблему просто розв’язати: натискання назви змінної відкриє таку панель підказки:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-33.png"><div class="caption"><p></p></div></div></div><p>(Того самого результату можна досягти за допомогою пункту контекстного меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Розв’язати: оголосити як</span></span>.) Давайте виберемо «3 - private unsigned int» (за допомогою миші або натискання комбінації клавіш <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>3</strong></span>). Ось що буде додано до файла заголовків:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-34.png"><div class="caption"><p></p></div></div></div><p>Варто зауважити, що <span class="application">KDevelop</span> визначає тип змінної, яку слід оголосити, за виразом, використаним для її ініціалізації. Наприклад, якщо було використано додавання у такому доволі безсумнівному форматі, середовище запропонує тип змінної <code class="varname">double</code>:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-35.png"><div class="caption"><p></p></div></div></div><p>Нарешті, метод використання пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Код</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Пересунути до коду</span></span> не завжди призводить до вставляння вбудованої функції до бажаного місця у коді. Наприклад, вам може бути потрібним визначення коду як <code class="varname">inline</code> і розташування його у нижній частині файла заголовків. У такому разі вкажіть оголошення і почніть введення визначення функції ось так:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-36.png"><div class="caption"><p></p></div></div></div><p><span class="application">KDevelop</span> автоматично пропонує всіх можливі варіанти доповнення. Вибір одного з двох записів <code class="varname">add_students</code> призведе до створення такого коду, у якому вже буде заповнено список параметрів:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-37.png"><div class="caption"><p></p></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>У нашому прикладі, використання одного з варіантів інструмента автоматичного доповнення призводить до додавання належного коду, але, на жаль, вилучає позначку <code class="varname">inline</code>, яку вже написано. Про цю ваду повідомлено як про ваду <a class="ulink" href="https://bugs.kde.org/show_bug.cgi?id=274245" target="_top"><span class="application">KDevelop</span> №274245</a>.</p></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="documenting-declarations"></a>Оголошення для документування</h3></div></div></div><p>Хороший код завжди добре документовано, як на рівні реалізації алгоритмів у функціях, так і на рівні інтерфейсу, — тобто класи (вбудовані і загальні) функції та (вбудовані і загальні) змінні слід документувати, щоб всім було зрозумілим їхнє призначення, можливі значення аргументів, попередні та остаточні умови тощо. У документуванні інтерфейсів фактичним стандартом є формат коментарів <a class="ulink" href="http://www.doxygen.org" target="_top">doxygen</a>, дані його можна видобути і показати на придатних для пошуку інтернет-сторінках.</p><p>У <span class="application">KDevelop</span> передбачено підтримку коментарів у цьому форматі за допомогою скорочення для створення оболонки-коментаря, який документуватиме клас або вбудовану функцію. Наприклад, припустімо ви вже створили такий код:</p><pre class="programlisting">class Car {
  public:
    std::string get_color () const;
};
</pre><p>
</p><p>Тепер нехай вам потрібно додати документацію для класу і вбудованої функції. Для цього пересуньте курсор на перший рядок коду і скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Код</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Документувати оголошення</span></span> або натисніть комбінацію клавіш <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>D</strong></span>. <span class="application">KDevelop</span> відкриє таке діалогове вікно:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-23.png"><div class="caption"><p></p></div></div></div><p>Курсор вже перебуває у затіненій області, щоб ви могли ввести короткий опис (після ключового слова doxygen <code class="varname">@brief</code>) цього класу. Тепер ви можете продовжити додавати документацію до цього коментаря, який краще пояснюватиме призначення класу:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-24.png"><div class="caption"><p></p></div></div></div><p>Доки редагування відбуватиметься у коментарі текст коментаря буде позначено зеленим кольором (колір буде знято, щойно ви виведете курсор за межі коментаря). Коли ви наприкінці рядка натиснете клавішу <span class="keycap"><strong>Enter</strong></span>, <span class="application">KDevelop</span> автоматично додасть новий рядок, що починатиметься з зірочки та відступу у один символ.</p><p>Тепер виконаємо документування вбудованої функції. Знову розташуйте курсор на рядку оголошення і виберіть пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Код</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Документувати оголошення</span></span> або натисніть комбінацію клавіш <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>D</strong></span>:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-25.png"><div class="caption"><p></p></div></div></div><p>Знову ж таки, <span class="application">KDevelop</span> автоматично створить каркас коментаря разом з документації щодо самої функції, а також типом даних, які вона повертає. У нашому випадку назва функції доволі очевидно описує її призначення, але часто аргументи функції можуть бути доволі неочевидними, їх слід документувати окремо. Наприклад, розгляньмо трохи цікавішу функцію та коментар, який автоматично створить для неї <span class="application">KDevelop</span>:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-26.png"><div class="caption"><p></p></div></div></div><p>У нашому прикладі у запропонованому коментарі вже містяться всі поля Doxygen для окремих параметрів.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="renaming-variables-functions-and-classes"></a>Перейменування змінних, функцій і класів</h3></div></div></div><p>Іноді виникає потреба у перейменуванні функції, класу або змінної. Наприклад, нехай маємо такий код:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-38.png"><div class="caption"><p></p></div></div></div><p>Нехай пізніше ми зрозуміємо, що назва <code class="varname">remove_students</code> є невдалою, і її варто назвати, скажімо, <code class="varname">throw_out_students</code>. Ви могли б виконати пошук з заміною назви функції, але у такого способу є два недоліки:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Функцію може бути використано у декількох файлах. </p></li><li class="listitem"><p>Нам потрібно перейменувати лише цю функцію і не чіпати функції, які можуть мати ту саму назву, але які оголошено у інших класах або просторах назв. </p></li></ul></div><p>Обидві ці проблеми можна розв’язати наведенням курсора на всі використання назви функції з наступним вибором пункту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Код</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Перейменувати оголошення</span></span> (або клацанням правою кнопкою миші на назві з вибором пункту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перейменувати Bus::remove_students</span></span>). У відповідь буде відкрито діалогове вікно, за допомогою якого ви зможете ввести нову назву функції і переглянути всі місця, де використано функцію:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-39.png"><div class="caption"><p></p></div></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="code-snippets"></a>Фрагменти коду</h3></div></div></div><p>У більшості проєктів зустрічаються фрагменти коду, які доводиться використовувати доволі часто. Приклади: інструкції компілятора, цикл для всіх інструкцій, для функцій запису інтерфейсу користувача перевірки введених користувачем даних без відкриття вікна повідомлення про помилку. У проєкті автора цього підручника часто використовується такий різновид коду:</p><pre class="programlisting">for (typename Triangulation::active_cell_iterator
       cell = triangulation.begin_active();
     cell != triangulation.end(); ++cell)
  ... якісь дії над cell ...
</pre><p>
</p><p>Замість введення таких фрагментів тексту раз за разом, що може призвести до супутніх друкарських помилок ви можете скористатися інструментом <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Фрагменти</span></span> <span class="application">KDevelop</span>. Для цього відкрийте панель інструментів (див. розділ <a class="ulink" href="http://userbase.kde.org/Special:myLanguage/KDevelop4/Manual/Working%20with%20source%20code#Tools%20and%20views" target="_top">Інструменти і панелі перегляду</a>, якщо відповідної кнопки ще немає на панелях навколо панелі редагування). Натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Додати сховище</span></span> (трохи невдала назва: за допомогою цієї кнопки ви можете створити іменовану збірку фрагментів коду певного типу, наприклад, фрагментів коду C++) і створіть порожнє сховище. Потім натисніть кнопку <span class="inlinemediaobject"><img src="Icon-list-add.png"></span>, щоб додати фрагмент і відкрити таке діалогове вікно:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-40.png"><div class="caption"><p></p></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>У назві фрагмента не повинно бути пробілів та інших спеціальних символів, оскільки такий фрагмент повинен мати назву, подібну до назви звичайної функції або змінної (причини цього викладено нижче).</p></div><p>Щоб скористатися таким чином визначеним фрагментом, вам слід просто почати вводити у коді його назву, як ви це робите для будь-яких інших функцій або змінних. Для введених літер буде відкрито панель автоматичного доповнення (це означає, що можна використовувати будь-які достатньо довгі для розрізнення назви фрагментів, зокрема назви, подібні до використаної нами), якщо ви виберете відповідний пункт фрагмента на панелі підказки автоматичного доповнення (наприклад, натисканням клавіші <span class="keycap"><strong>Enter</strong></span>), вже введену частину назви фрагмента буде замінено повним текстом фрагмента з відповідними відступами:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-41.png"><div class="caption"><p></p></div></div></div><p>Зауважте, що для користування фрагментами не потрібно тримати відкритою і видимою панель інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Фрагменти</span></span>: цією панеллю слід користуватися, лише для визначення нових фрагментів. Іншим, але менш зручним, способом перегляду фрагментів є просте натискання його пункту на відповідній панелі інструмента.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Фрагменти є набагато потужнішими, ніж було пояснено. Повний опис можливостей, які вони надають, ознайомтеся з <a class="ulink" href="https://userbase.kde.org/Special:myLanguage/KDevelop4/Manual/Tool_list/Snippets" target="_top">докладною документацією з інструмента «Фрагменти»</a>.</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="navigating-in-source-code.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="modes-and-working-sets.html">далі</a></td></tr><tr><td class="prevCell">Пересування між фрагментами коду </td><td class="upCell">Робота з кодом програм</td><td class="nextCell"> Режими і робочі набори</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="modes-and-working-sets.html"><html><head><title>Режими і робочі набори</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="working-with-source-code.html" title="Розділ 3. Робота з кодом програм"><link rel="prev" href="writing-source-code.html" title="Введення коду"><link rel="next" href="some-useful-keyboard-shortcuts.html" title="Деякі корисні клавіатурні скорочення"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Режими і робочі набори</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="writing-source-code.html">назад</a></td><td class="upCell">Робота з кодом програм</td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="modes-and-working-sets"></a>Режими і робочі набори</h2></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop4_noworkingset.png"><div class="caption"><p></p></div></div></div><p>Якщо вже ви дочитали до цього місця, зверніть увагу на верхню праву частину головного вікна <span class="application">KDevelop</span>: як можна бачити з наведеного знімка, <span class="application">KDevelop</span> може працювати у трьох <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">режимах</span></span>: <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Код</span></span> (роботу у цьому режимі ми обговорювали у поточному розділі, коли оглядали роботу з кодом), <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Налагоджування</span></span> (див. <a class="link" href="debugging-programs-in-kdevelop.html" title="Розділ 7. Налагоджування програм у KDevelop">Налагоджування програм</a>) та <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд</span></span> (див. <a class="link" href="working-with-version-control-systems.html" title="Розділ 8. Робота з системами керування версіями">Робота з системами керування версіями</a>).</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop4_sessionsprojectsworkingsets.png"><div class="caption"><p></p></div></div></div><p>Для кожного з режимів передбачено власний набір інструментів, кнопки яких розташовано вздовж периметра вікна середовища, для кожного режиму передбачено власний <span class="emphasis"><em>робочий набір</em></span> відкритих файлів і документів. Крім того, кожен такий робочий набір пов’язано з поточним сеансом, тобто маємо взаємозв’язок, подібний до показаного вище. Зауважте, що файли у робочому наборі є частиною одного сеансу, але можуть належати до різних проєктів, які є частинами цього сеансу.</p><p>Якщо ви відкрили вікно <span class="application">KDevelop</span> вперше, робочий набір буде порожнім, — ще не відкрито жодного файла. Але з відкриттям файлів для редагування (або налагоджування, перегляду у інших режимах) ваш робочий набір розширюватиметься. Той факт, що ваш робочий набір не є порожнім, буде показано символом на вкладці, подібно до символу на знімку, наведеному нижче. Кожного разу, коли ви завершуватимете роботу <span class="application">KDevelop</span>, а потім починатимете її знову, робочий набір буде зберігатися і відновлюватися, тобто ви працюватимете з одним набором відкритих файлів.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-10.png"><div class="caption"><p></p></div></div></div><p>Якщо ви наведете вказівник миші на символ робочого набору, середовище покаже вам список файлів, які відкрито у робочому наборі (у нашому прикладі список з файлів <code class="varname">step-32.cc</code> та <code class="varname">step-1.cc</code>). Натискання кнопки з червоним мінусом призведе до закриття вкладки відповідного файла. Натискання кнопки з відповідною назвою надасть вам змогу <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">закрити</span></span> весь робочий набір одразу (тобто закрити всі відкриті файли). Сенс цього пункту у тому, що за його допомогою можна не лише закрити всі файли, але і зберегти робочий набір, а також відкрити новий порожній файл. Ось як це виглядає:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-11.png"><div class="caption"><p></p></div></div></div><p>Зверніть увагу на дві піктограми ліворуч від трьох заголовків вкладок режимів (піктограму з сердечком та іншу піктограму лівіше). Кожній з цих піктограм відповідає збережений робочий набір, окрім вже відкритого робочого набору. Якщо ви наведете вказівник миші на піктограму з сердечком, ви побачите щось таке:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-12.png"><div class="caption"><p></p></div></div></div><p>Середовище показує, що поточний робочий набір складається з двох файлів, та демонструє їхні назви: <code class="varname">Makefile</code> та <code class="varname">changes.h</code>. Натискання кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Завантажити</span></span> призведе до закриття і збереження поточного робочого набору (який у нашому прикладі складається з файлів <code class="varname">tria.h</code> і <code class="varname">tria.cc</code>), після чого буде відкрито вибраний робочий набір. Крім того, ви можете назавжди вилучити робочий набір, тобто усунути його зі списку збережених робочих наборів.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="writing-source-code.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts.html">далі</a></td></tr><tr><td class="prevCell">Введення коду </td><td class="upCell">Робота з кодом програм</td><td class="nextCell"> Деякі корисні клавіатурні скорочення</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="some-useful-keyboard-shortcuts.html"><html><head><title>Деякі корисні клавіатурні скорочення</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="working-with-source-code.html" title="Розділ 3. Робота з кодом програм"><link rel="prev" href="modes-and-working-sets.html" title="Режими і робочі набори"><link rel="next" href="code-generation-with-templates.html" title="Розділ 4. Створення коду за допомогою шаблонів"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Деякі корисні клавіатурні скорочення</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="modes-and-working-sets.html">назад</a></td><td class="upCell">Робота з кодом програм</td><td class="nextCell"><a accesskey="n" href="code-generation-with-templates.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="some-useful-keyboard-shortcuts"></a>Деякі корисні клавіатурні скорочення</h2></div></div></div><p>У редакторі <span class="application">KDevelop</span> використано всі звичайні клавіатурні скорочення для дій з редагування. Крім того, у редакторі передбачено декілька додаткових дій, пов’язаних з редагуванням коду програм. Деякі з цих дій мають відповідні типові клавіатурні скорочення. Нижче наведено частину з корисних клавіатурних скорочень для дій:</p><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Пересування кодом</th></tr></thead><tbody><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>O</strong></span></td><td>Пришвидшене відкриття файла: вкажіть частину назви файла і виберіть той з них у каталозі проєктів поточного сеансу, який вам потрібен; цей файл і буде відкрито.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>C</strong></span></td><td>Пришвидшене відкриття класу: вкажіть частину назви класу і виберіть ту з назв класів, яка вам потрібна; курсор буде переведено до рядка оголошення класу.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>M</strong></span></td><td>Пришвидшене відкриття функції: вкажіть частину назви функції (частини класу) і виберіть з запропонованих варіантів той, який вам потрібен; зауважте, що у списку буде показано оголошення і визначення, а курсор буде переведено до вибраного вами пункту.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Q</strong></span></td><td>Універсальне пришвидшення відкриття: вкажіть будь-які дані (назву файла, назву класу, назву функції), і вам буде показано список всіх частин проєкту, які відповідають критерію пошуку.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>N</strong></span></td><td>Огляд: показує список всіх дій, які виконуються у файлі, наприклад, оголошень класів та визначень функцій.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>,</strong></span></td><td>Перейти до визначення функції, якщо курсор перебуває у місці її оголошення.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>.</strong></span></td><td>Перейти до оголошення функції або змінної, якщо курсор перебуває у позиції визначення функції.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>PageDown</strong></span></td><td>Перейти до наступної функції</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>PageUp</strong></span></td><td>Перейти до попередньої функції</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>G</strong></span></td><td>Перейти до рядка</td></tr></tbody></table></div><p>
</p><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Пошук і заміна</th></tr></thead><tbody><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>F</strong></span></td><td>Знайти</td></tr><tr><td><span class="keycap"><strong>F3</strong></span></td><td>Знайти далі</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>R</strong></span></td><td>Замінити</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>F</strong></span></td><td>Знайти і замінити у декількох файлах</td></tr></tbody></table></div><p>
</p><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Інші команди</th></tr></thead><tbody><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>_</strong></span></td><td>Згорнути один рівень: вилучити блок з перегляду, наприклад, якщо ви бажаєте зосередитися на загальнішій картині у функції</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>+</strong></span></td><td>Розгорнути один рівень: скасувати згортання.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>D</strong></span></td><td>Зняти коментування з позначеного фрагмента тексту або поточного рядка.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>D</strong></span></td><td>Додати позначки коментаря до позначеного тексту або поточного рядка.</td></tr><tr><td><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>D</strong></span></td><td>Документувати поточну функцію. Якщо курсор перебуває на оголошенні функції або класу, натискання цієї комбінації клавіш призведе до створення коментаря у форматі doxygen зі списком параметрів, значень, які повертаються, тощо.</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>T</strong></span></td><td>Поміняти місцями поточний і попередній символи</td></tr><tr><td><span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>K</strong></span></td><td>Вилучити поточний рядок (зауваження: ця дія не збігається за результатом з дією «вилучити звідси до кінця рядка» у emacs).</td></tr></tbody></table></div><p>
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="modes-and-working-sets.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="code-generation-with-templates.html">далі</a></td></tr><tr><td class="prevCell">Режими і робочі набори </td><td class="upCell">Робота з кодом програм</td><td class="nextCell"> Створення коду за допомогою шаблонів</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="creating-projects-from-scratch.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="exploring-source-code.html">далі</a></td></tr><tr><td class="prevCell">Створення проєктів «з нуля» </td><td class="upCell"> </td><td class="nextCell"> Огляд роботи з кодом</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="code-generation-with-templates.html"><html><head><title>Розділ 4. Створення коду за допомогою шаблонів</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="some-useful-keyboard-shortcuts.html" title="Деякі корисні клавіатурні скорочення"><link rel="next" href="creating-a-new-unit-test.html" title="Створення тесту модуля"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Створення коду за допомогою шаблонів</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="creating-a-new-unit-test.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="code-generation-with-templates"></a>Розділ 4. Створення коду за допомогою шаблонів</h1></div></div></div><p>У <span class="application">KDevelop</span> для створення початкового коду можна використовувати шаблони. Отже, за допомогою шаблонів ви можете уникнути повторного написання поширених частин коду. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-a-new-class"></a>Створення класу</h2></div></div></div><p>Найпоширенішим випадком використання створення коду за шаблоном є, ймовірно, написання нового класу. Щоб створити новий клас у вже створеному проєкті, наведіть вказівник миші на теку проєкту, клацніть правою кнопкою миші і виберіть у контекстному меню пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Створити з шаблону…</span></span>. Те саме діалогове вікно може бути відкрито за допомогою меню, пункту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Створити з шаблону…</span></span>, але використання теки проєкту має перевагу встановлення базової адреси для вихідних файлів. Виберіть <code class="filename">Клас</code> на панелі вибору категорії, бажану мову програмування та шаблон. Після вибору шаблону класу вам слід вказати інші характеристики нового класу. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-selection.png"></div></div><p>
</p><p>Спочатку слід вказати ідентифікатор нового класу. Це може бути проста назва (наприклад <code class="varname">Bus</code>) або повний ідентифікатор у просторі назв (наприклад <code class="varname">Transportation::Bus</code>). У останньому випадку <span class="application">KDevelop</span> виконає обробку ідентифікатора і відповідним чином відокремить простір назв від назви класу. За допомогою цієї самої сторінки ви можете додати основні класи для нового класу. Ви можете зауважити, що у деяких шаблонах уже передбачено вибір основних класів. Ви можете просто вилучити зайві і/або додати інші основні класи. Тут вам слід вказати інструкцію наслідування повністю. Звичайно ж, така інструкція залежить від вибраної мови програмування, це буде <code class="varname">public QObject</code> для C++, <code class="varname">extends SomeClass</code> для PHP або просто назва класу для Python. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-inheritance.png"></div></div><p>
</p><p>За допомогою наступної сторінки ви можете вибрати віртуальні методи з успадкованих класів, а також типові конструктори, деструктори і оператори. Реалізувати метод у новому класі можна простим позначенням пунктів з підписами методів. </p><p>Після натискання кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Далі</span></span> буде показано сторінку, за допомогою якої ви можете додати до класу методи. Залежно від вибраного шаблону, методи може бути реалізовано у новому класі як змінні-елементи або може бути створено властивості з функціями встановлення та отримання значень. У мовах, де типи змінних слід оголошувати, зокрема у C++, вам слід вказати одразу тип і назву елемента, наприклад <code class="varname">int number</code> або <code class="varname">QString name</code>. У інших мовах можна не вказувати тип, але все ж варто його визначити, оскільки таке визначення може бути корисним для подальшої роботи з шаблоном. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-members.png"></div></div><p>
</p><p>За допомогою наступних сторінок ви зможете вибрати умови ліцензування вашого нового класу, встановити нетипові параметри, характерні для вибраного шаблону, та налаштувати місце зберігання виведених даних для всіх створених програмою файлів. Натискання кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Завершити</span></span> призведе до завершення роботи допоміжної програми і створення нового класу. Створені допоміжною програмою файли буде одразу відкрито у вікні редактора, отже ви зможете негайно перейти до додавання потрібного коду. </p><p>Після створення класу C++ програма запропонує вам додати клас до певної цілі у проєкті. Виберіть у діалоговому вікні відповідну ціль або закрийте діалогове вікно і додайте файли до цілі вручну. </p><p>Якщо ви вибрали шаблон <code class="filename">Об’єкт Qt</code>, вибрали певні типові методи та додали дві змінні-елемента, результат має виглядати так, як це зображено нижче. </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-result.png"></div></div><p>
</p><p>Як можна бачити, дані-елементи перетворено на властивості Qt з функціями доступу та макросами Q_PROPERTY. Крім того, аргументи функцій встановлення передано з посиланнями на сталі там, де це потрібно. Крім того, оголошено закритий клас (private) та створено закритий вказівник з Q_DECLARE_PRIVATE. Все це зроблено відповідним шаблоном. Вибір іншого шаблону на першому кроці може призвести до зовсім іншого результату. </p></div><FILENAME filename="creating-a-new-unit-test.html"><html><head><title>Створення тесту модуля</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="code-generation-with-templates.html" title="Розділ 4. Створення коду за допомогою шаблонів"><link rel="prev" href="code-generation-with-templates.html" title="Розділ 4. Створення коду за допомогою шаблонів"><link rel="next" href="other-files.html" title="Інші файли"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Створення тесту модуля</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-generation-with-templates.html">назад</a></td><td class="upCell">Створення коду за допомогою шаблонів</td><td class="nextCell"><a accesskey="n" href="other-files.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="creating-a-new-unit-test"></a>Створення тесту модуля</h2></div></div></div><p>Хоча у більшості комплексів для тестування кожен з тестів має бути окремим класом, у <span class="application">KDevelop</span> передбачено метод спрощення створення тестів для модулів програми. Щоб створити новий тест, наведіть вказівник миші на теку проєкту, клацніть правою кнопкою миші і виберіть у контекстному меню пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Створити з шаблону…</span></span>. На сторінці вибору шаблону у полі категорії виберіть <code class="filename">Перевірка</code>, потім виберіть мову програмування і шаблон та натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Далі</span></span>. </p><p>Вас попросять ввести назву перевірки і список варіантів перевірки. Для варіантів вам слід вказати список назв. У деяких комплексах для тестування модулів, зокрема PyUnit і PHPUnit, слід назви варіантів перевірки мають починатися з особливого префікса. У <span class="application">KDevelop</span> за додавання префіксів відповідає шаблон, отже вам не потрібно вказувати префікс для варіантів. Після натискання кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Далі</span></span> вкажіть умови ліцензування і розташування файлів виведених даних. <span class="application">KDevelop</span> виконає решту роботи у автоматичному режимі. </p><p>Створені таким чином тести модулів не буде автоматично додано до жодної з цілей проєкту. Якщо ви користуєтеся CTest або якимось іншим комплексом для тестування, не забудьте додати нові файли до цілі. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="code-generation-with-templates.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="other-files.html">далі</a></td></tr><tr><td class="prevCell">Створення коду за допомогою шаблонів </td><td class="upCell">Створення коду за допомогою шаблонів</td><td class="nextCell"> Інші файли</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="other-files.html"><html><head><title>Інші файли</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="code-generation-with-templates.html" title="Розділ 4. Створення коду за допомогою шаблонів"><link rel="prev" href="creating-a-new-unit-test.html" title="Створення тесту модуля"><link rel="next" href="managing-templates.html" title="Керування шаблонами"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Інші файли</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="creating-a-new-unit-test.html">назад</a></td><td class="upCell">Створення коду за допомогою шаблонів</td><td class="nextCell"><a accesskey="n" href="managing-templates.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="other-files"></a>Інші файли</h2></div></div></div><p>Хоча роботу засобів створення коду на основі шаблонів акцентовано на створенні класів та тестів модулів, подібну методику можна застосувати для створення будь-яких фрагментів файлів коду. Наприклад, можна скористатися шаблонами для модулів пошуку CMake або файлів .desktop. Для цього просто виберіть пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Створити з шаблону…</span></span>, а потім позначте відповідну категорію і шаблон. Якщо шаблон не належить до категорій <code class="filename">Клас</code> або <code class="filename">Перевірка</code>, вам достатньо буде вибрати умови ліцензування, значення додаткових параметрів шаблона та розташування файлів результату. Як і для класів з тестами, на завершення роботи допоміжної програми буде створено відповідні файли і відкрито їх у вікні редактора. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="creating-a-new-unit-test.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="managing-templates.html">далі</a></td></tr><tr><td class="prevCell">Створення тесту модуля </td><td class="upCell">Створення коду за допомогою шаблонів</td><td class="nextCell"> Керування шаблонами</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="managing-templates.html"><html><head><title>Керування шаблонами</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="code-generation-with-templates.html" title="Розділ 4. Створення коду за допомогою шаблонів"><link rel="prev" href="other-files.html" title="Інші файли"><link rel="next" href="building-compiling-projects-with-custom-makefiles.html" title="Розділ 5. Збирання (компіляція) проєктів з нетиповими Makefile"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Керування шаблонами</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-files.html">назад</a></td><td class="upCell">Створення коду за допомогою шаблонів</td><td class="nextCell"><a accesskey="n" href="building-compiling-projects-with-custom-makefiles.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="managing-templates"></a>Керування шаблонами</h2></div></div></div><p>Ви можете отримати додаткові файли шаблонів безпосередньо з вікна, яке можна відкрити за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Файл</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Створити з шаблону…</span></span>: достатньо натиснути кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Отримати додаткові шаблони...</span></span>. У відповідь буде відкрито вікно отримання нових даних, за допомогою якого ви зможете встановити додаткові шаблони, оновити вже встановлені шаблони або вилучити непотрібні вам шаблони. Також передбачено модуль налаштовування для шаблонів. Доступ до цього модуля можна отримати за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Параметри</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Налаштувати <span class="application">KDevelop</span></span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Шаблони</span></span>. За допомогою цього модуля ви можете керувати шаблонами файлів (описано вище) і шаблонами проєктів (використовується для створення проєктів). </p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-template-manager.png"></div></div><p>
</p><p>Звичайно ж, якщо потребам вашого проєкту не відповідає жоден шаблон, ви можете створити новий. Ймовірно, найпростішим способом буде копіювання вже створеного шаблона з наступним внесенням до нього змін. Вам можуть допомогти короткі <a class="ulink" href="https://techbase.kde.org/Development/Tutorials/KDevelop/Creating_a_class_template" target="_top">настанови</a> та розгорнутий <a class="ulink" href="http://techbase.kde.org/Projects/KDevelop4/File_template_specification" target="_top">довідковий документ</a>. Щоб скопіювати встановлений шаблон, відкрийте вікно керування шаблонами за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Параметри</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Налаштувати <span class="application">KDevelop</span>...</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Шаблони</span></span>, виберіть шаблон, який слід скопіювати, потім натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Видобути шаблон</span></span>. Виберіть теку призначення, потім натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Гаразд</span></span>. Вміст шаблона буде видобуде до вказаної вами теки. Тепер ви можете почати редагування шаблона: відкривати і змінювати видобуті файли. Щойно потрібні зміни буде внесено, ви можете імпортувати ваш новий шаблон до <span class="application">KDevelop</span>: відкрийте засіб керування шаблонами, перейдіть на відповідну вкладку (<span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Шаблони проєктів</span></span> або <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Шаблони файлі</span></span>) і натисніть кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Завантажити шаблон</span></span>. Відкрийте файл опису шаблона, тобто файл з суфіксом назви <code class="varname">.kdevtemplate</code> або <code class="varname">.desktop</code>. <span class="application">KDevelop</span> стисне всі файли до архіву шаблона і імпортує його дані. </p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Якщо ви копіюєте вже створений шаблон, не забудьте перейменувати його до повторного імпортування. Якщо ви цього не зробите, попередній шаблон буде перезаписано або у списку з’являться два шаблони з однаковими назвами. Щоб перейменувати шаблон, перейменуйте файл опису так, щоб він мав унікальну назву (суфікс слід зберегти), і змініть запис <code class="filename">Name</code> у файлі опису. </p></div><p>
</p><p>Якщо вам потрібно створити шаблон «з нуля», ви можете почати зі зразка шаблону класу C++: <a class="link" href="creating-projects-from-scratch.html" title="Створення проєктів «з нуля»">створіть новий проєкт</a> і виберіть проєкт <code class="filename">Шаблон класу C++</code> у категорії <code class="filename">KDevelop</code>. </p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="other-files.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="building-compiling-projects-with-custom-makefiles.html">далі</a></td></tr><tr><td class="prevCell">Інші файли </td><td class="upCell">Створення коду за допомогою шаблонів</td><td class="nextCell"> Збирання (компіляція) проєктів з нетиповими Makefile</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="creating-a-new-unit-test.html">далі</a></td></tr><tr><td class="prevCell">Деякі корисні клавіатурні скорочення </td><td class="upCell"> </td><td class="nextCell"> Створення тесту модуля</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="building-compiling-projects-with-custom-makefiles.html"><html><head><title>Розділ 5. Збирання (компіляція) проєктів з нетиповими Makefile</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="managing-templates.html" title="Керування шаблонами"><link rel="next" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html" title="Вибір збірки цілей з Makefile для регулярного збирання"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Збирання (компіляція) проєктів з нетиповими Makefile</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="managing-templates.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="building-compiling-projects-with-custom-makefiles"></a>Розділ 5. Збирання (компіляція) проєктів з нетиповими Makefile</h1></div></div></div><p>У багатьох проєктах спосіб збирання файлів коду та визначення тих файлів, які слід повторно зібрати у разі внесення змін до коду, виконується за допомогою файлів Makefile, обробку яких здійснює програма <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">make</span></span> (див., наприклад, <a class="ulink" href="https://www.gnu.org/software/make/" target="_top">GNU make</a>). У простих проєктах нескладно створити такий файл власноруч. У великих проєктах створення таких файлів часто покладається на <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">GNU autotools</span></span> (autoconf, autoheader, automake). У цьому розділі ми припускатимемо, що файл Makefile вашого проєкту вже створено, вам просто потрібно вказати <span class="application">KDevelop</span>, у який спосіб слід взаємодіяти з цим файлом.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p><span class="application">KDevelop</span> 4.x не може працювати з <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">GNU autotools</span></span> безпосередньо на час написання цього підручника. Якщо відповідні інструменти використовуються у вашому проєкті, вам доведеться запускати скрипт <code class="varname">./configure</code> або подібний до нього скрипт з командного рядка вручну. Якщо ви бажаєте зробити це з самого вікна <span class="application">KDevelop</span>, відкрийте панель інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Konsole</span></span> (якщо потрібно, додайте цю панель у нижній частині головного вікна за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Вікна</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Додати панель інструмента</span></span>), у якій можна буде віддати команду оболонці і вкажіть команду <code class="varname">./configure</code>.</p></div><p>Насамперед, слід повідомити <span class="application">KDevelop</span> про цілі збирання у вашому файлі Makefile. Передбачено два способи: вибір окремих цілей Makefile і вибір набору цілей, які потрібно збирати доволі часто. Для реалізації обох цих способів слід відкрити вікно інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкти</span></span> натисканням заголовка вкладки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкти</span></span>, розташованої у лівій частині головного вікна <span class="application">KDevelop</span> (якщо цього заголовка немає у вікні вашої програми, вище наведено настанови щодо додавання кнопки відповідного інструмента). Панель <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкти</span></span> складається з двох частин. У верхній частині з заголовком <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкти</span></span> показано список всіх ваших проєктів, у якому можна розгортати пункти каталогів. У нижній частині з заголовком <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Вибір проєкту</span></span> показано список набори проєктів, які буде зібрано, якщо ви виберете пункт меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Проєкт</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Зібрати позначене</span></span> або натиснете клавішу <span class="keycap"><strong>F8</strong></span>; нижче ми поговоримо про цю частину докладніше.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="building-individual-makefile-targets"></a>Збирання окремих цілей з Makefile</h2></div></div></div><p>У верхній частині панелі проєктів розгорніть список одного з проєктів, наприклад, того, для якого слід виконати збирання однієї з цілей Makefile. У списку ви побачите піктограми каталогів, файлів у каталозі верхнього рівня проєкту, цілі Makefile, які вдалося визначити <span class="application">KDevelop</span>. На знімку вікна ці категорії показано праворуч. Зауважте, що <span class="application">KDevelop</span> певною мірою <span class="emphasis"><em>розуміє</em></span> синтаксис Makefile і тому сам визначає цілі, визначені у файлі Makefile (хоча це розуміння і має певні обмеження: не буде показано складені або неявні цілі).</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-1a.png"><div class="caption"><p></p></div></div></div><p>Щоб зібрати будь-яку з цілей у списку, наведіть на її пункт вказівник миші, клацніть правою кнопкою миші і виберіть у контекстному меню пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Зібрати</span></span>. Наприклад, виконання цих дій для цілі «clean» призведе до виконання команди «make clean». Повідомлення щодо виконання дій можна буде побачити у підвікні <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Збирання</span></span>. Це вікно відповідає інструменту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Зібрати</span></span>, отже його можна закрити і пізніше відкрити за допомогою пункту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Зібрати</span></span>, розташованої на панелі інструментів головного вікна. На нашому знімку цю кнопку розташовано праворуч внизу.</p></div><FILENAME filename="selecting-a-collection-of-makefile-targets-for-repeated-building.html"><html><head><title>Вибір збірки цілей з Makefile для регулярного збирання</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="building-compiling-projects-with-custom-makefiles.html" title="Розділ 5. Збирання (компіляція) проєктів з нетиповими Makefile"><link rel="prev" href="building-compiling-projects-with-custom-makefiles.html" title="Розділ 5. Збирання (компіляція) проєктів з нетиповими Makefile"><link rel="next" href="what-to-do-with-error-messages.html" title="Обробка повідомлень про помилки"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Вибір збірки цілей з Makefile для регулярного збирання</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="building-compiling-projects-with-custom-makefiles.html">назад</a></td><td class="upCell">Збирання (компіляція) проєктів з нетиповими Makefile</td><td class="nextCell"><a accesskey="n" href="what-to-do-with-error-messages.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="selecting-a-collection-of-makefile-targets-for-repeated-building"></a>Вибір збірки цілей з Makefile для регулярного збирання</h2></div></div></div><p>Клацання правою кнопкою миші на окремих пунктах цілей швидко втомлює. Набагато простіше було б створити для одного або декількох проєктів окремі цілі, які постійно збираються протягом розробки. З цією метою у середовищі реалізовано «збирання позначених цілей»: збирання наборів цілей Makefile у певному порядку у відповідь на натискання кнопки <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Зібрати позначене</span></span> у верхній частині вікна, вибір пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Проєкт</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Зібрати позначене</span></span> або натискання клавіші <span class="keycap"><strong>F8</strong></span>.</p><p>Список позначених цілей Makefile показано у нижній частині панелі <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкти</span></span>.</p><p>Типово, позначено буде всі проєкти, але ви можете змінити список. Наприклад, якщо у вашому списку проєктів три проєкти (базова бібліотека L і дві програми, A і B), але зараз ви працюєте лише над проєктом A, ви можете вилучити проєкт B зі списку: позначте його пункт і натисніть кнопку <span class="inlinemediaobject"><img src="Icon-list-remove.png"></span>. Крім того, вам, ймовірно, захочеться, щоб бібліотеку L було зібрано перед проєктом A. Змініть порядок пунктів у списку за допомогою кнопок, розташованих праворуч від списку. Ви також можете додати певну ціль Makefile до позначених: клацніть правою кнопкою миші у вільному місці списку і виберіть у контекстному меню пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Додати до набору збирання</span></span> або просто позначте відповідний пункт і натисніть кнопку <span class="inlinemediaobject"><img src="Icon-list-add.png"></span>, розташовану над списком позначених цілей.</p><p>У <span class="application">KDevelop</span> передбачено можливість визначення дій під час збирання позначених цілей. Щоб виконати налаштування, скористайтеся пунктом <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Проєкт</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Відкрити налаштування</span></span>. У налаштуваннях ви, наприклад, можете визначити кількість завдань, які «make» може виконувати одночасно (якщо на вашому комп’ютері встановлено, скажімо, 8 процесорних ядер, введення числа 8 у відповідне поле буде доречним вибором). У діалоговому вікні <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Типовою ціллю make</span></span> є ціль Makefile, використана для <span class="emphasis"><em>всіх</em></span> цілей у позначеному наборі.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="building-compiling-projects-with-custom-makefiles.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="what-to-do-with-error-messages.html">далі</a></td></tr><tr><td class="prevCell">Збирання (компіляція) проєктів з нетиповими Makefile </td><td class="upCell">Збирання (компіляція) проєктів з нетиповими Makefile</td><td class="nextCell"> Обробка повідомлень про помилки</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="what-to-do-with-error-messages.html"><html><head><title>Обробка повідомлень про помилки</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="building-compiling-projects-with-custom-makefiles.html" title="Розділ 5. Збирання (компіляція) проєктів з нетиповими Makefile"><link rel="prev" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html" title="Вибір збірки цілей з Makefile для регулярного збирання"><link rel="next" href="running-programs-in-kdevelop.html" title="Розділ 6. Запуск програм у KDevelop"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Обробка повідомлень про помилки</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">назад</a></td><td class="upCell">Збирання (компіляція) проєктів з нетиповими Makefile</td><td class="nextCell"><a accesskey="n" href="running-programs-in-kdevelop.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="what-to-do-with-error-messages"></a>Обробка повідомлень про помилки</h2></div></div></div><p>Якщо під час компіляції буде виявлено помилку, просто наведіть вказівник миші на повідомлення про помилку і клацніть лівою кнопкою миші. Курсор буде переведено до рядка (і, якщо вказано, позиції у рядку), де було виявлено помилку. Залежно від типу помилки, <span class="application">KDevelop</span> може також запропонувати вам декілька варіантів дій для її виправлення, наприклад, за допомогою оголошення неоголошеної змінної, якщо таку змінну було виявлено.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="running-programs-in-kdevelop.html">далі</a></td></tr><tr><td class="prevCell">Вибір збірки цілей з Makefile для регулярного збирання </td><td class="upCell">Збирання (компіляція) проєктів з нетиповими Makefile</td><td class="nextCell"> Запуск програм у <span class="application">KDevelop</span></td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="managing-templates.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="selecting-a-collection-of-makefile-targets-for-repeated-building.html">далі</a></td></tr><tr><td class="prevCell">Керування шаблонами </td><td class="upCell"> </td><td class="nextCell"> Вибір збірки цілей з Makefile для регулярного збирання</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="running-programs-in-kdevelop.html"><html><head><title>Розділ 6. Запуск програм у KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="what-to-do-with-error-messages.html" title="Обробка повідомлень про помилки"><link rel="next" href="some-useful-keyboard-shortcuts0.html" title="Деякі корисні клавіатурні скорочення"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Запуск програм у <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="what-to-do-with-error-messages.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts0.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="running-programs-in-kdevelop"></a>Розділ 6. Запуск програм у <span class="application">KDevelop</span></h1></div></div></div><p>Після збирання програми її слід запустити. Щоб зробити це, вам слід налаштувати <span class="emphasis"><em>інструменти запуску</em></span> для ваших проєктів. <span class="emphasis"><em>Інструмент запуску</em></span> складається з назви виконуваного файла, набору параметрів командного рядка та середовища виконання (наприклад, «запустити програму у командній оболонці» або «запустити цю програму за допомогою інструменту для усування вад»).</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="setting-up-launches-in-kdevelop"></a>Налаштування запуску у <span class="application">KDevelop</span></h2></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-2.png"><div class="caption"><p></p></div></div></div><p>Щоб налаштувати інструменти запуску, скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Виконання</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Налаштувати запуски</span></span>, позначте у списку проєкт, до якого ви хочете додати інструмент запуску і натисніть <span class="inlinemediaobject"><img src="Icon-list-add.png"></span>. Потім введіть назву виконуваного файла і адресу каталогу, з якого має бути запущено програму. Якщо запуск виконуваного файла залежить від результату збирання виконуваного файла і/або інших бібліотек, ви можете додати їх назви до списку, розташованого у нижній частині вікна: виберіть пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Зібрати</span></span> зі спадного меню, потім натисніть кнопку <span class="inlinemediaobject"><img src="Icon-folder.png"></span> праворуч від поля для введення тексту і виберіть ціль для збирання. У нашому прикладі вибрано ціль <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">все</span></span> з проєкту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>1.deal.II</code></em></span> і <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>step-32</code></em></span> з проєкту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>1.step-32</code></em></span> з метою забезпечити одночасне збирання основної бібліотеки та програми на її основі до запуску програми. За допомогою цього ж діалогового вікна можна налаштувати налагоджування під час запуску: натисніть пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Налагоджування</span></span> і додайте назву виконуваного файла зневадника. Якщо цим зневадником є типовий зневадник системи (наприклад, <span class="application">gdb</span> у <span class="trademark">Linux</span>®), вам не доведеться нічого додатково визначати.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-3.png"><div class="caption"><p></p></div></div></div><p>Тепер можна спробувати запустити програму: скористайтеся пунктом меню головного вікна <span class="application">KDevelop</span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Виконання</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Виконати запуск</span></span> (або натисніть комбінацію клавіш <span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>F9</strong></span>) і вашу програму буде запущено у окремому підвікні <span class="application">KDevelop</span>. На наведеному вище знімку показано результат: нове підвікно <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Виконання</span></span>, у якому можна бачити результати роботи запущеної програми, у нашому прикладі <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="replaceable"><em class="replaceable"><code>step-32</code></em></span>.</p><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>Якщо вами було налаштовано декілька інструментів запуску, ви можете вибрати той з них, який запускатиметься у відповідь на натискання комбінації клавіш <span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>F9</strong></span>: скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Виконання</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Поточні налаштування запуску</span></span>. Існує неочевидний спосіб зміни назви налаштувань: у діалоговому вікні, яке можна відкрити за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Виконання</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Поточні налаштування запуску</span></span> двічі клацніть лівою кнопкою миші на пункті назви налаштувань у ієрархії ліворуч. Після цього ви зможете змінити назву налаштувань.</p></div></div><FILENAME filename="some-useful-keyboard-shortcuts0.html"><html><head><title>Деякі корисні клавіатурні скорочення</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="running-programs-in-kdevelop.html" title="Розділ 6. Запуск програм у KDevelop"><link rel="prev" href="running-programs-in-kdevelop.html" title="Розділ 6. Запуск програм у KDevelop"><link rel="next" href="debugging-programs-in-kdevelop.html" title="Розділ 7. Налагоджування програм у KDevelop"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Деякі корисні клавіатурні скорочення</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="running-programs-in-kdevelop.html">назад</a></td><td class="upCell">Запуск програм у <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="debugging-programs-in-kdevelop.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="some-useful-keyboard-shortcuts0"></a>Деякі корисні клавіатурні скорочення</h2></div></div></div><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Запуск програми</th></tr></thead><tbody><tr><td><span class="keycap"><strong>F8</strong></span></td><td>Зібрати (викликати make)</td></tr><tr><td><span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>F9</strong></span></td><td>Виконати</td></tr><tr><td><span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>F9</strong></span></td><td>Виконати програму під керування зневадника. Перед таким запуском варто встановити точки зупинки: для цього достатньо клацнути правою кнопкою у відповідному рядку коду і вибрати пункт контекстного меню, пов’язаний зі встановленням точки зупинки.</td></tr></tbody></table></div><p>
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="running-programs-in-kdevelop.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="debugging-programs-in-kdevelop.html">далі</a></td></tr><tr><td class="prevCell">Запуск програм у <span class="application">KDevelop</span> </td><td class="upCell">Запуск програм у <span class="application">KDevelop</span></td><td class="nextCell"> Налагоджування програм у <span class="application">KDevelop</span></td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="what-to-do-with-error-messages.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts0.html">далі</a></td></tr><tr><td class="prevCell">Обробка повідомлень про помилки </td><td class="upCell"> </td><td class="nextCell"> Деякі корисні клавіатурні скорочення</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="debugging-programs-in-kdevelop.html"><html><head><title>Розділ 7. Налагоджування програм у KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="some-useful-keyboard-shortcuts0.html" title="Деякі корисні клавіатурні скорочення"><link rel="next" href="attaching-the-debugger-to-a-running-process.html" title="Приєднання програми для налагоджування до запущеного процесу"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Налагоджування програм у <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts0.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="attaching-the-debugger-to-a-running-process.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="debugging-programs-in-kdevelop"></a>Розділ 7. Налагоджування програм у <span class="application">KDevelop</span></h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="running-a-program-in-the-debugger"></a>Запуск програми під керуванням програми для налагоджування</h2></div></div></div><p>Після того, як запуск програми буде налаштовано (див. <a class="ulink" href="http://userbase.kde.org/Special:myLanguage/KDevelop4/Manual/Running%20programs" target="_top">Запуск програм</a>), ви зможете запускати програму під керуванням інструмента налагоджування: скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Виконання</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Налагоджувальний запуск</span></span> або натисніть комбінацію клавіш <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>F9</strong></span>. Якщо ви знайомі з роботою <span class="application">gdb</span>, результат буде той самий, що і після запуску <span class="application">gdb</span> з вказаним виконуваним файлом у налаштуваннях запуску з наступною командою <code class="varname">Run</code>. Це означає, що якщо програмою буде десь викликано <code class="varname">abort()</code> (наприклад, якщо оператором контролю буде виявлено помилку) або якщо буде виявлено помилку сегментування, інструмент налагоджування зупинить роботу програми. З іншого боку, якщо програма зможе виконати роботу до кінця (правильно чи неправильно), інструмент налагоджування не зупинятиме її роботу, аж доки ця робота не завершиться сама. У такому разі вам можуть знадобитися встановлені ще до запуску програми точки зупинки у всіх рядках коду, де інструмент налагоджування має зупиняти роботу програми. Встановити такі точки зупинки можна встановленням курсора у відповідному рядку з наступним вибором пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Виконання</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Встановити/зняти точку зупинки</span></span> або використанням пункту контекстного меню (викликається клацанням правою кнопкою миші) <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Встановити/зняти точку зупинки</span></span>.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-4.png"><div class="caption"><p></p></div></div></div><p>Запуск програми у зневаднику переведе <span class="application">KDevelop</span> у інший режим: всі кнопки інструментів на периметрі головного вікна програми буде замінено на відповідні кнопки налагоджування, а не редагування. Визначити режим, у якому працює програма можна за верхньою правою частиною вікна: там ви побачите вкладки з назвами <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд</span></span>, <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Налагоджування</span></span> та <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Код</span></span>. Натискання заголовків цих вкладок надає змогу перемикатися між трьома режимами. У кожного з режимів є власний набір інструментів, налаштувати їхній перелік можна у такий само спосіб, у який ми налаштовували інструменти режиму <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Код</span></span> у розділі <a class="link" href="working-with-source-code.html#tools-and-views" title="Інструменти та панелі перегляду">Інструменти та панелі перегляду</a>.</p><p>Після зупинки інструмента налагоджування (у точці зупинки або у точці виклику <code class="varname">abort()</code>) ви зможете вивчити різноманітні дані щодо роботи програми. Наприклад, на наведеному вище зображенні нами вибрано інструмент <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Стек викликів</span></span> у нижній частині (приблизний еквівалент команд <span class="quote">«<span class="quote">backtrace</span>»</span> та <span class="quote">«<span class="quote">info threads</span>»</span> у <span class="application">gdb</span>), отже показано список запущених потоків виконання ліворуч (у нашому прикладі таких потоків 8) та спосіб переходу до поточної точки зупинки праворуч (у нашому прикладі <code class="varname">main()</code> викликано <code class="varname">run()</code>; список був би довшим, якби ми зупинилися у функції, викликаній з <code class="varname">run()</code>). Ліворуч можна бачити локальні змінні, зокрема поточний об’єкт (об’єкт, на який вказує змінна <code class="varname">this</code>).</p><p>Після зупинки ви можете діяти у декілька способів: наказати виконати поточний рядок (<span class="keycap"><strong>F10</strong></span>, команда «next» <span class="application">gdb</span>), увійти до функції (<span class="keycap"><strong>F11</strong></span>, команда «step» у <span class="application">gdb</span>) або виконати інструкції до кінця функції (<span class="keycap"><strong>F12</strong></span>, команда «finish» <span class="application">gdb</span>). На кожному з етапів виконання <span class="application">KDevelop</span> оновлюватиме значення змінних, показані ліворуч. Ви також можете просто навести вказівник миші на частину коду, наприклад, назву змінної, і <span class="application">KDevelop</span> покаже поточне значення та запропонує зупинити виконання програми під час наступної зміни значення змінної. Якщо ви знайомі з <span class="application">gdb</span>, ви також можете натиснути кнопку інструмента <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">GDB</span></span> у нижній частині вікна і отримати змогу вводити команди <span class="application">gdb</span> безпосередньо, наприклад, для того, щоб змінити значення змінної (у поточній версії середовища, здається, не передбачено іншого способу).</p></div><FILENAME filename="attaching-the-debugger-to-a-running-process.html"><html><head><title>Приєднання програми для налагоджування до запущеного процесу</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="debugging-programs-in-kdevelop.html" title="Розділ 7. Налагоджування програм у KDevelop"><link rel="prev" href="debugging-programs-in-kdevelop.html" title="Розділ 7. Налагоджування програм у KDevelop"><link rel="next" href="some-useful-keyboard-shortcuts1.html" title="Деякі корисні клавіатурні скорочення"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Приєднання програми для налагоджування до запущеного процесу</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="debugging-programs-in-kdevelop.html">назад</a></td><td class="upCell">Налагоджування програм у <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts1.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="attaching-the-debugger-to-a-running-process"></a>Приєднання програми для налагоджування до запущеного процесу</h2></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-9.png"><div class="caption"><p></p></div></div></div><p>Іноді виникає потреба у налагоджуванні програми, яку вже запущено. Одним з випадків такої потреби є налагоджування паралельно запущених за допомогою <a class="ulink" href="https://computing.llnl.gov/tutorials/mpi/" target="_top">MPI</a> програм або налагоджування довготривалого фонового процесу. Виконати таке налагоджування можна за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Виконання</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Долучити до процесу</span></span>, у відповідь на вибір якого буде відкрито вікно, подібне до наведеного вище. Вам потрібно вибрати програму, яка відповідає поточному відкритому проєкту у <span class="application">KDevelop</span> — у нашому випадку такою програмою буде step-32.</p><p>Цей список програм може бути доволі довгим, як у нашому прикладі. Ви можете дещо спростити собі роботу за допомогою спадного списку у верхній частині вікна. Типовим пунктом цього списку є <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Процеси користувачів</span></span>, тобто всі програми, запущені всіма користувачами, які працюють у системі (якщо ви працюєте за власним стаціонарним або портативним комп’ютером, ймовірно, ви є єдиним користувачем, окрім користувача root та різноманітних облікових записів служб); у списку не буде процесів користувача root. Обмежити перелік процесів можна за допомогою пункту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Власні процеси</span></span>, його вибір призведе до вилучення зі списку програм, запущених іншими користувачами. Кращим варіантом є вибір пункту <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Лише програми</span></span>, — зі списку буде вилучено багато процесів, які формально запущено від вашого імені, але які ви власноруч не запускали, зокрема програма для керування вікнами, фонові завдання тощо навряд чи є достойними кандидатами для налагоджування.</p><p>Після вибору процесу, долучення до нього переведе <span class="application">KDevelop</span> у режим налагоджування, відкриє всі звичайні панелі налагоджування і зупинить програму на рядку, який виконувався під час долучення. На цьому етапі доцільно встановити точки зупинки, точки перегляду або налаштувати інші елементи стеження за виконанням, а потім продовжити виконання програми за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Виконання</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Продовжити</span></span>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="debugging-programs-in-kdevelop.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="some-useful-keyboard-shortcuts1.html">далі</a></td></tr><tr><td class="prevCell">Налагоджування програм у <span class="application">KDevelop</span> </td><td class="upCell">Налагоджування програм у <span class="application">KDevelop</span></td><td class="nextCell"> Деякі корисні клавіатурні скорочення</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="some-useful-keyboard-shortcuts1.html"><html><head><title>Деякі корисні клавіатурні скорочення</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="debugging-programs-in-kdevelop.html" title="Розділ 7. Налагоджування програм у KDevelop"><link rel="prev" href="attaching-the-debugger-to-a-running-process.html" title="Приєднання програми для налагоджування до запущеного процесу"><link rel="next" href="working-with-version-control-systems.html" title="Розділ 8. Робота з системами керування версіями"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Деякі корисні клавіатурні скорочення</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="attaching-the-debugger-to-a-running-process.html">назад</a></td><td class="upCell">Налагоджування програм у <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="working-with-version-control-systems.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="some-useful-keyboard-shortcuts1"></a>Деякі корисні клавіатурні скорочення</h2></div></div></div><p>
</p><div class="informaltable"><table class="informaltable" border="1"><colgroup><col class="c1"><col class="c2"></colgroup><thead><tr><th colspan="2">Налагоджування</th></tr></thead><tbody><tr><td><span class="keycap"><strong>F10</strong></span></td><td>Перейти до наступної інструкції ("next" у gdb)</td></tr><tr><td><span class="keycap"><strong>F11</strong></span></td><td>Увійти у наступну інструкцію ("step" у gdb)</td></tr><tr><td><span class="keycap"><strong>F12</strong></span></td><td>Вийти з інструкції ("finish" у gdb)</td></tr></tbody></table></div><p>
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="attaching-the-debugger-to-a-running-process.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="working-with-version-control-systems.html">далі</a></td></tr><tr><td class="prevCell">Приєднання програми для налагоджування до запущеного процесу </td><td class="upCell">Налагоджування програм у <span class="application">KDevelop</span></td><td class="nextCell"> Робота з системами керування версіями</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts0.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="attaching-the-debugger-to-a-running-process.html">далі</a></td></tr><tr><td class="prevCell">Деякі корисні клавіатурні скорочення </td><td class="upCell"> </td><td class="nextCell"> Приєднання програми для налагоджування до запущеного процесу</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="working-with-version-control-systems.html"><html><head><title>Розділ 8. Робота з системами керування версіями</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="some-useful-keyboard-shortcuts1.html" title="Деякі корисні клавіатурні скорочення"><link rel="next" href="customizing-kdevelop.html" title="Розділ 9. Налаштовування KDevelop"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Робота з системами керування версіями</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts1.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="customizing-kdevelop.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="working-with-version-control-systems"></a>Розділ 8. Робота з системами керування версіями</h1></div></div></div><p>Якщо ви працюєте з доволі великими проєктами, ймовірно, код проєкту керується системою керування версіями, наприклад <a class="ulink" href="https://subversion.apache.org/" target="_top">subversion</a> або <a class="ulink" href="https://git-scm.com/" target="_top">git</a>. Наведені нижче настанови відповідають <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">subversion</span></span>, але їх може бути використано для <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">git</span></span> або будь-якої іншої підтримуваної системи керування версіями.</p><p>По-перше, якщо вміст каталогу вашого проєкту є наслідком використання певної системи керування версіями, <span class="application">KDevelop</span> автоматично визначить це. Іншими словами, не потрібно вказувати <span class="application">KDevelop</span>, що середовищу слід отримати код з системи керування версіями самостійно, — достатньо вказати <span class="application">KDevelop</span> каталог, у якому зберігається вже отримати копія сховища. Якщо у вас є такий каталог, відкрийте панель <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Проєкти</span></span>. За її допомогою ви зможете виконати декілька корисних дій:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Якщо вміст вашого каталогу застарів, ви можете оновити дані зі сховища: клацніть на пункті назви проєкту правою кнопкою миші, відкрийте у контекстному меню підменю <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Subversion</span></span> і скористайтеся пунктом <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Оновити</span></span>. Таким чином, ви зможете підтримувати вміст проєкту у найактуальнішому стані, відповідно до вмісту сховища коду. </p></li><li class="listitem"><p>Якщо вам потрібно виконати оновлення для якогось окремого підкаталогу або певних файлів, розгорніть список файлів проєкту, знайдіть у ньому потрібні пункти і виконайте для тих описану вище дію. </p></li></ul></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-8.png"><div class="caption"><p></p></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Якщо ви внесли зміни до одного або декількох файлів, розкрийте на панелі вмісту проєкту каталог з цими файлами і клацніть на пункті каталогу правою кнопкою миші. У відповідь буде відкрито меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Subversion</span></span> з декількома пунктами варіантів дій. Виберіть пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Порівняти з Базовим</span></span>, щоб переглянути відмінності між редагованою вами версією і версією, яка зберігається у сховищі (версією <span class="quote">«<span class="quote">base</span>»</span>). На панелі перегляду, яку буде відкрито, ви зможете переглянути відмінності (<span class="quote">«<span class="quote">diff</span>»</span>) для всіх файлів у каталозі. </p></li><li class="listitem"><p>Якщо зміни було внесено лише до одного файла, ви можете відкрити меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Subversion</span></span> для цього файла простим клацанням правою кнопкою миші на пункті файла на панелі перегляну проєкту. Можна зробити ще простіше: клацніть правою кнопкою миші на панелі редактора, на якій відкрито файл, — у контекстному меню ви побачите відповідний пункт. </p></li><li class="listitem"><p>Якщо вам потрібно надіслати до сховища один або декілька змінених файли, клацніть правою кнопкою миші на пункті кожного з файлів, підкаталогів або всього проєкту і виберіть у контекстному меню пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Subversion</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Надіслати</span></span>. Після вибору цього пункту середовище буде переведено у режим <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд</span></span>, третій режим, пункт якого, поряд з пунктами <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Код</span></span> і <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Налагоджування</span></span> можна бачити у правому верхньому куті головного вікна <span class="application">KDevelop</span>. На наведеній ілюстрації показано зразок вікна у такому режимі. У режимі <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Перегляд</span></span> у верхній частині вікна буде показано відмінності у файлах всього підкаталогу або проєкту, пункт кожного зміненого файла буде позначено кольором (див. різні вкладки у цій частині вікна). Типово, всі змінені файли буде додано до набору змін, який буде надіслано до сховища, але ви можете зняти позначення з частини файлів, якщо внесені до них зміни не пов’язано з окремою порцією змін, які ви надсилаєте. Наприклад, у нас знято позначення з пунктів <code class="varname">step-32.cc</code> і <code class="varname">step-32.prm</code>, оскільки зміни у цих файлах не пов’язано з іншими змінами у проєкті, отже цього разу їх не буде надіслано до сховища (їх можна буде надіслати пізніше окремим внеском). Після перегляду змін ви можете вказати повідомлення щодо внеску у полі для введення тексту і натиснути кнопку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Надіслати</span></span>, розташовану праворуч, щоб надіслати зміни до сховища. </p></li><li class="listitem"><p>Під час перегляду відмінностей, якщо потрібно надіслати зміни лише до одного файла, ви можете просто клацнути правою кнопкою миші на відповідному пункті панелі редактора і вибрати у контекстному меню пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Subversion</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Надіслати</span></span>. </p></li></ul></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="some-useful-keyboard-shortcuts1.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="customizing-kdevelop.html">далі</a></td></tr><tr><td class="prevCell">Деякі корисні клавіатурні скорочення </td><td class="upCell"> </td><td class="nextCell"> Налаштовування <span class="application">KDevelop</span></td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="customizing-kdevelop.html"><html><head><title>Розділ 9. Налаштовування KDevelop</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="working-with-version-control-systems.html" title="Розділ 8. Робота з системами керування версіями"><link rel="next" href="customizing-code-indentation.html" title="Налаштовування відступів у коді"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Налаштовування <span class="application">KDevelop</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-version-control-systems.html">назад</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="customizing-code-indentation.html">далі</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="customizing-kdevelop"></a>Розділ 9. Налаштовування <span class="application">KDevelop</span></h1></div></div></div><p>Іноді корисно змінити типовий вигляд або спосіб роботи <span class="application">KDevelop</span>, наприклад, ви звикли до інших клавіатурних скорочень або у вашому проєкті використовується інші відступи у коді. У наступних розділах ми коротко обговоримо різні способи налаштування <span class="application">KDevelop</span> відповідно до ваших потреб.</p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="customizing-the-editor"></a>Налаштовування редактора</h2></div></div></div><p>Корисно налаштувати вбудований редактор та інші компоненти <span class="application">KDevelop</span>. Однією з загальних речей є вмикання показу нумерації рядків за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Редактор</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Перегляд</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Показати номери рядків</span></span>. У такому режимі простіше буде визначати рядки з помилками під час компіляції або визначати відповідність діагностичних повідомлень позиціям у коді. У тому ж підменю ви можете увімкнути <span class="quote">«<span class="quote">Рамку для піктограм</span>»</span> — стовпчик у лівій частині панелі редактора, у якому <span class="application">KDevelop</span> показуватиме піктограми, зокрема позначок точок зупинки у рядках.</p></div><FILENAME filename="customizing-code-indentation.html"><html><head><title>Налаштовування відступів у коді</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="customizing-kdevelop.html" title="Розділ 9. Налаштовування KDevelop"><link rel="prev" href="customizing-kdevelop.html" title="Розділ 9. Налаштовування KDevelop"><link rel="next" href="customizing-keyboard-shortcuts.html" title="Налаштовування клавіатурних скорочень"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Налаштовування відступів у коді</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-kdevelop.html">назад</a></td><td class="upCell">Налаштовування <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="customizing-keyboard-shortcuts.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="customizing-code-indentation"></a>Налаштовування відступів у коді</h2></div></div></div><p>У кожного з нас є певні уподобання щодо форматування коду. У багатьох проєктах є власні правила щодо відступів у коді. Ці правила можуть не відповідають правилам встановлення відступів <span class="application">KDevelop</span>. Ви можете просто змінити правила відступів: скористайтеся пунктом меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Параметри</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Налаштувати <span class="application">KDevelop</span></span></span>. Перейдіть на сторінку <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Форматування коду</span></span> за допомогою списку ліворуч. Ви можете вибрати один з попередньо визначених розповсюджених типів форматування або визначити власний стиль додаванням нового стилю з наступним його редагуванням. Можливо, повністю відтворити стиль форматування коду вашого проєкту у минулому не вдасться, але ви можете гранично до нього наблизитися за допомогою параметрів нового стилю. Приклад наведено на двох зображеннях нижче.</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-5.png"><div class="caption"><p></p></div></div></div><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-6.png"><div class="caption"><p></p></div></div></div><div class="note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Примітка</h3><p>У <span class="application">KDevelop</span> 4.2.2 ви можете створити стиль для файлів окремого типу MIME (наприклад, для стилю файлів заголовків C++), але цей стиль не буде показано у списку можливих стилів для файлів інших типів MIME (наприклад, для коду файлів C++), хоча, звичайно ж, було б корисно використати цей тип для обох типів файлів. Тому вам доведеться визначати стиль двічі: один раз для файлів заголовків і один раз для файлів коду. Про цю ваду було повідомлено розробникам, <a class="ulink" href="https://bugs.kde.org/show_bug.cgi?id=272335" target="_top"><span class="application">KDevelop</span>, вада 272335</a>.</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-kdevelop.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="customizing-keyboard-shortcuts.html">далі</a></td></tr><tr><td class="prevCell">Налаштовування <span class="application">KDevelop</span> </td><td class="upCell">Налаштовування <span class="application">KDevelop</span></td><td class="nextCell"> Налаштовування клавіатурних скорочень</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="customizing-keyboard-shortcuts.html"><html><head><title>Налаштовування клавіатурних скорочень</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="customizing-kdevelop.html" title="Розділ 9. Налаштовування KDevelop"><link rel="prev" href="customizing-code-indentation.html" title="Налаштовування відступів у коді"><link rel="next" href="customizing-code-auto-completion.html" title="Налаштування автодоповнення коду"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Налаштовування клавіатурних скорочень</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-code-indentation.html">назад</a></td><td class="upCell">Налаштовування <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="customizing-code-auto-completion.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="customizing-keyboard-shortcuts"></a>Налаштовування клавіатурних скорочень</h2></div></div></div><p>У <span class="application">KDevelop</span> передбачено майже безмежний список клавіатурних скорочень (деякі з них можна знайти у списках «Корисні клавіатурні скорочення» у декількох частинах цього підручника). Ці клавіатурні скорочення можна змінити за вашими потребами за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Параметри</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Налаштувати скорочення</span></span>. У верхній частині діалогового вікна ви можете вказати ключ пошуку, щоб переглянути лише відповідні ключу скорочення. Після цього ви можете змінити клавіатурні скорочення для бажаних команд.</p><p>Однією з двох корисних змін буде встановлення для <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Вирівняти</span></span> скорочення <span class="keycap"><strong>Tab</strong></span> (багато хто звичайно не додає табуляції вручну і віддає перевагу вибору форматування коду редактором; якщо скорочення буде змінено, після натискання <span class="keycap"><strong>Tab</strong></span> <span class="application">KDevelop</span> виконає додавання відступів, вилучення відступів або вирівнювання коду). Другою зміною буде встановлення для команди <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Встановити/зняти точку зупинки</span></span> скорочення <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>B</strong></span>, оскільки встановлення або зняття точки зупинки є доволі поширеною дією.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-code-indentation.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="customizing-code-auto-completion.html">далі</a></td></tr><tr><td class="prevCell">Налаштовування відступів у коді </td><td class="upCell">Налаштовування <span class="application">KDevelop</span></td><td class="nextCell"> Налаштування автодоповнення коду</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="customizing-code-auto-completion.html"><html><head><title>Налаштування автодоповнення коду</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="customizing-kdevelop.html" title="Розділ 9. Налаштовування KDevelop"><link rel="prev" href="customizing-keyboard-shortcuts.html" title="Налаштовування клавіатурних скорочень"><link rel="next" href="credits.html" title="Розділ 10. Подяки і ліцензія"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Налаштування автодоповнення коду</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-keyboard-shortcuts.html">назад</a></td><td class="upCell">Налаштовування <span class="application">KDevelop</span></td><td class="nextCell"><a accesskey="n" href="credits.html">далі</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="customizing-code-auto-completion"></a>Налаштування автодоповнення коду</h2></div></div></div><p>Можливості з автоматичного доповнення коду було обговорено у <a class="link" href="writing-source-code.html#auto-completion" title="Автозавершення">цьому розділі підручника, присвяченому створенню коду</a>. У <span class="application">KDevelop</span> автоматичне доповнення відбувається з двох джерел: редактора і рушія обробки. Редактор (<span class="application">Kate</span>) є компонентом більшого середовища KDE, він пропонує доповнення на основі інших частин того самого документа. Таке автоматичне доповнення можна впізнати на панелі підказки за піктограмою, вказаною перед відповідним варіантом:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-20.png"><div class="caption"><p></p></div></div></div><p>Автоматичне доповнення коду редактором можна налаштувати за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Параметри</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Налаштувати редактор</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Редагування</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Автозавершення</span></span>. Зокрема, ви можете визначити кількість символів, які має бути введено у слові для вмикання механізмів автоматичного доповнення.</p><p>З іншого боку, автоматичне доповнення самої програми <span class="application">KDevelop</span> є набагато потужнішим, оскільки у ньому використано семантичні дані щодо контексту слова. Наприклад, середовище пропонує лише ті функції для коду <code class="varname">object.</code>, які використано у відповідному об’єкті тощо. Ось приклад:</p><p>
</p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="kdevelop-42.png"><div class="caption"><p></p></div></div></div><p>Дані щодо контексту надходять з декількох додатків підтримки мов програмування, якими можна скористатися після того, як файл буде збережено (середовище визначить мову програмування за типом збереженого файла).</p><p>Автоматичне доповнення <span class="application">KDevelop</span> працюватиме під час введення вами коду майже всюди, де таке автоматичне доповнення можливе. Налаштувати механізм доповнення можна за допомогою пункту меню <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Параметри</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Налаштувати <span class="application">KDevelop</span></span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Підтримка мов</span></span>. Якщо пункт <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Увімкнути автоматичний виклик</span></span> ще не позначено (його має бути типово позначено), позначте його.</p><p>У <span class="application">KDevelop</span> передбачено два способи показу доповнення: у режимі <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Мінімальне автоматичне доповнення</span></span> середовище показує на панелі підказки лише основні дані (тобто простір назв, клас, функцію або назву змінної). Таке доповнення подібне до доповнення у <span class="application">Kate</span> (окрім піктограми).</p><p>У режимі <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Повне доповнення</span></span> середовище додатково показує тип кожного запису та, у разі якщо доповнюється функція, перелік аргументів. Крім того, якщо ви заповнюєте аргументи функції, у режимі повного доповнення буде показано додаткову інформаційну панель над курсором, де буде наведено дані щодо поточного аргументу.</p><p>У режимі автоматичного доповнення коду у <span class="application">KDevelop</span> також має бути наведено у верхній частині списку та підсвічено зеленим всі пункти доповнення, які відповідають поточному очікуваному типу (найкращі відповідники) у режимах мінімального та повного доповнення.</p><p>У діалоговому вікні налаштування передбачено три варіанти рівня автоматичного доповнення:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Завжди мінімальне доповнення</span></span>: ніколи не показувати «повного доповнення». </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Мінімальне автоматичне доповнення</span></span>: показувати «повне доповнення», якщо автоматичне доповнення було викликано вручну (тобто було натиснуто <span class="keycap"><strong>Ctrl</strong></span>+<span class="keycap"><strong>Пробіл</strong></span>) </p></li><li class="listitem"><p><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Завжди повне доповнення</span></span>: завжди показувати «повне доповнення». </p></li></ul></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-keyboard-shortcuts.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="credits.html">далі</a></td></tr><tr><td class="prevCell">Налаштовування клавіатурних скорочень </td><td class="upCell">Налаштовування <span class="application">KDevelop</span></td><td class="nextCell"> Подяки і ліцензія</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="working-with-version-control-systems.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"><a accesskey="n" href="customizing-code-indentation.html">далі</a></td></tr><tr><td class="prevCell">Робота з системами керування версіями </td><td class="upCell"> </td><td class="nextCell"> Налаштовування відступів у коді</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME><FILENAME filename="credits.html"><html><head><title>Розділ 10. Подяки і ліцензія</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, KDevelop, IDE, розробка, програмування"><link rel="home" href="index.html" title="Підручник з KDevelop"><link rel="up" href="index.html" title="Підручник з KDevelop"><link rel="prev" href="customizing-code-auto-completion.html" title="Налаштування автодоповнення коду"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Подяки і ліцензія</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-code-auto-completion.html">назад</a></td><td class="upCell"> </td><td class="nextCell"></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="credits"></a>Розділ 10. Подяки і ліцензія</h1></div></div></div><p>Список власників авторських прав на документацію до програми можна знайти у <a class="ulink" href="https://userbase.kde.org/index.php?title=KDevelop4/Manual&amp;action=history" target="_top">журналі сторінки KDevelop4/Manual</a> UserBase.</p><p>Переклад українською: Юрій Чорноіван <code class="email">(yurchor AT ukr.net)</code></p><p><a name="gnu-fdl"></a>Цей документ поширюється за умов дотримання <a class="ulink" href="help:/kdoctools5-common/fdl-translated.html" target="_top">GNU Free Documentation
License</a>.</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="customizing-code-auto-completion.html">назад</a></td><td class="upCell"><a accesskey="h" href="index.html">Початок</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Налаштування автодоповнення коду </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="what-is-kdevelop.html">далі</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Для чого призначено <span class="application">KDevelop</span>?</td></tr></table></div><div id="footer_text">Бажаєте прокоментувати або оновити вміст цієї сторінки?<br>Надсилайте пропозиції до <a href="mailto:kde-doc-english@kde.org" class="footer_email">Команди з документування KDE</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Thu Jun 27 16:34:48 CEST 2024.