Внесение изменений и переходы в файлах исходных кодов на C/C++ - учебный курс по среде IDE NetBeans 7.2/7.3

В настоящем кратком учебном курсе описываются некоторые возможности навигации по файлам исходных кодов и внесению изменений в них в проекте на языке C или C++ в среде IDE NetBeans 7.2 или 7.3.

Содержание

Содержимое на этой странице применимо к IDE NetBeans 7.2 и 7.3
Требования
Создание примера проекта
Изменение исходных файлов на языке C и C++
Переход по исходным файлам на C и C++
Следующие действия

Требования

Для работы с этим учебным курсом требуется следующее программное обеспечение и ресурсы.

Программное обеспечение или материал Требуемая версия
IDE NetBeans , версия 7.3 с подключаемым модулем C/C++ для NetBeans
Комплект для разработчика на языке Java (JDK) версия 7

Ознакомьтесь с разделами Указания по установке среды IDE NetBeans 7.3 и Настройка среды IDE NetBeans для C/C++/Фортрана
для получения сведений о загрузке и установке требуемого программного обеспечения.

Примеры проектов

Чтобы поэкспериментировать с проектами, выберите в среде IDE команду "Файл" > "Новый проект", а затем откройте категорию "Примеры" и подкатегорию "C/C++". В среде IDE представлено несколько примеров проектов на языке C и C++, которые помогут ознакомиться с функциями среды.

Создание примера проекта

Подключаемый модуль NetBeans IDE с C/C++ предоставляет расширенные возможности редактирования для изменения исходного кода. Для наглядного рассмотрения этих функций в этом учебном курсе используется проект Quote. Если проект еще не создан, выполните следующие действия:

  1. Выберите команду "Файл" > "Новый проект".
  2. Разверните в мастере создания проекта категорию "Примеры" и выберите подкатегорию "C/C++".
  3. Выберите проект Quote. Нажмите кнопку "Далее", а затем нажмите кнопку "Готово".

Изменение исходных файлов на языке C и C++

Установка стиля форматирования

Окно "Параметры" по умолчанию используется для настройки стиля форматирования проектов на языке C и C++.
  1. Выберите команду "Сервис" > "Параметры".
  2. Нажмите элемент "Редактор" на верхней панели окна.
  3. Выберите вкладку "Форматирование".
  4. Выберите в раскрывающемся списке "Язык" язык C++, поскольку в проекте Quote используется язык C++.
  5. Выберите в раскрывающемся списке "Стиль" необходимый стиль.
    Снимок вкладки 'Стили форматирования'
  6. Измените свойства стиля требуемым образом.

Свертывание блоков кода в файлах C и C++

Для некоторых типов файлов можно использовать функцию свертывания кода, чтобы свернуть блоки кода для отображения в редакторе исходного кода только первой строки блока.

  1. Откройте в проекте приложения Quote_1 папку "Source Files" и дважды щелкните файл cpu.cc, чтобы открыть его в редакторе исходного кода.
  2. Щелкните в левом поле значок свертывания (небольшое поле со знаком "-"), чтобы свернуть код одного из методов.
  3. Наведите курсор на символ {...} справа от свернутого блока для отображения кода блока.
    Снимок свернутого кода в редакторе исходного кода

Использование семантического выделения

Параметр можно настроить таким образом, чтобы при щелчке по классу, функции, переменной или макросу выделялись все вхождения этого класса, функции, переменной или макроса в текущем файле.

  1. Выберите команду "Сервис" > "Параметры".
  2. Нажмите элемент "Редактор" на верхней панели окна.
  3. Выберите вкладку "Выделение".
  4. Убедитесь, что все флажки установлены.
  5. Нажмите кнопку "ОК".
  6. Обратите внимание, что в файле customer.cc проекта Quote_1 имена методов выделены жирным.
  7. Щелкните вхождение класса Customer.
  8. Все вхождения класса Customer в файле будут выделены желтым цветом. В правом поле также отображаются отметки, указывающие расположение вхождений в файле. Отметки позволяют оценить число вхождений в файле без прокручивания. Чтобы перейти ко вхождению, следует щелкнуть необходимую отметку.
    Снимок выделенного кода в редакторе исходного кода
  9. Для легкого перехода между вхождениями нажимайте клавиши Alt+Down, чтобы перейти к следующему вхождению, и Alt+Up, чтобы перейти к предыдущему вхождению.
  10. Откройте файл customer.h, расположенный в папке "Headers", и обратите внимание, что имена методов снова выделены жирным.
    Снимок файла с выделенными методами в редакторе исходного кода

