Использование дескрипторов наборов средств C/C++ - Практическое руководство по IDE NetBeans

This tutorial needs a review. You can open a JIRA issue, or edit it in GitHub following these contribution guidelines.

Составитель: _Александр Саймон (Alexander Simon)_ Март 2014 г. [Номер версии: V8.0-1]

netbeans stamp
Figure 1. Содержимое этой страницы применимо к IDE NetBeans 8.0

Для работы с этим учебным курсом требуется программное обеспечение, указанное ниже.

Программное обеспечение Требуемая версия

IDE NetBeans (включая поддержку C/C++)

Версия 8.0

Комплект для разработчика на языке Java (JDK)

Версия 7 или 8

Дополнительные сведения о загрузке и установке необходимого программного обеспечения см. в разделах Инструкции по установке IDE NetBeans и Настройка IDE NetBeans для C/C+/Fortran+.

Введение

Это практическое руководство содержит инструкции по изменению существующих наборов средств и созданию собственной версии набора средств на основе существующего в IDE NetBeans 8.0.

Показанный пример относится к набору средств GNU для Oracle Solaris и Linux, но общие принципы применимы также для Windows и Mac. Используя информацию в этом руководстве, вы научитесь делать следующее:

  • Менять флаги компиляторов, которые IDE NetBeans по умолчанию использует для компиляции файлов C/C++

  • Добавлять компиляторы, которые не поддерживаются в среде IDE

Наборы средств

В набор средств входят набор компиляторов, утилита make и отладчик. Набор средств определяется в IDE с помощью дескриптора наборов инструментов. При каждой компиляции, создании или отладке кода IDE NetBeans запускает исполняемый файл, описанный в дескрипторе наборов средств для набора средств, заданного в настройках проекта. Функции 'Помощь при работе с кодом' используют пути include и макросы из дескриптора наборов средств.

Дескриптор набора средств - это XML-файл, расположенный в модуле IDE_HOME/cnd/modules/org-netbeans-modules-cnd-toolchain.jar , который находится в папке org/netbeans/modules/cnd/toolchain/resources/toolchaindefinition/ . Вносить изменения в исходные XML-файлы дескриптора средств IDE не рекомендуется.

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

Наборы инструментов, предоставленные сообществом

Некоторые подключаемые модули для наборов средств разработаны участниками сообщества NetBeans:

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

Пользователям Windows также будет интересна статья одного из участников сообщества NetBeans: Настройка NetBeans и общие настройки наборов средств GNU для разработки ARM.

Изменение дескрипторов наборов средств

Изменение дескрипторов наборов средств представляет собой непростую задачу, поскольку в IDE NetBeans отсутствует графический пользовательский интерфейс для изменения дескрипторов. В этом разделе описывается создание 'теневых' копий дескрипторов наборов инструментов, которые можно изменить, если требуется, чтобы в среде IDE использовались другие средства.

  1. Завершите работу среды IDE, если она запущена.

  2. Отредактируйте файл IDE-HOME/etc/netbeans.conf , где IDE-HOME - каталог установки NetBeans.

  3. Добавьте следующий флаг в запись netbeans_default_options :

-J-Dcnd.toolchain.personality.create_shadow=true
  1. Запустите среду IDE, выберите "Сервис" > "Параметры", затем в верхней панели окна параметров выберите "C/C++".

IDE создает 'теневые' версии дескрипторов наборов средств в каталоге пользователя NetBeans:

userdir

/config/CND/ToolChain

Местоположение каталога пользователя NetBeans зависит от операционной системы. Возможные варианты местоположения каталога userdir/config/CND/ToolChain :

  • Windows: C:\Documents and Settings_username_\Application Data\NetBeans_version_\config\CND\ToolChain

  • Mac: /Users/username/Library/Application Support/NetBeans/version/config/CND/ToolChain

  • Linux и Solaris: /home/username/.netbeans/version/config/CND/ToolChain

Список дескрипторов должен быть аналогичен следующему:

