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

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

Содержание

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

Требования

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

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

Ознакомьтесь с разделами Указания по установке среды IDE NetBeans 8.0 и Настройка среды 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 и нажмите клавишу Return для добавления новой строки.
  2. Введите enum state { и нажмите ENTER. Закрывающая фигурная скобка и точка с запятой будут добавлены автоматически, а курсор будет размещен в строке между скобками.
  3. Введите invalid=0, success=1 в строке в квадратных скобках для завершения перечисления.
  4. В строке после закрывающей фигурной скобки }; перечисления введите if ( закрывающая круглая скобка добавляется автоматически, и курсор оказывается внутри скобок).
  5. Введите v==null в круглых скобках. Затем введите { и добавьте новую строку после правой круглой скобки. Закрывающая квадратная скобка будет добавлена автоматически.
  6. Удалите добавленный код.

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

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

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

    С помощью кнопок в левой части окна можно изменить представление результатов поиска.

    Снимок вкладки 'Результаты поиска'
  5. Нажмите кнопку 'Развернуть/Свернуть', чтобы свернуть список файлов. При этом будут отображаться только имена файлов. Другие кнопки предназначены для отображения результатов поиска в виде дерева каталогов или в виде списка файлов. Эти функции удобно использовать при поиске по нескольким проектам.
  6. Дважды щелкните один из элементов в списке. Среда IDE перемещает вас на соответствующую позицию в редакторе исходного кода.

Переход по исходным файлам на 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 в строке 42, и выберите команду "Найти случаи использования".
  2. Нажмите в диалоговом окне "Найти случаи использования" кнопку "Найти".
  3. Появится окно "Случаи использования" со случаями использования класса Customer в исходных файлах проекта.
    Снимок окна 'Использования'
  4. Кнопки со стрелками в левой части окна предназначены для перехода между вхождениями и их отображения в редакторе, а также для переключения представления с логического на физическое и наоборот. Также можно фильтровать данные с помощью второго вертикального ряда кнопок в левой части окна.

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

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

  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