Интегрированная среда разработки

Интегрированная среда разработки (IDE) – ряд программных инструментов, используемых для облегчения создания программного обеспечения. OpenOffice.org включает очень развитую IDE с инструментами, которые осуществляют выполнение, редактирование и поиск ошибок в Ваших макросах. Требуется время, чтобы ознакомиться с ее возможностями. Центральная область, где содержится код макроса, – окно редактирования. Многие возможности, такие как Останов, Контрольные точки, Пошаговое выполнение и панель контрольных значений, служат простыми, но эффективными средствами для отладки кода макроса.

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

Значок Компиляция Компилировать компилирует и выполняет проверку синтаксиса только текущего модуля. Значок Компиляция полезен, если Вы не хотите выполнять макрос но хотите проверить, что он не содержит синтаксических ошибок. Сообщения не отображаются, если ошибка не найдена. Когда найдена ошибка, появляется диалог, указывающий на ошибку. Стрелка в колонке Контрольной точки отмечает строку с ошибкой и часть кода, который вызвал ошибку, выделена. Нажмите кнопку OK для закрытия окна сообщения об ошибке.

Процесс компиляции переводит макроопределение OOo на машинный язык, который компьютер может понять и выполнить.

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

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

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

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

Значок Выход на верхний уровень Выход на верхний уровень выполняет макрос до конца текущей подпрограммы и затем выходит из нее. Эффект тот же самый, как повторяющееся нажатие на значок Шаг с заходом, пока последнее утверждение в текущей подпрограмме (End Sub или End Function) не станет текущим, и затем нажатие Шаг с заходом еще раз для выхода из подпрограммы. Утверждение после вызова текущей подпрограммы становится текущим утверждением. Если Вы случайно нажмете Шаг с заходом вместо Шаг без захода, нажмите один раз значок Выход на верхний уровень. Заметьте, что значок содержит стрелку, которая покидает фигурные скобки, представляющие вызов подпрограммы или функции.

Значок Точка останова Точка останова устанавливает контрольную точку в утверждении, содержащем курсор. Красный признак останова отмечает строку в столбце точек останова. Двойной щелчок по столбцу точек останова устанавливает точку останова в этом утверждении. Щелчок правой кнопкой мыши на точке останова в столбце точек останова активирует или деактивирует ее.

Значок Управление точками останова Управление точками останова открывает диалог Точки останова.Ручное редактирование и формирование точек останова

Значок Включить инспектор Включить инспектор предполагает, что текущее слово (слово, в котором находится курсор при нажатии на значок) – переменная и добавляет имя этой переменной в панель Инспектора.

Значок Каталог объектов Каталог объектов открывает окно Объекты, где Вы можете просмотреть все доступные в настоящее время контейнеры библиотек. Используйте это окно, чтобы видеть, какие библиотеки, модули и подпрограммы являются доступными. Выполните двойной щелчок мышью на подпрограмме для загрузки ее в IDE. Функциональные возможности подобны Навигатору в документе OOo Writer. Вы должны сохранить файл прежде, чем его модули будут доступны в Каталоге Объектов.Вы можете просмотреть доступные библиотеки и модули в окне Объекты

Оставьте окно Объекты открытым и используйте его как навигатор для быстрого перехода между модулями, библиотеками или подпрограммами в том же самом модуле.

Значок Выбрать макрос Выбрать макрос загружает диалог Макрос. Выбирая СервисМакросУправление макросамиOpenOffice.org Basic Вы также загружаете диалог Макрос.

Значок Выбрать модуль Выбрать модуль загружает диалог Управление макросами. Этот значок имеет тот же самый эффект, что и нажатие на кнопку Управление в диалоге Макрос.

Выберите или поместите курсор непосредственно слева от круглой скобки, затем нажмите значок Найти скобку Найти скобку для поиска парной круглой скобки. Когда IDE находит парную круглую скобку, она выделяет парные круглые скобки и все, что они охватывают.