CLang.xml                             SunStudio.xml
CLang_mac.xml                         SunStudio_10.xml
CLang_solaris.xml                     SunStudio_11.xml
Cygwin.xml                            SunStudio_12.1_solaris-sparc.xml
Cygwin_4.x.xml                        SunStudio_12.1_solaris-x86_linux.xml
GNU.xml                               SunStudio_12.2_linuxCompatGNU.xml
GNU_mac.xml                           SunStudio_12.2_solaris-sparc.xml
GNU_solaris.xml                       SunStudio_12.2_solaris-x86_linux.xml
Intel.xml                             SunStudio_12.3_linuxCompatGNU.xml
Interix.xml                           SunStudio_12.3_solaris-sparc.xml
MinGW.xml                             SunStudio_12.3_solaris-x86_linux.xml
MinGW_TDM.xml                         SunStudio_12.xml
OSS_linuxCompatGNU.xml                SunStudio_8.xml
OSS_solaris-sparc.xml                 SunStudio_9.xml
OSS_solaris-x86_linux.xml             WinAVR.xml
OracleSolarisStudio.xml

Вы можете изменить дескриптор для используемого набора средств. Например, если вы используете средства GNU в ОС Solaris, необходимо отредактировать файл GNU_solaris.xml ; если вы используете MinGW в ОС Windows, необходимо отредактировать файл MinGW.xml .

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

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

  1. Удалите флаг -J-Dcnd.toolchain.personality.create_shadow=true из файла IDE-HOME/etc/netbeans.conf , чтобы в среде IDE больше не создавались теневые копии дескрипторов.

  1. Перед использованием измененного дескриптора средств необходимо перезапустить IDE.

[[Создание пользовательского набора средств]]

Этот раздел содержит инструкции по созданию набора средств на основе набора средств GNU. В новом наборе средств будут изменены флаги компилятора для отладки. В примере показаны этапы создания нового модуля NetBeans с новым набором средств. Это модуль позволяет совместно использовать набор средств, а также использовать набор средств в других экземплярах IDE.

Для получения общих сведений о создании модулей NetBeans см. раздел Руководство по началу работы с подключаемыми модулями в среде NetBeans.

Чтобы создать собственный набор средств:

  1. Убедитесь, что в состав установленного экземпляра NetBeans входит модуль NetBeans Plugin Development.

Выберите Сервис > Подключаемые модули и перейдите на вкладку 'Установленные'. Если модуль разработки подключаемых модулей NetBeans не установлен, перейдите на вкладку "Доступные подключаемые модули" и установите модуль. Его можно быстро найти путем ввода текста "plugin" в окне поиска.

  1. Создайте новый модуль NetBeans путем выбора "Файл" > "Создать проект". На странице "Выбор проекта" в мастере создания нового проекта выберите категорию "Модули NetBeans" и в первом шаге мастера укажите проект "Модуль". Нажмите кнопку "Далее".

  1. На странице "Имя и местоположение" введите имя проекта, например, mytoolchain , а в остальных полях оставьте значения по умолчанию. Нажмите кнопку "Далее".

  1. На странице 'Основные настройки модуля' в поле 'Основа имени кода ' введите org.myhome.mytoolchain . Это имя определяет уникальный строковый ресурс для идентификации создаваемого модуля. Основа имени кода также используется в качестве основного пакета модуля.

  1. Не устанавливайте флажок 'Создать пакет OSGi', так как в этом примере будет использоваться стандартная система модулей NetBeans, а не OSGi.

  1. Нажмите кнопку "Готово". IDE создает новый проект с именем mytoolchain.

  1. На вкладке 'Проекты' щелкните узел проекта mytoolchain правой кнопкой мыши и выберите Создать > Другое.

  1. В мастере создания файлов выберите категорию 'Разработка модулей' и тип файла 'Слой XML', затем нажмите 'Далее' и 'Готово'.

IDE создает файл layer.xml в структуре узла 'Исходные пакеты' внутри основного пакета org.myhome.mytoolchain и открывает файл layer.xml в редакторе.

  1. Если файл содержит тег <filesystem/> , замените его парными тегами filesystem : <filesystem>

 ``</filesystem>``
  1. Скопируйте и вставьте следующий текст в файл layer.xml внутри тега filesystem :

<folder name="CND">
        <folder name="Tool">
            <file name="GNU_tuned_flavor" url="toolchain/GNU_tuned_flavor.xml">
                <attr name="extends" stringvalue="GNU_flavor"/>
            </file>
            <file name="GNU_tuned_cpp" url="toolchain/GNU_tuned_cpp.xml">
                <attr name="extends" stringvalue="GNU_cpp"/>
            </file>
        </folder>
        <folder name="ToolChains">
            <folder name="GNU_tuned">
                <attr name="position" intvalue="5000"/>
                <attr name="SystemFileSystem.localizingBundle" stringvalue="org.myhome.mytoolchain.Bundle"/>
                <file name="flavor.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_tuned_flavor"/>
                </file>
                <file name="c.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_c"/>
                </file>
                <file name="cpp.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_tuned_cpp"/>
                </file>
                <file name="fortran.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_fortran"/>
                </file>
                <file name="assembler.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_assembler"/>
                </file>
                <file name="scanner.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_scanner"/>
                </file>
                <file name="linker.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_linker"/>
                </file>
                <file name="make.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_make"/>
                </file>
                <file name="debugger.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_debugger"/>
                </file>
                <file name="qmake.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_qmake"/>
                </file>
                <file name="cmake.shadow">
                    <attr name="originalFile" stringvalue="CND/Tool/GNU_cmake"/>
                </file>
            </folder>
        </folder>
    </folder>
  1. Откройте файл Bundle.properties и добавьте следующую строку: CND/ToolChains/GNU_tuned=My GNU Tuned Tool Collection

  1. Создайте подпакет toolchain . Для этого щелкните правой кнопкой мыши пакет org.myhome.mytoolchain в структуре узла 'Исходные пакеты' и выберите Создать > Пакет Java. Замените заданное по умолчанию имя пакета newpackage на toolchain и нажмите 'Готово'. IDE создает подпакет org.myhome.mytoolchain.toolchain .

  1. Создайте новый файл. Щелкните правой кнопкой мыши подпакет org.myhome.mytoolchain.toolchain и выберите Создать > Пустой файл. Назовите файл GNU_tuned_flavor.xml и нажмите 'Готово'.

Если в меню отсутствует пункт 'Пустой файл', выберите 'Другие'. Затем в мастере создания файлов выберите категорию 'Другие', тип файла 'Пустой файл' и нажмите 'Далее'.

Этот файл является дескриптором для нового набора средств.

  1. Скопируйте следующий текст в GNU_tuned_flavor.xml :

<?xml version="1.0" encoding="UTF-8"?>
<toolchaindefinition xmlns="https://netbeans.org/ns/cnd-toolchain-definition/1">
    <toolchain name="GNU_tuned_flavor" display="GNU_tuned" family="GNU" qmakespec="${os}-g++"/>
    <platforms stringvalue="linux,sun_intel,sun_sparc"/>
</toolchaindefinition>
  1. Создайте еще один файл. Щелкните правой кнопкой мыши подпакет org.myhome.mytoolchain.toolchain и выберите Создать > Пустой файл. Назовите файл GNU_tuned_cpp.xml и нажмите кнопку Next ("Далее").

  1. Скопируйте следующий текст в GNU_tuned_cpp.xml :

<?xml version="1.0" encoding="UTF-8"?>
<toolchaindefinition xmlns="https://netbeans.org/ns/cnd-toolchain-definition/1">
    <cpp>
        <compiler name="g++"/>
        <development_mode>
            <fast_build flags=""/>
            <debug flags="-g3 -gdwarf-2" default="true"/>
            <performance_debug flags="-g -O"/>
            <test_coverage flags="-g"/>
            <diagnosable_release flags="-g -O2"/>
            <release flags="-O2"/>
            <performance_release flags="-O3"/>
        </development_mode>
    </cpp>
</toolchaindefinition>

Обратите внимание на установленные флаги отладки -g3 и -gdwarf-2, которые отличаются от флагов, установленных в описании набора средств GNU по умолчанию.

Дерево проекта должно выглядеть следующим образом:

project
Figure 2. Дерево проектов

Папки 'Тест модуля' могут отсутствовать.

  1. В окне 'Проекты' щелкните правой кнопкой мыши узел проекта mytoolchain и выберите 'Выполнить'. В новом экземпляре среды IDE будет создан и установлен модуль, представляющий собой целевую платформу по умолчанию для модулей. Откроется целевая платформа для тестирования нового модуля.

  1. В выполняемом модуле выберите "Сервис" > "Параметры", затем в верхней панели окна параметров выберите "C/C++" и перейдите на вкладку "Средства сборки".

  1. Если новый набор средств (GNU_tuned) не отображается, нажмите кнопку "Восстановить параметры по умолчанию". В запросе на повторный поиск в среде нажмите кнопку "Да" для продолжения работы.

В среде IDE появится новый набор средств:

options
Figure 3. Панель 'Параметры'
  1. Создайте новый пример проекта C/C ``Welcome`` путем выбора "Файл" > "Создать проект" > "Примеры" > "C/C" > "Welcome".

  1. Щелкните правой кнопкой узел проекта и выберите команду "Свойства". В диалоговом окне "Свойства проекта" выберите узел "Сборка", укажите набор средств GNU_tuned, затем нажмите кнопку "OK" .

  1. Выполните сборку проекта. Убедитесь, что для компилятора установлены флаги -g3 -gdwarf-2

g++ -c -g3 -gdwarf-2 -MMD -MP -MF build/Debug/GNU_tuned-Solaris-x86/welcome.o.d -o build/Debug/GNU_tuned-Solaris-x86/welcome.o welcome.cc
  1. В диалоговом окне "Свойства проекта" выберите набор средств GNU и нажмите кнопку "ОК".

  1. Выполните повторную сборку проекта и сравните строку компиляции со строкой в окне вывода:

g++ -c -g -MMD -MP -MF build/Debug/GNU-Solaris-x86/welcome.o.d -o build/Debug/GNU-Solaris-x86/welcome.o welcome.cc

Как видите, набор средств GNU_tuned содержит другие флаги компилятора для отладки, режима разработки в компиляторе GNU.

Для использования нового модуля для набора средств GNU_tuned в стандартной среде можно создать двоичный файл (файл .nbm) и добавить его в качестве подключаемого модуля:

  1. Щелкните правой кнопкой мыши проект модуля mytoolchain и выберите "Создать NBM". В подкаталоге сборки проекта будет создан файл .nbm, который также отображается на вкладке файлов.

  2. Выберите "Сервис" > "Подключаемые модули", затем в диалоговом окне "Подключаемые модули" перейдите на вкладку "Загрузки".

  3. Нажмите кнопку "Добавить подключаемые модули", перейдите к каталогу сборки, выберите модуль файла .nbm и нажмите кнопку "Открыть". Подключаемый модуль будет добавлен в список на вкладке "Загрузки".

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

  5. Нажимайте кнопку "Далее" для перехода к последующим действиям мастера вплоть до последнего действия.

  6. Перезапустите среду IDE, выберите "Сервис" > "Параметры", затем в верхней панели окна параметров нажмите "С/С++" и перейдите на вкладку "Средства сборки".

  7. Если новый набор средств (GNU_tuned) не отображается, нажмите 'Восстановить параметры по умолчанию'. В запросе на повторный поиск в среде нажмите кнопку "Да" для продолжения работы.

Дополнительные сведения о файле XML набора средств

В этом разделе описывается большая часть наиболее важных тегов в файле XML набора средств.

Схему всех поддерживаемых тегов и атрибутов xml-файлов набора средств можно посмотреть в файле toolchaindefinition.xsd в дереве исходного кода IDE NetBeans.

Теги определения набора средств

Теги Атрибуты Описание

инструментальная цепочка

Имя набора средств

"name" – имя

Имя набора средств

отображение

Отображаемое имя набора средств

семейство

Имя группы набора средств

платформы

Поддерживаемые платформы

stringvalue

Перечень поддерживаемых платформ, разделенных запятой Допустимые значения:

