Bernd
Pol

# Конфигурационные файлы, используемые &kdevelop;

&kdevelop; использует целое множество файлов для хранения разнообразных настроек Их можно разделить на две группы:

- Конфигурация &kdevelop; по умолчанию.
- Пользовательские конфигурации — модифицированные файлы первой группы.

## Основная конфигурация &kdevelop;

Во время установки &kdevelop; в подпапки `$`KDEDIR`` (обычно это одна `/opt/kde` или `/usr/local/kde`, см. Установка &kdevelop;) записываюися файлы с начальной конфигурацией.

### Конфигурация &kdevelop; по умолчанию

Параметры, связанные непосредственно с &kdevelop;, хранятся в одном файле, который находится в папке `$`KDEDIR`/share/config/`:

`kdeveloprc`

  Файл содержит основные параметры &kdevelop;. Он будет скопирован в `$`KDEHOME`/share/config` для каждого пользователя, запустившего &kdevelop; в первый раз.

### Стандартные значения, связанные с приложением

Большая часть функциональности &kdevelop; реализуется через модули KPart (см. обзор в приложении Модули). Каждый такой компонент имеет собственный набор конфигурационных файлов, начальная версия которых хранится в подпапках `$`KDEDIR`/share/apps/`.

Соответствующие им подпапки начинаются с `kdev`. Большинство из них предназначены только для внутреннего использования. Их можно организовать в несколько групп:

- Самостоятельные приложения
- Проблемно-ориентированные модули
- Модули работы с проектами
- Модули поддержки языков

- #### Самостоятельные приложения

  - `kdevelop/` — содержит конфигурацию &kdevelop; &IDE;.

    - `licenses/` — содержит тексты лицензий.

    - `pics/` — содержит заставки &kdevelop;, &kdevelop; Assistant и &kdevelop; Designer.

    - `profiles/` — стандартные настройки профиля модулей. На время написания в папке находится только один файл `tiny`, определяющий минимальный набор активных модулей &kdevelop;.

    - `eventsrc` — некоторые сообщения, переведенные нв другие языки.

    - `kdevelopui.rc` — базовое меню и кнопки панелей инструментов, используемые в &kdevelop;.

    - `kdevhtml_partui.rc` — пункт Печать... в меню Файл, Копировать в меню Правка и кнопки перехода на панели инструментов Обозреватель когда модулем Документация открыт &HTML;-файл.

  - `kdevassistant/` — меню и панели инструментов просмотрщика документации.

  - `kdevdesigner/` и `kdevdesignerpart/` — меню и панели инструментов для редактора форм.

- #### Проблемно-ориентированные модули

  - `kdevabbrev/` — модуль сокращений:

    - `sources/` — определения сокращений, используемых командой Завершить текст.

    - `templates/` — определения шаблонов, используемых командой Автозамена.

    - `kdevabbrev.rc` — вставляет пункты Завершить текст и Автозамена в меню Правка.

  - `kdevappwizard/` — файлы, используемые Мастером приложений:

    - `importfiles/` — файлы проектов `.kdevelop`, используемых при создании новый проектов.

    - `imports/` — шаблоны фавйлов `.desktop`.

    - `template-common/` — другие файлы, включаемые в дистрибутив проектов.

    - `templates/` — конфигурационные файлы, содержащие данные, которые включаются в каталог нового проекта.

    - `*.png` — изображения, используемые в Мастере приложений.

    - `*.tar.gz` — архивы с исходными файлами, которые добавляются в папку создаваемого проекта.

  - `kdevastyle/` — пункт Переформатировать код вы меню Правка.

  - `kdevautoproject/` — основные элементы меню Сборка и панели инструментов Сборка (&kdevelop;).

  - `kdevclassview/` — файлы, используемые модулем работы с классами:

    - `pics/` — значки, используемые в дереве классов.

    - `kdevclassview.tc` — пункт Диаграмма наследования в меню Проект, а также выпадающий список перехода по классам на панели инструментов Обозреватель.

  - `kdevcloser/` — пункты, отвечающие за закрытие, в менюОкно.

  - `kdevctags/` — пункт CTags в меню Сервис.

  - `kdevcvsservice/` — значок, используемый на вкладке CvsService и для маленького сценария, добавляющего файл в хранилище &cvs;.

  - `kdevdebugger/` — основная часть меню Отладка.

  - `kdevdiff/` — пункт Окно просмотра различий в меню Сервис.

  - `kdevdistpart/` — пункт Публикация и распространение в меню Проект.

  - `kdevdocumentation/` — файлы, используемые модулем Документация:

    - `en/` и `pics/` — файлы, используемые модулем поиска htdig.

    - `tocs/` — стандартные файлы описания документации &kdevelop; (для подробностей см. Структура &kdevelop; TOC).

    - `kdevpart_documentation.rc` — пункты поиска в меню Справка.

  - `kdevdoxygen/` — пункты меню для работы с генератором API-документации Doxygen.

  - `kdevfilecreate/` — содержит файлы, используемые мастером новых файлов:

    - `file-templates/` — шаблоны исходных файлов различных типов.

    - `kdevpart_filecreate.rc` — пункт Создать в меню Файл.

    - `template-info.xml` — описания поддерживаемых типов файлов для служебного окна Новый файл.

  - `kdevfilter/` — пунктыВыполнить команду... и Фильтровать выделение через команду... в менюСервис.

  - `kdevfullscreen/` — пункт Полный экран в меню Вид и соответствующий значок на панели инструментов.

  - `kdevgrepview/` — пункт Найти в файлах... в менюПравка.

  - `kdevhistory/` — пункты Назад и Вперёд в меню Вид.

  - `kdevjavadebugger/` — меню Отладка Java.

  - `kdevoutputviews/` — пункты Следующая ошибка и Предыдущая ошибка в меню Вид.

  - `kdevpartexplorer/` — пункт >Компонент обозреватель в меню Сервис.

  - `kdevquickopen/` — пункт Быстрое открытие файла... в меню Файл и пункты Быстрое открытие класса.... и Быстрое открытие метода... в меню Сервис.

  - `kdevregexptest/` — пункт Проверить регулярное выражение... в меню Сервис.

  - `kdevreplace/` — пункт Поиск-Выбор-Замена... в меню Правка.

  - `kdevtipofday/` — отвечает за пункт Совет дня в меню Справка.

  - `kdevtools/` — различные пункты меню, созданные в Меню инструментов и Внешние инструменты.

  - `kdevvalgrind/` — пункты Проверка утечек памяти с помощью Valgrind и Профилировать в KCachegrind в меню Отладка.