Работа с автозавершением кода и документированием

Среда IDE имеет функцию динамического автозавершения кода на языке C и C++, благодаря которой при вводе одного или нескольких символов выводится список возможных классов, методов, переменных и т.д., которые можно использовать для завершения выражения.

Также в среде IDE выполняется динамический поиск документации классов, функций, методов и пр., а также отображение документации во всплывающем окне.

  1. Откройте файл в проекте Quote_1 quote.cc.
  2. Введите в первой пустой строчке файла quote.cc заглавную латинскую букву "C" и нажмите сочетание клавиш CTRL+ПРОБЕЛ. Появится окно автозавершения кода с небольшим списком, включающем классы Cpu и Customer. Также отобразится окно документации с сообщением "Документация не найдена", поскольку исходный код проекта не содержит документации по коду.
  3. Разверните список элементов, снова нажав CTRL+ПРОБЕЛ.
    Снимок поля автозавершения кода
  4. Используйте клавиши со стрелками или кнопки мыши для выделения стандартной функции библиотеки (например, calloc) из списка. В окне документации появится страница системной справки для этой функции, если эта страница доступна для среды IDE.
    Снимок документации автозавершения кода
  5. Выберите класс Customer и нажмите ENTER.
  6. Заполните новый экземпляр класса Customer, введя текст andrew;. Введите в следующей строке латинскую букву a и нажмите CTRL+ПРОБЕЛ. Появится окно автозавершения кода со списком возможных элементов с начальной буквой a, например аргументы метода, поля класса и глобальные имена, доступные в текущем контексте.
    Снимок поля автозавершения кода
  7. Дважды щелкните параметр andrew, чтобы принять его и ввести после него точку. Нажмите Ctrl-пробел, и будет выведен список общедоступных методов и полей класса Customer.
    Снимок поля автозавершения кода
  8. Удалите добавленный код.

Добавление документации к исходному коду