* Linux * unix * sun_intel * sun_sparc * Windows * mac * нет

makefile_writer

Пользовательский файл makefile

класс

Имя класса для пользовательского создателя файла makefile Класс реализует org.netbeans.modules.cnd.makeproject.spi.configurations.MakefileWriter.

drive_letter_prefix

Специальный префикс для имен

stringvalue

"/" для unix "/cygdrive/" для cygwin на ОС Windows

base_folders

Контейнер для тегов base_folder. В теге base_folders содержится один или несколько тегов.

base_folder

Описание базового каталога для компиляторов Данный тег может содержать следующие теги:

реестр

Ключ реестра Windows для средства. Обратите внимание на то, что тег XML пишется как "regestry", несмотря на орфографическую ошибку.

шаблон

Регулярное выражение, позволяющее IDE NetBeans найти компилятор в реестре

суффикс

Папка с исполняемыми файлами

path_patern

Регулярное выражение, позволяющее IDE NetBeans найти компилятор путем сканирования путей. Обратите внимание на то, что тег XML пишется как "path_patern", несмотря на орфографическую ошибку.

command_folders

Контейнер для тегов command_folder. В одном теге command_folders содержится один или несколько тегов commander_folder.

command_folder

Описывает каталог, где находятся UNIX-подобные команды. Требуется только для компилятора MinGW на ОС Windows. Тег command_folder может содержать следующие теги:

реестр

Ключ реестра Windows для команд. Обратите внимание на то, что тег XML пишется как "regestry", несмотря на орфографическую ошибку.

шаблон

Регулярное выражение, позволяющее IDE NetBeans найти папку команд в реестре

суффикс

Папка с исполняемыми файлами

path_patern

Регулярное выражение, позволяющее IDE NetBeans найти команды. Обратите внимание на то, что тег XML пишется как "path_patern", несмотря на орфографическую ошибку.

сканер

Имя службы синтаксического анализатора, см. раздел Создание обработчика ошибок пользовательского компилятора.

идентификатор

Имя службы синтаксического анализатора

Флаги компилятора

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

Теги Описание Пример для компилятора GNU

c,cpp

Набор флагов компилятора находится в следующих подузлах:

средство распознавания

Регулярное выражение, позволяющее IDE найти компилятор

Для GNU в среде cygwin на ОС Windows .[\\/].*cygwin.[\\/]bin[\\/]?$

компилятор

Имя компилятора (имя исполняемого файла)

gcc или g++

версия

флаг версии

--версия

system_include_paths

Флаги для получения путей к системным файлам include.

-x c -E -v

system_macros

Флаги для получения системных макросов.

-x c -E -dM

user_include

Флаг для добавления пути к пользовательскому файлу include.

-I

user_file

Флаг для добавления содержимого файла перед содержимым других файлов

-include файл

user_macro

Флаг для добавления пользовательского макроса.

-D

development_mode

Группы флагов для различных режимов разработки.

warning_level

Группы флагов для различных уровней предупреждения.

архитектура

Группы флагов для различных архитектур.

удалить

Флаг для удаления информации об отладке.

-s

c_standard

Определяет флаги для стандартных выражений C. Используется с тегами c89, c99 и c11.

c89 flags="-std=c89" c99 flags="-std=c99" c11 flags="-std=c11"

cpp_standard

Определяет флаги для стандартных выражений C++. Используется с тегами cpp98 и cpp11.

cpp98 flags="-std=c98" cpp11 flags="-std=c11" cpp11 flags="-std=gnu++0x"

output_object_file

Флаги для указания файла объектов

-o (после -o необходим пробел)

dependency_generation

Флаги для создания зависимостей.

-MMD -MP -MF $@.d

precompiled_header

Флаги для предварительно скомпилированного заголовка.

-o $@

important_flags

Регулярное выражение, которое определяет флаги компилятора, изменяющие систему по умолчанию, включая пути и предопределенные макросы для помощи при работе с кодом

-O1

-O2

-O3

-O4

-O5

-Ofast

-Og

-Os

-ansi

-fPIC

-fPIE

-fasynchronous-unwind-tables