Чтобы открыть окно Элементы управления, нажмите значок Вставить элементы управления Вставить элементы управления при редактировании диалога.

Чтобы создать диалог для редактирования, нажмите значок Выбрать модуль Выбрать модуль для загрузки диалога Управление макросами. Перейдите на вкладку Диалоги и нажмите кнопку Новый диалог для создания нового диалога.

Последние два значка, Вставить код Basic Вставить код Basic и Сохранить Basic Сохранить Basic, используются для вставки в текущий модуль текста, сохраненного во внешний исходный файл, и для сохранения текущего модуля во внешний текстовый файл. Это прекрасный способ создать резервную копию макроса или создать текстовый файл, который можно легко послать другому человеку. Это отличается от значка Сохранить Сохранить, который используется для сохранения всей библиотеки или документа, содержащего модуль.

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

Если Вы установите точку останова в коде, то макрос прекратит выполнение в этой точке. Вы можете тогда проверить переменные, продолжить выполнение макроса или осуществить пошаговое выполнение макроса. Если макрос терпит неудачу, и Вы не знаете почему, пошаговое выполнение (выполнение одного утверждения за шаг) позволит Вам наблюдать макрос в действии. Когда макрос терпит неудачу, Вы будете знать, где это происходит. Если большое количество утверждений выполняется перед проблемным участком, так что не реально пошаговое выполнение, таким образом Вы можете установить точку останова в или около строки, которая вызывает проблему. Программа прекращает выполнение в этой точке, и Вы можете продолжить пошаговое выполнение макроса и наблюдать его поведение.

Значок Точка останова Точка останова устанавливает контрольную точку в утверждении, содержащем курсор. Красный знак останова отмечает строку в колонке точки останова. Двойной щелчок в колонке точки останова также устанавливает точку останова в этом утверждении. Щелчок правой кнопкой мыши на точке останова в колонке точки останова активирует и деактивирует ее.

Значок Управление точками останова Управление точками останова загружает диалог Точки останова. Все активные точки останова в текущем диалоге IDE появляются в нижнем списке. Для добавления точки останова введите номер строки в поле ввода сверху и затем нажмите Создать. Для удаления точки останова выделите точку останова в списке и нажмите кнопку Удалить. Очистка флажка Вкл./Выкл. запрещает выделенную точку останова без ее удаления. Поле ввода Пропусков указывает количество раз, которое контрольная точка должна быть пройдена прежде, чем она будет считаться активной. Если количество пропусков четыре, то в четвертый раз, когда утверждение, содержащее контрольную точку, будет выполняться, произойдет останов выполнения. Это чрезвычайно полезно, когда часть макроса не вызывает ошибок, пока ее не вызвали многократно.

Есть две вещи, которые заставляют игнорировать точку останова: ненулевое количество проходов и явная маркировка точки останова как «не активная» в диалоге Точки останова. Каждая точка останова имеет счетчик проходов, который является декрементным к нулю, когда она достигнута. Если результат декремента — ноль, контрольная точка становится активной и остается активной, потому что счетчик проходов остается в дальнейшем в нуле. Счетчик проходов не восстанавливается к его исходному значению, когда макрос заканчивается или повторно запускается.

Легко контролировать значение переменных из IDE во время выполнения программы. Поместите курсор рядом или в любое слово в окне редактирования и нажмите значок Включить инспектор для добавления слова в панель Инспектора. Панель инспектора отображает значения переменных, доступных в настоящее время. Текст <Не доступно> отображается для недоступных переменных. Другой способ добавить переменную в панель инспектора – ввести имя в поле Контрольное значение и нажать Enter. Для удаления имени из панели инспектора выделите его или введите имя в поле Контрольное значение и нажмите значок Удалить контрольное значение Удалить контрольное значение. Нажатие на имя в панели инспектора помещает имя в поле Контрольное значение.

Переменная, которая находится в пределах видимости, в настоящее время доступна или видима. Например, если переменная j определена внутри HelloWorld1, она не видима (недоступна) внутри HelloWorld2.

Оставить комментарий