- #### Компоненты, отвечающие за создание/сборку проектов

  - `kdevadaproject/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов Ada.

  - `kdevantproject/` — пункты меню Сборка для создания проектов Ant.

  - `kdevautoproject/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, основывающихся на. &GNU; Tools &automake;. Также — Добавить перевод... и Конфигурация сборки в меню Проект.

  - `kdevcustomproject/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, использующих статические Makefile.

  - `kdevgenericproject/` — определения меню для экспериментального универсального генератора проектов. На текущий момент (3.1.0) — не используется.

  - `kdevhaskellproject/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов на языке Haskell.

  - `kdevpascalproject/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов на языке Pascal.

  - `kdevtrollproject/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за создание проектов, использующих &Qt; QMake.

- #### Компоненты, отвечающие за поддержку языков

  - `kdevadasupport/` — пункты меню Сервис и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами Ada.

  - `kdevbashsupport/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за разработку Bash-сценариев.

  - `kdevcppsupport/` — файлы, используемые Мастером приложений для создания приложений C++:

    - `newclass/` — шаблоны заголовочных и исходных файлов.

    - `subclassing/` — шаблоны декларации/определения классов в исходны файлах.

    - `templates` — заготовки шаблонов, которые будут использоваться в Мастере новых файлов для данного проекта.

    - `configuration` — пустой шаблон для добавления макросов.

    - `kdevcppsupport.rc` — пункты Дополнить текст и Генерировать член класса в меню Правка, Переключить заголовочный/исходный файл в меню Вид, Новый класс в меню Проект и на панели инструментов Обозреватель.

  - `kdevfortransupport/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами на языке Fortran.

  - `kdevhaskellsupport/` — пункты меню Сборка и соответствующие кнопки на панели инструментов, отвечающие за работу с проектами на языке Haskell.

  - `kdevjavasupport/` — пользовательский интерфейс для разработки &Java;-приложений.

  - `kdevpascalsupport/` — пользовательский интерфейс для разработки приложений на языке Pascal.

  - `kdevperlsupport/` — пункты меню Проект и Справка для разработки сценариев на языке Perl.

  - `kdevphpsupport/` — пользовательский интерфейс и файлы для определения функций для разработки на языке PHP.

  - `kdevpythonsupport/` — пункты меню Сборка и Справка и соответствующие кнопки на панели инструментов для разработки сценариев на языке Python.

  - `kdevrubysupport/` — пункты меню Сборка и соответствующие кнопки на панели инструментов для разработки сценариев на языке Ruby.

  - `kdevscriptproject/` — пользовательский интерфейс для работы со специальными проектами. На данный момент (3.1.0) — не используется.

  - `kdevsqlsupport/` — пользовательский интерфейс для работы с SQL-проектами. На данный момент (3.1.0) — не используется.

## Пользовательская конфигурация

Вся информация о параметрах, определяемых пользователем, хранится в двух подкаталогах `$`KDEHOME``:

- Конфигурация приложения хранится в `$`KDEHOME`/share/apps/`
- Конфигурация ресурсов - в `$`KDEHOME`/share/config/`.

### Конфигурация приложения

Все изменения конфигурации &kdevelop; по умолчанию, внесенные пользователем, а также все пользовательские параметры, которые не хранятся в Конфигурации ресурсов, находяся в подкаталогах `kdev...` `$`KDEHOME`/share/apps/`.

Большинство таких конфигурационных файлов используются модулями &kdevelop; для вывода своих пунктов меню и кнопок на панелях инструментов. Таким образом, они предсталвяют интерес только если с пользовательским интерфейсом что-то не так.

При первом запуске &kdevelop; скопирует все файлы из `$`KDEDIR`/apps/` в `$`KDEHOME`/apps/` и будет вносить изменения только в локальные (для текущего пользователя) их копии.

- `kdevabbrev/` — модуль сокращений:

  - `sources/` — на текущий момент пустая; &kdevelop; использует файлы определения сокращений по умолчанию. Они используются командой Завершить текст.

  - `templates/` — изменённые пользователем определения шаблонов, используемых командой Автозамена.

  - `kdevabbrev.rc` — вставляет пункты Завершить текст и Автозамена в меню Правка.

- `kdevappwizard/` — пункты Новый проект... и Импортировать существующий проект... меню Проект. Мастер приложений будет использовать параметры конфигурации по умолчанию.

- `kdevastyle/` — вставляет пункт Переформатировать код в меню Правка.

- `kdevautoproject/` — меню и панель инструментов Сборка.

- `kdevclassview/` — пункты Диаграмма наследования меню Проект, а также выпадающий список навигатора по классам на панели инструментов Обозреватель.

- `kdevcloser/` — пункт Закрыть выделенные окна... меню Окно.

- `kdevcppsupport/` — содержит конфигурацию, используемую Мастером приложений для генерирования проектов на C++. Основная же часть настроек берётся из папки конфигурации по умолчанию.

  - `newclass/` — шаблоны заголовков и исходных файлов.

  - `pcs/` — файлы базы данных, используемых &kdevelop; для генерирования файла Persistent Code Store (`.pcs`) проекта на C++.

  - `kdevcppsupport.rc` — пункты Дополнить текст и Генерировать член класса в меню Правка, Переключить заголовочный/исходный файл в меню Вид, Новый класс в меню Проект и на панели инструментов Обозреватель.

- `kdevctags/` — пункт CTags в меню Сервис.

- `kdevdebugger/` — основная часть меню Отладка.

- `kdevdiff/` — пункт Окно просмотра различий в меню Сервис.

- `kdevdocumentation/` — содержит файлы, используемые модулемдокументации в дополнение к файлам конфигурации по умолчанию.

  Подкаталоги `kdevdocumentation/` преимущественно содержат информацию о регистрации. Сами файлы настройки хранятся в файлах `doc...pluginrc` в каталоге `$`KDEHOME`/share/config/`.

  - `bookmarks/` — отвечает за вкладку Закладки модулядокументации.

  - `index/` — кэш для ускорения поиска через вкладку Индекс модуля документации.

  - `search/` — файлы, используемые средством поиска htdig, обрабатывающем запросы со вкладки Поиск модуля документации.

  - `kdevpart_documentation.rc` — пункты поиска в меню Справка.

- `kdevdoxygen/` — пункты меню для работы с генератором API-документации Doxygen.

- `kdevelop/` — некоторые параметры, используемые для базовой настройки &kdevelop;:

  - `profiles/` — профиль модулей (сначала там есть только профиль `FullIDE`, определяющий полный набор активных модулей).

  - `kdevelopui.rc` — базовое меню и кнопки панелей инструментов, используемые в &kdevelop;.

- `kdevfilecreate/` — содержит файлы, используемые мастером новых файлов:

  - `file-templates/` — текст, помещаемый в создаваемые исходные файлы для каждого из их типов. Другие шаблоны можно найти в папке с конфигурацией по умолчанию.

  - `kdevpart_filecreate.rc` — пункт Создать в меню Файл.

  - `template-info.xml` — описания поддерживаемых типов файлов для служебного окна Новый файл.

- `kdevfilter/` — пунктыВыполнить команду... и Фильтровать выделение через команду... в менюСервис.

- `kdevfullscreen/` — пункт Полный экран в меню Вид и соответствующий значок на панели инструментов.

- `kdevgrepview/` — пункт Найти в файлах... в менюПравка.

- `kdevoutputviews/` — пункты Следующая ошибка и Предыдущая ошибка в меню Вид.

