4. Інструментальні засоби підтримки розробки коду
Застосування Code Insight — Знавця Коду. Цей інструмент вбудований у вікно Редактора Коду і може надати велику допомогу при написанні коду і його відладці. Він у багатьох випадках підкаже вам імена властивостей, методів, подій, типи аргументів, типові синтаксичні конструкції і багато що інше. Code Insight може працювати в двох режимах: автоматичному і не автоматичному. Автоматично виникаючі підказки дуже корисні для початківців, але можуть дратувати досвідченіших користувачів. Тому є можливість відключити автоматичний режим і викликати Code Insight у міру потреби, натискаючи клавіші Ctrl-Shift-пробіл або Ctrl-пробіл залежно від того, до яких можливостей Code Insight ви хочете звернутися.
Code Insight може виконувати наступні функції.
Завершення коду. Якщо ви написали в своєму проекті ім'я компоненту, поставили після нього символи стрілки (->) і трохи затрималися з введенням подальшого тексту, то з'явиться вікно, що містить список всіх властивостей, методів і подій класу, до якого належить даний компонент. Ви можете вибрати з нього потрібне або почати писати перші символи властивості або методу, а потім натиснути Enter, і у ваш код вставиться відповідне ім'я.
Починаючи з C++Builder 6 в списку підказок виділяються різними кольорами властивості, функції, процедури, що робить список більш зрозумілим. За умовчанням рядки спливаючого списку впорядковані по категоріях. Можна упорядкувати їх за абеткою, що зазвичай набагато зручніше. Для цього треба клацнути у вікні списку правою кнопкою миші і вибрати в контекстному меню розділ Sort by Name.
Якщо ви написали символ операції привласнення "=" і натиснули Ctrl-пробіл, то вам буде показаний список можливих аргументів, сумісних за типом із змінною, якій привласнюється значення. Аналогічним чином можна отримати підказку по аргументах функцій або процедур. Правда, виникаючі списки підказок в обох цих випадках настільки довгі, що вибрати з нього потрібне не так-то просто.
Починаючи з C++Builder 6, якщо ви натиснете Ctrl-пробіл в порожньому рядку усередині тіла процедури або функції, у вікні спливе список різних типів і функцій, з якого ви можете вибрати потрібну. Ви можете почати писати ім'я необхідної функції і, коли Code Insight знайде в списку потрібну, натиснути Enter.
Параметри функцій, процедур, методів. Якщо Code Insight працює в автоматичному режимі, то після того, як ви напишете ім'я функції або методу і поставите дужку, що відкривається – з’явиться список параметрів і їх типів. Причому, у міру того, як ви вводитимете значення аргументів, вам висвічуватиметься тип наступного параметра. Це, можливо, найбільш потужна можливість Code Insight, оскільки навряд чи хто-небудь здатний пам'ятати параметри всіх функцій і методів C++Builder.
Шаблони коду. У Code Insight занесена безліч шаблонів стандартних структур мови C++, Причому ви самі можете додавати або видаляти ці шаблони. Виклик шаблону проводиться натисненням клавіш CTRL-J. З випадаючого списку можна вибрати потрібний шаблон. Наприклад, якщо ви вибрали шаблон структури for, то у ваш код занесеться текст:
for (; ;)
{
}
Вам залишається тільки заповнити цей шаблон, занісши в його заголовок відповідні вирази, і написати тіло циклу.
Оцінка виразів. Ця здатність Code Insight дуже корисна в процесі відладки. Code Insight дозволяє при станові або покроковому виконанні програми підвести курсор у вікні Редактора Коди до імені будь-якої змінної або до виразу і побачити поточне значення оцінюваної величини.
Інформація про ідентифікатори — Code browser. Якщо задано автоматичне виконання цього режиму Code Insight, то при переміщенні курсору миші в тексті програми над будь-якою змінною автоматично висвічується інформація про її оголошення, типі і про модуль і номер рядка, що містить це оголошення. Це допомагає при розробці великих програм, але не дуже зручно в простих, оскільки на пошук цієї інформації Code Insight витрачає помітний час. Отже можна рекомендувати зазвичай відключати цю можливість і включати її тільки у разі потреби.
Контрольні питання:
1. Яким чином можна додавати форми до проекту?
2. У чому полягає особливість використання форм вставлених у проект із інших проектів?
3. Які файли потрібно додати до проекту при додаванні до нього форми?
4. Що визначають властивості компонентів із префіксом Parent?
5. Які типи компонентів можуть відігравати роль батьківських по відношенню до інших?
6. Що визначає Z - послідовність ?
7. Які параметри можна змінювати за допомогою команди Edit/Scale?
8. Які функції відіграє Депозитарій об’єктів і як до нього звернутися?
9. Які вбудовані засоби розробки коду містить C++Builder?