-fbuilding-libgcc

-fexceptions

-ffast-math

-ffinite-math-only

-ffreestanding

-fgnu-tm

-fhandle-exceptions

-fleading-underscore

-fno-exceptions

-fno-rtti

-fnon-call-exceptions

-fnon-call-exceptions

-fopenmp

-fpic

-fpie

-fsanitize=address

-fshort-double

-fshort-wchar

-fsignaling-nans

-fstack-protector(\W

$

-)

-fstack-protector-all

-funsigned-char

-funwind-tables

-g(\W

$

-)

-ggdb

-gsplit-dwarf

-gtoggle

-m128bit-long-double

-m3dnow

-m64

-mabm

-madx

-maes

-march=.*

-mavx

-mavx2

-mbmi

-mbmi2

-mf16c

-mfma(\W

$

-)

-mfma4

-mfsgsbase

-mlong-double-64

-mlwp

-mlzcnt

-mpclmul

-mpopcnt

-mprfchw

-mrdrnd

-mrdseed

-mrtm

-msse3

-msse4(\W

$

-)

-msse4.1

-msse4.2

-msse4a

-msse5

-mssse3

-mtbm

-mtune=.*

-mx32

-mxop

-mxsave

-mxsaveopt

-pthreads

-std=.*

-xc($

+\+$)

многопоточность

Группы флагов для поддержки многопоточности.

Только для наборов средств Oracle Solaris Studio. Не используется в наборах средств на основе GNU.

стандартный

Группы флагов для различных языковых стандартов.

Только для наборов средств Oracle Solaris Studio. Не используется в наборах средств на основе GNU.

language_extension

Создание поставщика пользовательского компилятора

В IDE NetBeans имеется поставщик компиляторов по умолчанию: org.netbeans.modules.cnd.toolchain.compilers.MakeProjectCompilerProvider Этот поставщик работает для большей части инструментальных цепочек, но пользователи могут создавать собственных поставщиков.

Для создания собственного поставщика компилятора выполните следующие действия:

  • расширьте абстрактный класс org.netbeans.modules.cnd.api.compilers.CompilerProvider,

  • определите класс как службу и поместите ее перед поставщиком по умолчанию:

@org.openide.util.lookup.ServiceProvider(service = org.netbeans.modules.cnd.spi.toolchain.CompilerProvider.class,
position=500)
public class CustomCompilerProvider extends CompilerProvider {
...
}

Атрибут position=500 отвечает за вызов пользовательского поставщика перед поставщиком по умолчанию. Пользовательский поставщик должен возвращать ссылку на объект "Tool", не равную NULL, в методе createCompiler() для перезаписываемого средства.

Создание обработчика ошибок для пользовательского компилятора

В IDE NetBeans имеется два обработчика ошибок компиляторов, заданные по умолчанию.

  • для компилятора GNU,

  • для компилятора Sun Studio.

Обработчик ошибок компилятора GNU совместим с любыми компиляторами GNU, однако можно создать собственный обработчик ошибок компилятора.

Для создания собственного обработчика ошибок выполните следующие действия:

  • Расширьте абстрактный класс org.netbeans.modules.cnd.spi.toolchain.CompilerProvider.

  • Определите класс как службу:

@org.openide.util.lookup.ServiceProvider(service = org.netbeans.modules.cnd.spi.toolchain.CompilerProvider.class)
      public class CustomCompilerProvider extends ErrorParserProvider {
          ...
          @Override
          public String getID() {
      	return "MyParser";  // NOI18N
          }
      }
  • Соедините сканер ошибок и описание набора средств с помощью идентификатора:

</scanner id="MyParser">
...
  </scanner>

См. также

Дополнительные статьи о разработке с помощью C/C/Fortran в IDE NetBeans см. в разделе link:https://netbeans.org/kb/trails/cnd.html[+Учебные карты C/C+].

link:mailto:users@cnd.netbeans.org?subject=Feedback:Using%20the%20C/C+%20Tool%20Collection%20Descriptors%20-%20NetBeans%20IDE%208.0%20Tutorial[+Отправить отзыв по этому учебному курсу]