- `kdevpartexplorer/` — пункт >Компонент обозреватель в меню Сервис.

- `kdevquickopen/` — пункт Быстрое открытие файла... в меню Файл и пункты Быстрое открытие класса.... и Быстрое открытие метода... в меню Сервис.

- `kdevregexptest/` — пункт Проверить регулярное выражение... в меню Сервис.

- `kdevreplace/` — пункт Поиск-Выбор-Замена... в меню Правка.

- `kdevtipofday/` — пункт Совет дня в меню Справка. HTML-файл советами находится в папке с конфигурацией по умолчанию.

- `kdevtools/` — различные пункты меню, созданные в Меню инструментов и Внешние инструменты.

- `kdevvalgrind/` — пункты Проверка утечек памяти с помощью Valgrind и Профилировать в KCachegrind в меню Отладка.

### Конфигурация ресурсов

В папке `$`KDEHOME`/share/config/` находится две группы файлов, различаемых по символам в начале и конце их имён:

- `doc...pluginrc` - файлы, используемые модулем документации.
- `kdev...rc` - файлы, используемые &kdevelop; и его модулями.

#### Конфигурационные файлы, используемые &kdevelop;

- `kdevabbrevrc` — текущая конфигурация модуля автозамены.

  Здесь определяется только будет использоваться автозамена, или нет. Определения правил автозамены будут помещаться в `$`KDEHOME`/share/apps/kdevabbrev/templates/templates`.

- `kdevassistantrc` — конфигурация автономного просмотрщика документации &kdevelop; Assistant.

  Большинство общих настроек разделяются с файлом настроек &kdevelop; IDE - `kdeveloprc`.

- `kdevassistantuimode4rc` — конфигурация многодокументных режимов (позиции панелей инструментов, служебных окон и т.д.) автономного просмотрщика документации &kdevelop; Assistant.

- `kdevclassviewrc` — параметры режима просмотра вкладки обозревателя классов.

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

- `kdevcppsupportrc` — некоторые параметры, используемые для работы с CPP-файлами. В частности, здесь вы найдёте настройки генератора классов C++.

- `kdevdocumentationrc` — параметры модуля документации.

- `kdeveloprc` — содержит глобальные настройки, используемые &kdevelop; IDE и &kdevelop; Assistant.

- `kdevelopuimode4rc` — текущие настройки многодокументного режима &kdevelop; IDE.

- `kdevfileselectorrc` — параметры модуля выбора файлов.

- `kdevfileviewrc` — параметры цветового оформления имён файлов для модуля интеграции с CVS.

- `kdevfilterrc` — параметры модуля фильтрации через конвейер интерпретатора.

- `kdevgrepviewrc` — параметры модуля grep.

- `kdevsnippetrc` — параметры модуля заготовок кода.

- `kdevtoolsrc` — параметры модуля расширения меню Сервис.

#### Конфигурационные файлы, используемые модулем документации

- `docchmpluginrc` — информация о файлах &Microsoft; CHM.

- `doccustompluginrc` — хранит информацию про файлы документации в нестандартном формате, определённые на вкладке Коллекция документации диалога настроек программы.

- `docdevhelppluginrc` — хранит информацию про файлы документации в формате GNOME 2 DevHelp, определяемые на вкладке Коллекция документации DevHelp диалога настроек программы.

- `docdoxygenpluginrc` — хранит информацию про файлы API-документации, сгенерированной Doxygen, определяемые на вкладке Коллекция документации Doxygen диалога настроек программы.

- `dockdevtocpluginrc` — хранит информацию про файлы-индексы документации в формате KDevelopTOC, определяемые на вкладке KDevelopTOC Documentation Collection диалога настроек программы.

- `docqtpluginrc` — хранит информацию про файлы документации QT.

## Параметры проектов

Большая часть параметров проекта хранится в файле `<имя-проекта>.kdevelop`, а также `<имя-проекта>.kdevses`:

- `<имя-проекта>.kdevelop` — общая конфигурация проекта.
- `<имя-проекта>.kdevses` — сведения для восстановления параметров прошлого сеанса работы с проектом.

Оба файла имеют &XML;-формат.

### Постоянное хранилище кода

Третий файл конфигурации проекта - `<имя-проекта>.kdevelop.pcs`. Это двоичный файл, хранящий кеш внутреннего анализатора, позволяющий ускорить процесс загрузки. Также, такие файлы хранят ифнормацию, используемую для инструмента авто-дополнения кода.

На вкладке Авто-дополнение кода страницы Поддержка C++ параметров проекта можно установить дополнительные `.pcs`-файлы. Информация о них хранится в `$`KDEHOME`/share/apps/kdevcppsupport/pcs/`.