Ian
Geiser

# Поддержка сценариев

## Выполнение сценариев

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

## Добавление сценариев

После добавления поддержки KScript в ваше главное приложение, добавление в него сценариев становится лёгкой задачей. Сценарии состоят из двух частей - файла .desktop, содержащего метаданные (текст пункта меню и интерпретатор), и собственно сценария. Этот подход был использован из соображений безопасности и простоты использования.

Этот пример демонстрирует основные части, которые нужны KScript. Первый элемент, "Name", определяет имя сценария, показываемое пользователи, а текст элемента "Comment" будет показан во всплывающей подсказке. Наиболее важным является "Type", он определяет интерпретатор, который будет использован для сценария. На текущий момент есть два возможных варианта - "ShellScript/bash" и "JavaScript/kjs". нашем примере выбран первый. Сценарию передаётся два аргумента . Первый - DCOP ID (дескриптор) главного приложения.

Приведенный сценарий устанавливает текст первого документа в вывод команды "ls -l"

Самое полезная программа для разработки таких сценариев - KDCOP.

### Работа с DCOP-интерфейсами в &kdevelop; с помощью KDCOP

KDCOP позволяет просматривать и отлаживать интерфейсы приложений. На текущий момент KDCOP поддерживает KJSEmbed, Python и оболочки UNIX для работы с DCOP.

Когда сценарий написан, осталось его установить. Разработчики основного приложения должны позаботиться об этой процедуре, или хотя бы задокументировать пути, в которых будут искаться сценарии. В примере выше, сценарий Kate расположен в "$KDEDIRS/share/apps/kate/scripts".

### Сценарии &kdevelop; в файловой системе

Файл .desktop должен быть в одной папке со сценарием. Разработчикам сценариев также рекомендуется хранить вспомогательные файлы, такие как файлы пользовательского интерфейса, файлы данных, в той же папке. Также заметим, что основное приложение блокируется на время выполнения сценария. но это будет изменено в KDE 4.