Можно добавить в код комментарии для автоматического создания документации к функциям, классам и методам. Среда IDE распознает комментарии с синтаксисом Doxygen и автоматически создает документацию. Также среда IDE может автоматически создавать блок комментариев для документирования функции под комментарием.

  1. Наведите курсор в файле quote.cc на строку 75 или на строку, расположенную выше.
    int readNumberOf(const char* item, int min, int max) {
  2. Введите косую черту и две звездочки, а затем нажмите ENTER. Редактор вставляет комментарий, отформатированный по синтаксису Doxygen, для класса readNumberOf.
    Снимок автоматически созданных комментариев Doxygen
  3. Добавьте текст описания в каждую строку аннотации @param и сохраните файл.
    Снимок отредактированных комментариев Doxygen
  4. Щелкните класс readNumberOf для выделения его желтым и щелкните одну из отметок вхождений справа для перехода к области использования класса.
  5. Щелкните класс readNumberOf в строке, к которой выполнен переход, и нажмите сочетание клавиш CTRL+SHIFT+ПРОБЕЛ для отображения документации, добавленной для параметров.
    Снимок отображенной документации Doxygen
  6. Щелкните в любом месте файла, чтобы закрыть окно документации, а затем щелкните класс readNumberOf повторно.
  7. Выберите "Исходный код" > "Показать документацию", чтобы снова открыть окно документации для класса.

Использование шаблонов кода

В редакторе исходного кода существует набор настраиваемых шаблонов кода со стандартными фрагментами кода на C и C++. Можно создать полный фрагмент кода путем ввода его сокращения и нажатия клавиши Tab. Например, в файле quote.cc проекта Quote:

  1. Введите uns с последующим нажатием клавиши Tab, и uns развернется до unsigned.
  2. Введите iff с последующим нажатием клавиши Tab, и iff развернется до if (exp) {}.
  3. Введите ife с последующим нажатием клавиши Tab, и ife развернется до if (exp) {} else {}.
  4. Введите fori с последующим нажатием клавиши Tab, и fori развернется до for (int i = 0; i < size; i++) { Object elem = array[i];.

Чтобы просмотреть все доступные шаблоны кода, изменять их, создавать собственные или выбрать другой ключ для расширения шаблонов кода:

  1. Выберите команду "Сервис" > "Параметры".
  2. В диалоговом окне 'Параметры' щелкните 'Редактор' и щелкните вкладку 'Шаблолны кода'.
  3. В раскрывающемся списке "Язык" выберите необходимый язык.
    Моментальный снимок диалогового окна 'Параметры'

Подстановка парных символов

При редактировании исходных файлов на языках C и C++ редактор исходного кода выполняет "интеллектуальную" подстановку парных символов, например кавычек, круглых и квадратных скобок. При вводе одного из символов редактор исходного кода автоматически подставляет закрывающий символ.

  1. В проекте Quote_1 разместите курсор в строке 115 файла module.cc после символа { и нажмите ENTER для перехода в новую строку.
  2. Введите enum state { и нажмите ENTER. Закрывающая фигурная скобка и точка с запятой будут добавлены автоматически, а курсор будет размещен в строке между скобками.
  3. Введите invalid=0, success=1 для завершения перечисления.
  4. Введите в строке после закрывающей скобки }; перечисления текст if (. Закрывающая круглая скобка будет добавлена автоматически, а курсор будет размещен между скобками.
  5. Введите v==null. Затем введите { и добавьте новую строку после правой круглой скобки. Закрывающая квадратная скобка будет добавлена автоматически.
  6. Удалите добавленный код.

Поиск текста в файлах проекта

Вы можете использовать диалоговое окно 'Поиск текста в файлах проекта' для поиска в проектах экземпляров указанного текста или регулярных выражений.

  1. Откройте диалоговое окно 'Поиск текста в файлах проекта', выполнив одно из следующих действий:
    • Выберите 'Правка' > 'Найти в проектах'
    • Щелкните правой кнопкой мыши проект в окне "Проекты" и выберите команду "Найти".
  2. В диалоговом окне "Найти в проектах" перейдите на вкладку "Список по умолчанию" или на вкладку "Grep". На вкладке 'Grep' используется служебная программа grep, обеспечивающая более быстрый поиск, особенно для удаленных проектов.
    Снимок диалогового окна "Найти в проектах"
  3. На вкладке 'Grep' введите текст или регулярное выражение для поиска, укажите область поиска и шаблон имени файла и щелкните 'Найти'.
  4. На вкладке 'Результаты поиска' перечислены файлы, в которых найдены текст или регулярные выражения.
    Снимок вкладки 'Результаты поиска'

Переход по исходным файлам на C и C++

Подключаемый модуль NetBeans IDE с C/C++ предоставляет расширенные возможности навигации для просмотра исходного кода. Для исследования этих функций по-прежнему используется проект Quote_1.

Использование окна классов

Окно классов позволяет просматривать все классы проекта, а также члены и поля каждого класса.

  1. Выберите вкладку "Классы" для просмотра окна классов. Если вкладка "Классы" не отображается, выберите 'Окно' > 'Классы'
  2. Разверните узел Quote_1 в окне классов. Выводится список всех классов проекта.
  3. Разверните класс Customer.
    Снимок вкладки 'Представление класса'
  4. Дважды щелкните переменную name, чтобы открыть файл заголовка customer.h.

Использование окна навигатора

Окно навигатора предоставляет компактное представление выбранного в настоящий момент файла и упрощает процедуру перехода между различными частями файла. Если окно навигатора не отображается, выберите команду "Окно" > "Навигация" > "Навигатор", чтобы открыть его.

  1. Щелкните в любом месте окна редактора файла quote.cc.
  2. В окне навигатора отобразится компактное представление файла.
    Снимок окна 'Навигатор'
  3. Для перехода к определенному элементу файла дважды щелкните его в окне навигатора, а курсор в окне редактора переместится к этому элементу.
  4. Щелкните правой кнопкой мыши в окне навигатора, чтобы выбрать другой способ сортировки элементов, группировку элементов или их фильтрацию.

Для получения сведений о назначении значков в окне навигатора воспользуйтесь интерактивной справкой по среде IDE. Для этого выберите команду "Справка" > "Содержание справки" и введите в поле поиска окна справки "значки навигатора".

Поиск мест использования класса, метода и поля

Окно "Случаи использования" применяется для просмотра класса (структуры), функции, переменной, макроса или файла, которые используются в исходном коде проекта.

  1. Щелкните правой кнопкой мыши в файле customer.cc класс Customer в строке 43, и выберите команду "Найти случаи использования".
  2. Нажмите в диалоговом окне "Найти случаи использования" кнопку "Найти".
  3. Появится окно "Случаи использования" со случаями использования класса Customer в исходных файлах проекта.
    Снимок окна 'Использования'

Работа с графиком вызовов

В окне "Граф вызовов" отображаются два представления отношений вызовов между функциями проекта. В древовидном представлении отображаются функции, вызванные из выбранной функции, или функции, вызывающие выбранную функцию. Графическим представлением отношений вызовов служат стрелки между вызываемыми и вызывающими функциями.

  1. В файле quote.cc щелкните правой кнопкой мыши в функции main и выберите 'Показать график вызовов'.
  2. Откроется окно "Граф вызовов" с деревом и графическим представлением всех функций, вызванных из функции main.
    Снимок окна 'График вызовов'

    Если отображаются не все функции, приведенные на рисунке выше, нажмите в окне "Граф вызовов" третью кнопку слева для вывода элементов, вызванных из данной функции.

  3. Разверните узел endl для отображения функций, вызванных этой функцией. Обратите внимание, что график обновляется для дополнительного вывода функций, вызванных функцией endl.
  4. Нажмите в окне вторую кнопку слева для перемещения фокуса к функции endl, затем нажмите четвертую кнопку, чтобы просмотреть все функции, вызывающих функцию endl.
    Снимок окна 'График вызовов'
  5. Разверните несколько узлов дерева для просмотра большего числа функций.
    Снимок окна 'График вызовов'

Работа с гиперссылками

Функция перехода по гиперссылкам позволяет переходить от вызова класса, метода, переменной или константы к их объявлению и от объявления к определению. Кроме того, гиперссылки позволяют переходить от переопределяемого метода к переопределяющему и наоборот.

  1. В файле cpu.cc проекта Quote_1 наведите курсор мыши на строку 37, нажав клавишу CTRL. Функция ComputeSupportMetric будет выделена, а в аннотации будут выведены сведения о данной функции.
    Снимок вызова функции с аннотациями
  2. Щелкните гиперссылку, и в окне редактора будет выполнен переход к определению функции.
    Снимок определения функции
  3. Наведите курсор на определение, нажав клавишу CTRL, и щелкните ссылку. В редакторе будет выполнен переход к объявлению функции в файле заголовка cpu.h.
    Снимок объявления функции
  4. Нажмите на панели редактора стрелку влево (вторая кнопка слева), и редактор снова перейдет к определению в файле cpu.cc.
  5. Наведите курсор мыши на зеленый круг в левом поле и просмотрите аннотацию, указывающую, что данный метод переопределяет другой метод.
    Снимок переопределения аннотаций
  6. Щелкните зеленый круг для перехода к переопределенному методу: будет выполнен переход к файлу заголовка module.h. В это файле на полях отображается серый круг, указывающий на то, что метод переопределен.
  7. Щелкните серый круг, и в окне редактора появится список методов, переопределяющих этот метод.
    Снимок методов переопределения
  8. Щелкните элемент Cpu::ComputeSupportMetric для обратного перехода к объявлению метода в файле заголовка cpu.h.

Работа с иерархией Includes

Окно "Иерархия Includes" позволяет просматривать все файлы заголовков и исходные файлы, которые напрямую или косвенно включены в исходный файл, или все исходные файлы и файлы заголовков, которые напрямую или косвенно включают по #include файл заголовка.

  1. Откройте в проекте Quote_1 в окне редактора файл module.cc.
  2. Щелкните правой кнопкой мыши строку #include "module.h" в файле и выберите команду "Переход" > "Просмотреть иерархию Includes".
  3. По умолчанию окно "Иерархия" представляет собой список файлов, напрямую включающих файл заголовка. Нажмите крайнюю правую кнопку в нижней части окна для изменения представления на древовидное. Нажмите вторую кнопку справа, чтобы изменить представление для всех включаемых и включающих файлов. Разверните узлы дерева для просмотра всех исходных файлов, включающих файл заголовка.
    Снимок иерархии Includes

Работа с иерархией типов

Окно "Иерархия типов" позволяет проверять все подтипы и родительские типы класса.

  1. Откройте в проекте Quote_1 файл module.h.
  2. Щелкните правой кнопкой мыши объявление класса Module и выберите "Переход" > "Просмотреть иерархию типов".
  3. Окно иерархии содержит все подтипы класса Module.
    Снимок иерархии типов

Следующие действия

Учебный курс по использованию функций отладки проекта C или C++ в IDE NetBeans см. в разделе Отладка проектов C/C++.

get support for the NetBeans

Support


By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2013, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo