<chapter id="setup">

<chapterinfo>
  <authorgroup>
    <author
><firstname
>Bernd</firstname
><surname
>Pol</surname
></author>
    <!-- ROLES_OF_TRANSLATORS -->
  </authorgroup>
</chapterinfo>

<title
>Настройка &kdevelop;</title>

<para
>&kdevelop; - очень мощная и гибкая IDE, что позволяет легко подстроить её под себя. Для этого перейдите в <menuchoice
><guimenu
>Настройка</guimenu
><guimenuitem
>Настроить KDevelop...</guimenuitem
></menuchoice
>. Из этого диалога производится большая часть настройки. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-select.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Вкладки окна настроек </para
></caption>
  </mediaobject>
</screenshot>

<para
>Мы будет описывать вкладки диалога конфигурации в порядке, отличном от их расположения в программе, собрав их в несколько общих тем &mdash; <link linkend="setup-general"
>Общая настройка</link
>, <link linkend="setup-docu"
>Настройка документации</link
> и <link linkend="setup-advanced"
>Расширенная настройка</link
>. </para>
<para
>Если вы хотите сразу перейти к описанию конкретной вкладки конфигурации, воспользуйтесь следующими ссылками. </para>
<simplelist>
  <member
><link linkend="setup-main"
>Общие</link
></member>
  <member
><link linkend="setup-plugins"
>Модули</link
></member>
  <member
><link linkend="setup-format"
>Форматировщик кода</link
></member>
  <member
><link linkend="setup-new-file-wizard"
>Мастер создания файлов</link
></member>
  <member
><link linkend="setup-ui"
>Пользовательский интерфейс</link
></member>
  <member
><link linkend="setup-editor"
>Редактор</link
></member>
  <member
><link linkend="setup-abbrev"
>Сокращения</link
></member>
  <member
><link linkend="setup-menu-standard"
>Сервис</link
></member>
  <member
><link linkend="setup-menu-external"
>Внешние инструменты</link
></member>
  <member
><link linkend="setup-docu"
>Дерево документации</link
></member>
  <member
><link linkend="setup-snippets"
>Наработки</link
></member>
  <member
><link linkend="setup-fileselector"
>Выбор файлов</link
></member>
</simplelist>

<sect1 id="setup-general">
<title
>Общая настройка</title>

<para
>Здесь описываются наиболее распространённые действия по настройке &kdevelop;, а именно: </para>
<itemizedlist>
  <listitem
><para>
  <link linkend="setup-main"
>Общая настройка</link>
  </para
></listitem>
  <listitem
><para>
  <link linkend="setup-ui"
>Выбор пользовательского интерфейса</link>
  </para
></listitem>
  <listitem>
    <para
>Редактирование исходного кода </para>
    <itemizedlist>
      <listitem
><para>
      <link linkend="setup-editor"
>Выбор редактора</link>
      </para
></listitem>
      <listitem
><para>
      <link linkend="setup-format"
>Выбор стиля форматирования кода</link>
      </para
></listitem>
      <listitem
><para>
      <link linkend="setup-snippets"
>Настройка хранилища наработок кода</link>
      </para
></listitem>
    </itemizedlist>
  </listitem>
  <listitem
><para>
  <link linkend="setup-fileselector"
>Настройка инструмента выбора файлов</link>
  </para
></listitem>
</itemizedlist>

<sect2 id="setup-main">
<title
>Общая настройка</title>

<para
>Вкладка <guilabel
>Общие</guilabel
> предлагает настроить основные нюансы поведения &kdevelop;: </para>
<itemizedlist>
  <listitem>
    <para
>Параметры проекта, а именно </para>
    <itemizedlist>
      <listitem
><para
>определение <link linkend="setup-main-projects"
>родительского каталога по умолчанию</link
>, в котором будут создаваться новые проекты. </para
></listitem>
       <listitem
><para
><link linkend="setup-main-preload"
>загружать ли автоматически</link
> последний открытый проект при запуске &kdevelop;. </para
></listitem>
   </itemizedlist>
  </listitem>
  <listitem>
    <para
>Выбор шрифта для окон с выводом: </para>
    <itemizedlist>
      <listitem
><para
><link linkend="setup-main-messages-font"
>Окно сообщений</link
>, используемое для связи с компиляцией, и </para
></listitem>
      <listitem
><para
><link linkend="setup-main-applications-font"
>Окно вывода приложения</link
>, в котором могут отображаться ошибки из stderr. </para
></listitem>
    </itemizedlist>
  </listitem>
  <listitem>
    <para
>Некоторые общие параметры отображения в окне <guilabel
>Messages Output View</guilabel
>: </para>
    <itemizedlist>
      <listitem
><para
><link linkend="setup-main-wrap"
>переносить</link
> ли длинные строки </para
></listitem>
      <listitem
><para
>отображать ли <link linkend="setup-main-navigation"
>сообщения о смене каталогов и конечные сообщения</link
> команды <command
>Make</command
>. </para
></listitem>
    </itemizedlist>
  </listitem>
  <listitem
><para
><link linkend="setup-main-compile"
>уровень детализации</link
> сообщений компилятора. </para
></listitem>
</itemizedlist>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-general.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Вкладка Общие </para
></caption>
  </mediaobject>
</screenshot>

<formalpara id="setup-main-preload">
<title
>Загружать последний открытый проект при запуске</title>

<para
>Открывать при запуске проект, с которым вы работали в предыдущий раз. Обычно восстанавливается также и его состояние (набор открытых окон с исходными кодами, панелями инструментов и т.д.). </para>
</formalpara>

<formalpara id="setup-main-projects">
<title
>Каталог с проектами по умолчанию</title>
<para
>Здесь вы можете выбрать родительский каталог, предлагаемый по умолчанию для всех вновь созданных проектов. </para>
</formalpara>
<note
><para
>Тем не менее, вы всегда сможете поменять его для создаваемого проекта в <link linkend="applicationwizard"
>Мастере приложений</link
>. </para
></note>

<formalpara id="setup-main-messages-font">
<title
>Шрифт окна сообщений</title>
<para
>Нажмите кнопку <guilabel
>Шрифт окна</guilabel
>, содержащую текущий шрифт (на снимке экрана выше это <quote
>Luxi Sans</quote
>). </para>
</formalpara>
<note
><para
>При первом запуске &kdevelop; берёт настройки шрифтов из &kde;-конфигурации пользователя. Если вы позже измените эти настройки шрифтов, это никак не отразится в &kdevelop;, т.е. вам нужно будет также самостоятельно изменить шрифт в нём. </para
></note>

<formalpara id="setup-main-wrap">
<title
>Перенос строк</title>
<para
>Если вам не нравится что строки переносятся, отключите этот параметр. </para>
</formalpara>
<tip
><para
>Это также можно сделать через контекстное меню окна <guilabel
>сообщений</guilabel
>. </para
></tip>

<formalpara id="setup-main-navigation">
<title
>Сообщения о смене каталога</title>
<para
>Программа <command
>Make</command
> обычно выводит сообщения типа <quote
>Вход в каталог</quote
> (<quote
>Entering directory</quote
>) и <quote
>Выход из каталога</quote
> (<quote
>Leaving directory</quote
>). Чтобы абстрагироваться от этого, &kdevelop; фильтрует их. </para>
</formalpara>
<note
><para
>Изменение этого параметра ничего не сделает с уже полученными сообщениями. </para
></note>

<formalpara id="setup-main-compile">
<title
>Вывод компилятора</title>
<para
>&kdevelop; фильтрует выводимые сообщения. Здесь вы можете изменить уровень такой фильтрации. </para>
</formalpara>
<variablelist>
  <varlistentry>
    <term
><guilabel
>Очень краткий</guilabel
></term>
    <listitem
><para
>Только предупреждения, ошибки и имена компилируемых файлов. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Краткий</guilabel
></term>
    <listitem
><para
>Преобразует все опции компилятора и форматы в более читабельную форму. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Полный</guilabel
></term>
    <listitem
><para
>Не изменять вывод компилятора. </para
></listitem>
  </varlistentry>
</variablelist>

<tip
><para
>Это также можно сделать через контекстное меню. </para
></tip>

<formalpara id="setup-main-applications-font">
<title
>Шрифт окна вывода приложения</title>
<para
>Окно <guilabel
>вывода приложения</guilabel
> используется для отображения информации об ошибках и состоянии приложений, запущенных из &kdevelop;. </para>
</formalpara>
<para
>Нажмите кнопку <guilabel
>Шрифт окна</guilabel
>, содержащую текущий шрифт (на снимке экрана выше это <quote
>Luxi Sans</quote
>). </para>
<note
><para
>При первом запуске &kdevelop; берёт настройки шрифтов из &kde;-конфигурации пользователя. Если вы позже измените эти настройки шрифтов, это никак не отразится в &kdevelop;, т.е. вам нужно будет также самостоятельно изменить шрифт в нём. </para
></note>

</sect2
> <!-- setup-main -->

<sect2 id="setup-ui">
<title
>Выбор пользовательского интерфейса</title>

<indexterm zone="setup-ui">
  <primary
>пользовательский интерфейс</primary>
  <secondary
>переключение интерфейсов</secondary
></indexterm>
<indexterm zone="setup-ui">
  <primary
>переключение пользовательских интерфейсов</primary
></indexterm>

<para
>Как уже было сказано <link linkend="uimodes-survey"
>выше</link
>, в &kdevelop; есть 4 режима рабочей области: </para>
<itemizedlist>
  <listitem
><para>
  <link linkend="ideal-desc"
>Режим IDEAl</link>
  </para
></listitem>
  <listitem
><para>
  <link linkend="mdi-desc"
>Дочерние окна</link>
  </para
></listitem>
  <listitem
><para>
  <link linkend="tabbed-desc"
>Вкладки</link>
  </para
></listitem>
  <listitem
><para>
  <link linkend="toplevel-desc"
>Отдельные окна</link>
  </para
></listitem>
</itemizedlist>

<para
>Чтобы переключить режим интерфейса, выберите меню <menuchoice
> <guimenu
>Настройка</guimenu
> <guimenuitem
>Настроить KDevelop...</guimenuitem
> </menuchoice
>. В появившемся диалоге выберите вкладку <guilabel
>Пользовательский интерфейс</guilabel
>. При этом справа будут следующие параметры. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="select-user-interface-0.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Выбор режима интерфейса </para
></caption>
  </mediaobject>
</screenshot>

<para
>Выберите режим и нажмите <guibutton
>OK</guibutton
>. </para>

<note
><para
>Для вступления изменений в силу нужно перезапустить &kdevelop;. </para
></note>

<para
>При выборе режима <guilabel
>IDEAl</guilabel
> или <guilabel
>Вкладки</guilabel
> станут доступны ещё два раздела настроек: <link linkend="setup-ui-tabs"
>Использовать вкладки</link
> и <link linkend="setup-ui-hover"
>Кнопка закрытия</link
>. </para>
<para
>Также в режиме <guilabel
>IDEAl</guilabel
> будет доступен ещё один раздел, <link linkend="setup-ui-toolview"
>Вкладки инструментов</link
>, в котором можно менять размер вкладок инструментов (они расположены по бокам главного окна). </para>

<formalpara id="setup-ui-tabs">
<title
>Настройка вкладки документации</title>

<para
>В режиме вкладок и IDEAl, в верхней части главного окна появятся вкладки, с помощью которых можно переключаться между открытыми документами. Если вы хотите получить больше свободного рабочего пространства, вы можете "поиграться" с настройками в разделе <guilabel
>Вкладки</guilabel
>. </para>
</formalpara>

<variablelist>
<varlistentry>
  <term
><guilabel
>Всегда</guilabel
></term>
  <listitem
><para
>По умолчанию &mdash; отображать вкладку со значком и именем файла вверху рабочей области &kdevelop;. </para
></listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Только когда открыто несколько файлов</guilabel
></term>
  <listitem
><para
>Скрывать панель вкладок если открыт только один файл. </para
></listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Никогда</guilabel
></term>
  <listitem
><para
>Полезно если вы редко используете мышь для переключения между открытыми файлами. По умолчанию, для этого есть комбинация клавиш - <keycombo
><keycap
>Alt</keycap
> <keycap
>Стрелка</keycap
></keycombo
>, а мышью это также можно сделать через меню <guimenu
>Окно</guimenu
>. </para
></listitem>
</varlistentry>
</variablelist>

<formalpara id="setup-ui-hover">
<title
>Настройка закрытия файла щелчком по его вкладке</title>
<para
>Вы можете расширить функциональность вкладок с помощью пункта <guilabel
>Кнопка закрытия при наведении</guilabel
>. </para>
</formalpara>
<variablelist>
<varlistentry>
  <term
><guilabel
>Нет</guilabel
></term>
  <listitem
><para
>Стандартное поведение. Вкладки используются только для переключения на файл, который они представляют. </para
></listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Да</guilabel
></term>
  <listitem
><para
>Отображать в левом краю вкладок кнопку их закрытия после наведения курсора. </para
></listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Да, с задержкой</guilabel
></term>
  <listitem
><para
>Если задержать курсор на значке на несколько секунд, он превратится в кнопку закрытия. Это позволяет предотвратить случайные закрытия документа при попытке переключиться на него. </para
></listitem>
</varlistentry>
</variablelist>

<formalpara id="setup-ui-toolview">
<title
>Настройка вкладок инструментов</title>

<para
>Раздел <guilabel
>Вкладки инструментов</guilabel
> доступен только в режиме IDEAl. </para>
</formalpara>
<variablelist>
<varlistentry>
  <term
><guilabel
>Значки</guilabel
></term>
  <listitem>
  <para
>На вкладках будет отображаться только значок соответствующего инструмента, а на активной также описание в виде текста. </para>
  <para
>Если вы хотите узнать, что за инструмент скрывается за значком, наведите на его вкладку курсор и через некоторое время появится подсказка с именем инструмента. </para>
  </listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Текст</guilabel
></term>
  <listitem
><para
>Отображать имя инструмента, по умолчанию. </para
></listitem>
</varlistentry>
<varlistentry>
  <term
><guilabel
>Текст и значки</guilabel
></term>
  <listitem
><para
>По желанию, особенно если вы работаете с высоким разрешением экрана, вы можете выбрать этот пункт. Именна этот параметр включен на снимке экрана в разделе <link linkend="folded-toolview-tabs"
>Сложные вкладки</link
>. </para
></listitem>
</varlistentry>
</variablelist>

<formalpara>
<title
>Сложные вкладки</title>
<para
>Если в режиме IDEAl вкладки инструментов содержат текст (или текст со значками) и они перекрываются развёрнутой нижней вкладкой (например, отображающей сообщения компилятора), то они будут автоматически сложены: </para>
</formalpara>
<screenshot>
  <mediaobject id="folded-toolview-tabs">
    <imageobject>
      <imagedata fileref="folded-tabs.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Вкладки инструментов складываются чтобы не перекрываться другими элементами </para
></caption>
  </mediaobject>
</screenshot>

<note
><para
>Активная вкладка инструментов должна быть зафиксирована (режим неперекрываемости), разделяя рабочую область с другими элементами, для такого сложения. Нажмите маленький квадратик на границе окна для такой фиксации. </para
></note>

</sect2
> <!-- setup-ui -->

<sect2 id="setup-editor">
<title
>Выбор редактора</title>

<para
>В &kdevelop; вы можете использовать свой любимый редактор. Перейдите на вкладку <guilabel
>Редактор</guilabel
> окна <guilabel
>конфигурации KDevelop</guilabel
>. Справа будут отображены следующие параметры: </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-editor.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Выберите редактор </para
></caption>
  </mediaobject>
</screenshot>

<para
>Если &kde; <link linkend="setup-editor-kparts"
>настроен правильно</link
>, вы сможете выбрать один из доступных компонентов-редакторов: </para>
<variablelist>
  <varlistentry>
  <term
><guilabel
>Встроенный текстовый редактор</guilabel
></term>
  <listitem
><para
>Это стандартный <application
>Kate</application
>компонент &kde;. </para
></listitem>
  </varlistentry>
  <varlistentry>
  <term
><guilabel
>Встроенный Vim Component</guilabel
></term>
  <listitem>
    <para
>Имеет стиль базового редактора Linux <application
>vi</application
>. </para>
    <note
><itemizedlist>
      <listitem
><para
>Если этот пункт отсутствует, вам нужно установить <application
>Vim</application
>. Для подробностей см. <ulink url="http://www.freehackers.org/kvim/"
></ulink
>. </para
></listitem>
      <listitem
><para
>Кроем того нужно будет настроить KParts Vim в <guilabel
>Центре управления</guilabel
> перед его использованием. </para
></listitem>
    </itemizedlist
></note>
  </listitem>
  </varlistentry>
  <varlistentry>
  <term
><guilabel
>Редактор из Qt Designer</guilabel
></term>
  <listitem
><para
>Этот редактор поставляется Qt с компонентом <application
>Designer</application
>. </para
></listitem>
  </varlistentry>
</variablelist>

<para
>Все редакторы хорошо интегрированы с &kdevelop;., например вы всегда сможете перейти к строке, содержащей ошибку, щёлкнув по соответствующему сообщению об ошибке. </para>

<note
><para
>Смена редактора никак не повлияет на открытые файлы. Чтобы продолжить редактирования в новом редакторе, вы можете  заново открыть все файлы, или же просто заново открыть весь проект. </para
></note>

<important id="setup-editor-kparts"
><para
>Вы можете использовать любой редактор, зарегистрированный в &kde; и поддерживающий интерфейс KatePart. </para
></important>
</sect2
> <!-- setup-editor -->

<sect2 id="setup-format">
<title
>Выбор стиля оформления</title>

<para
>&kdevelop; автоматически форматирует текст в выбранном стиле. </para>

<note
><para
>На данный момент, поддерживаются C, C++ и &Java;. &kdevelop; использует для этого <ulink url="http://astyle.sourceforge.net/"
>astyle</ulink
>. </para
></note>

<para
>&kdevelop; автоматически форматирует текст в выбранном стиле. Чтобы поменять его, перейдите на вкладку <guilabel
>Форматировщик кода</guilabel
> диалога конфигурации. Здесь вы можете настроить <link linkend="setup-format-general"
>общий стиль оформления</link
>, a <link linkend="setup-format-indent"
>расстановку отступов</link
> и <link linkend="setup-format-other"
>другое</link
>. </para>

<tip
><para
>Изменение стиля влияет только на вновь вводимый текст. Если вы хотите изменить оформление старого кода, воспользуйтесь меню <menuchoice
><guimenu
>Правка</guimenu
><guimenuitem
>Форматировать код</guimenuitem
></menuchoice
>. </para
></tip>

<note
><para
>Результат этих определений стиля зависит от <link linkend="setup-editor"
>редактора</link
> используемого вами. На данный момент, большинство параметров подстроено под Kate KPart (<quote
>Встроенный текстовый редактор</quote
>). Некоторые другие редакторы (например редактор Qt) могут не(правильно) поддерживать часть параметров. Поэтому вам придётся поэкспериментировать с ними. </para
></note>

<warning
><para
>Также могут быть несовместимости между настройками оформления и нестандартным редактором, что в редких случаях может привести с порче файлов. Мы рекомендуем создать резервные копии перед проверкой новых настроек оформления с таким редактором. </para
></warning>

<sect3 id="setup-format-general">
<title
>Общая настройка форматировщика</title>

<para
>Вкладка <guilabel
>Общие</guilabel
> диалога  <guilabel
>Форматировщик кода</guilabel
> предлагает пять предустановленных стилей оформления. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="SF-general.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Общая настройка стиля форматирования </para
></caption>
  </mediaobject>
</screenshot>

<para
>При выборе стиля справа будет отображён пример исходного кода в этом стиле. Если вам не понравился ни один из перечисленных стилей, выберите <guilabel
>Определяемый пользователем</guilabel
> и установите все параметры самостоятельно на других двух вкладках. </para>

<note
><para
>В настоящее время, выдаётся пример оформления только для предустановленных стилей. </para
></note>

</sect3
> <!-- setup-format-general -->

<sect3 id="setup-format-indent">
<title
>Стиль расстановки переносов</title>

<para
>Правильная расстановка переносов - главный критерий удобочитаемости исходного кода. Вкладка <guilabel
>Отступы</guilabel
> диалога <guilabel
>Форматирование кода</guilabel
> содержит набор параметров расстановки переносов, сгруппированных в три категории. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="SF-indent.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Настройка стиля расстановки отступов </para
></caption>
  </mediaobject>
</screenshot>

<formalpara>
<title
>Параметры по умолчанию</title>
<para
>По умолчанию используется ANSI-стиль: </para>
</formalpara>
<screen
>namespace foospace
{
  int Foo()
  {
    if (isBar)
    {
      bar();
      return 1;
    }
    else
      return 0;
  }
}
</screen>

<formalpara id="setup-format-indent-filling">
<title
>Установка размера отступов</title>
<para
>Группа <guilabel
>Заполнение</guilabel
> определяет символы, которые будут использоваться для расстановки отступов. </para>
</formalpara>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Использовать табуляцию</guilabel
></term>
    <listitem>
    <para
>Вставлять символ табуляции для каждого уровня. Длина табуляции определена в настройках редактора (обычно 8 или 4). <menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Настроить редактор...</guimenuitem
> </menuchoice
> для изменения этого. </para>
    <note
><para
>Определение длины табуляции зависит от выбранного редактора. </para
></note>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Использовать пробелы</guilabel
></term>
    <listitem
><para
>Вставлять некоторое число пробелов для каждого уровня. </para
></listitem>
  </varlistentry>
</variablelist>

<formalpara>
<title
>Требующие отступов конструкции</title>
<para
>К каким объектам будут применяться настройки отступов. </para>
</formalpara>
<para
>По умолчанию это только пространства имён (<guilabel
>namespace</guilabel
>) и метки (<guilabel
>label</guilabel
>). </para>

<formalpara>
<title
>Переносы и продолжение строк</title>
<para
>Эти настройки отвечают за те случаи, когда форматировщик кода автоматически переносит длинные строки. Это - слишком большой размер отступа на глубоких уровнях, и условные операторы, получающие дополнительный отступ. </para>
</formalpara>

<note
><para
>Это применяется к <emphasis
>статическому переносу слов</emphasis
> только при превышении лимита ширины строки. Если ваш редактор настроен на динамический перенос слов (т.е. только при отображении) вы не увидите эффекта этих настроек. </para
></note>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Максимум в выражении</guilabel
></term>
    <listitem>
    <para
>Ограничить размер отступа для длинных строк, чтобы оставить достаточно места для сохранения удобочитаемости текста. </para>
    <para
>Значение по умолчанию - 40 символов (половина стандартной страницы). Возможно вы захотите увеличить это значение для более широкой страницы. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Минимум в условном операторе:</guilabel
></term>
    <listitem>
    <para
>Условные операторы или код, следующий, например, за оператором присваивания должны получать дополнительный отступ в длинных строках. Его величину можно указать здесь. </para>
    <para
>Значение по умолчанию - <quote
>В два раза больше текущего</quote
>, последний можно указать в группе <link linkend="setup-format-indent-filling"
>Заполнение</link
>. </para>
    </listitem>
  </varlistentry>
</variablelist>

</sect3
> <!-- setup-format-indent -->

<sect3 id="setup-format-other">
<title
>Другие настройки форматирования</title>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="SF-other.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Другие настройки стиля форматирования кода </para
></caption>
  </mediaobject>
</screenshot>

<formalpara>
<title
>Расположение скобок</title>
<para
>Группа <guilabel
>Скобки</guilabel
> определяет позиционирование разделителей блоков в коде C/C++. </para>
</formalpara>
<variablelist>
  <varlistentry>
    <term
><guilabel
>Оторвать</guilabel
></term>
    <listitem>
    <para
>Вставить символ новой строки перед каждой открывающей (фигурной) скобкой. Обе скобки будут иметь одинаковый с заголовком блока отступ.</para>
    <screen
>namespace foospace
{
  int Foo()
  {
    if (isBar)
    {
      bar();
      return 1;
    }
    else
      return 0;
  }
}
    </screen>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Присоединить</guilabel
></term>
    <listitem>
    <para
>Оставить открывающую скобку на одной строке с заголовком блока. Закрывающие скобки будут иметь отступ одинаковый с заголовком блока. Слово <token
>else</token
> выражения <token
>if</token
> будет оставлено на одной строке с закрывающей скобкой. </para>
    <screen
>namespace foospace {
  int Foo() {
    if (isBar) {
      bar();
      return 1;
    } else
      return 0;
  }
}
    </screen>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Стиль Linux</guilabel
></term>
    <listitem>
    <para
>Это совмещение описанных выше стилей. Скобки, отделяющие блок функции будут переводиться на новую строку, а скобки, открывающие блок условного выражения или цикла, будут оставлены на той же строке. </para>
    <screen
>namespace foospace
{
  int Foo()
  {
    if (isBar) {
      bar();
      return 1;
    } else
      return 0;
  }
}
    </screen>
    </listitem>
  </varlistentry>
</variablelist>

<formalpara>
<title
>Дополнительные пробелы</title>
<para
>По умолчанию, &kdevelop; стремится к уменьшению количества пробелов, использующихся в коде. </para>
</formalpara>

<screen
>if (isBar(fooArg)==barValue)
</screen>

<para
>Здесь можно вставлять дополнительные пробелы, которые (возможно) повысят удобочитаемость кода. </para>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Добавить пробелы около круглых скобок</guilabel
></term>
    <listitem>
    <para
>На самом деле пробелы будут ставиться вокруг текста, заключённого в скобки.</para>
    <screen
>if ( isBar( fooArg )==barValue )
    </screen>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Добавить пробелы около операторов</guilabel
></term>
    <listitem>
    <para
>Вставлять пробелы вокруг операторов присваивания и сравнения.</para>
    <screen
>if (isBar(fooArg) == barValue)
    </screen>
    </listitem>
  </varlistentry>
</variablelist>

<formalpara>
<title
>Форматирование однострочных конструкций</title>
<para
>В некоторых случаях форматирование кода излишне. Для C/C++ вы можете настроить это здесь. </para>
</formalpara>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Сохранять однострочные выражения</guilabel
></term>
    <listitem
><para
>Не трогать однострочные выражения даже если они превышают ограничение длины стоки. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Сохранять однострочные блоки</guilabel
></term>
    <listitem
><para
>Не трогать однострочные блоки даже если они превышают ограничение длины стоки. </para
></listitem>
  </varlistentry>
</variablelist>

</sect3
> <!-- setup-format-other -->

</sect2
> <!-- setup-format -->

<sect2 id="setup-snippets">
<title
>Настройка инструмента заготовок кода</title>

<para
>При работе с &kdevelop; вы можете сохранять часто используемые участки кода в виде <link linkend="editing-snippets"
>заготовок</link
>. Чтобы настроить модуль заготовок, перейдите в <menuchoice
> <guimenu
>Настройка</guimenu
> <guimenuitem
>Настроить KDevelop...</guimenuitem
></menuchoice
>, на вкладку <guilabel
>Code Snippets</guilabel
>. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-snippets.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Настройка инструмента заготовок кода </para
></caption>
  </mediaobject>
</screenshot>

<formalpara>
<title
>Предпросмотр заготовок</title>
<para
>Отметьте <quote
><guilabel
>Show snippet's text in tooltip</guilabel
></quote
> для быстрого просмотра заготовки при наведении на него курсора. </para>
</formalpara>

<formalpara>
<title
>Переменные в заготовках</title>
<para
>Инструмент <guilabel
>Code Snippets</guilabel
> поддерживает переменные. Настройки, связанные с ними, можно поменять в группе <guilabel
>Variables</guilabel
>. </para>
</formalpara>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Delimiter</guilabel
></term>
    <listitem
><para
>Имена переменных должны разделяться специальными символом. По умолчанию это <guilabel
>$</guilabel
>, но вы можете это поменять. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Метод задания значений переменных</guilabel
></term>
    <listitem
><itemizedlist>
      <listitem
><para
><guilabel
>Отдельный диалог для каждой переменной</guilabel
> &ndash; отображать отдельный диалог для каждой переменной, которая будет найдена при вставке заготовки в текст. </para
></listitem>
      <listitem
><para
><guilabel
>Одно окно для всех переменных заготовки</guilabel
> &ndash; выводить один общий диалог для указания значений всех переменных. </para
></listitem>
    </itemizedlist
></listitem>
  </varlistentry>
</variablelist>

</sect2
> <!-- setup-snippets -->

<sect2 id="setup-fileselector">
<title
>Настройка окна выбора файлов</title>

<para
>&kdevelop; содержит средство <guilabel
>выбора файлов</guilabel
>, которое позволяет работать с файловой системой. </para>

<screenshot id="setup-fileselector-image">
  <mediaobject>
    <imageobject>
      <imagedata fileref="file-selector.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Выбор файлов (режим IDEAl) </para
></caption>
  </mediaobject>
</screenshot>

<para
>Поведение окна <guilabel
>Выбор файлов</guilabel
> обладает гибкими настройками. Перейдите в <menuchoice
> <guimenu
>Настройка</guimenu
> <guimenuitem
>Настроить KDevelop...</guimenuitem
> </menuchoice
>, <guilabel
>Выбор файлов</guilabel
>: </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-file-selector.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Настройка выбора файлов </para
></caption>
  </mediaobject>
</screenshot>

<formalpara>
<title
>Настройка панели инструментов</title>
<para
>Панель инструментов, расположенная вверху окна можно настраивать как обычно. </para>
</formalpara>

<procedure id="setup-fileselector-add-action">
  <title
>Добавление действия на панель инструментов</title>
  <step>
    <para
>Выберите пункт в списке <guilabel
>Selected actions</guilabel
>, после которого нужно вставить новое действие. </para>
  </step>
  <step>
    <para
>Выберите пункт в списке <guilabel
>Available actions</guilabel
>. </para>
  </step>
  <step>
    <para
>Нажмите кнопку со стрелкой вправо </para>
     
  </step>
</procedure>

<procedure>
  <title
>Удаление действия с панели инструментов</title>
  <step>
    <para
>Выберите пункт в списке <guilabel
>Selected actions</guilabel
>, который нужно удалить. </para>
  </step>
  <step>
    <para
>Нажмите кнопку со стрелкой влево </para>
     
  </step>
</procedure>

<procedure>
  <title
>Изменение порядка пунктов</title>
  <step>
    <para
>Выберите пункт в списке <guilabel
>Selected actions</guilabel
>. </para>
  </step>
  <step>
    <para
>Нажмите кнопку со стрелкой вверх или вниз </para>
     
  </step>
</procedure>

<formalpara id="setup-fileselector-autosync">
<title
>Способ обновления содержимого</title>
<para
>Обновление содержимого окна <guilabel
>Выбор файлов</guilabel
> занимает определённое количество ресурсов. Поэтому оно настроено на обновление только по запросу, т.е. при выборе другого каталога или нажимаете кнопку <guilabel
>Обновить</guilabel
>. </para>
</formalpara>

<note
><para
>Нажмите <guilabel
>Обновить</guilabel
> на панели инструментов. Если её нет, <link linkend="setup-fileselector-add-action"
>добавьте её</link
>. </para
></note>

<para
>Можно его настроить на обновление также когда вы вносите изменения в файловую систему. Группа<guilabel
>Автоматическая синхронизация</guilabel
> отвечает за это. </para>

<variablelist>
  <varlistentry>
    <term
><guilabel
>При активизации документа</guilabel
></term>
    <listitem
><para
>Обновлять содержимое при переходе к другому документу. При этом произойдёт переход в каталог документа. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>При открытии документа</guilabel
></term>
    <listitem
><para
>Обновлять содержимое при открытии документа. При этом произойдёт переход в каталог документа. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>При отображении окна выбора файла</guilabel
></term>
    <listitem
><para
>Обновлять содержимое когда окно становится видимым. При этом произойдёт переход в каталог текущего документа. </para
></listitem>
  </varlistentry>
</variablelist>

<para
>Эти параметры можно совмещать. </para>

<formalpara>
<title
>История каталогов и фильтров</title>
<para
>Вверху и внизу окна выбора файлов есть выпадающие списки, позволяющие контролировать путь к текущему каталогу и фильтр отображаемых файлов. Вы можете указать количество запоминаемых (использованных) значений в этих списках. </para>
</formalpara>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Запомнить расположения</guilabel
></term>
    <listitem
><para
>Введите максимальное количество пунктов журнала. </para
></listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Запомнить фильтры</guilabel
></term>
    <listitem
><para
>Введите максимальное количество пунктов журнала. </para
></listitem>
  </varlistentry>
</variablelist>

<formalpara>
<title
>Что запоминать между сеансами</title>
<para
>По умолчанию <guilabel
>Обзор файлов</guilabel
> настроен на возвращение значений при запуске &kdevelop;, которые были в прошлый сеанс. </para>
</formalpara>

<note
><para
>При автоматическом перезапуске &kdevelop; менеджером сеансов &kde; значения этих параметров не учитываются, и предыдущие значения всегда восстанавливаются. </para
></note>

<variablelist>
  <varlistentry>
    <term
><guilabel
>Восстанавливать расположение</guilabel
></term>
    <listitem>
    <para
>Включено по умолчанию </para>
    <note
><para
>Если вы выбрали одно из <link linkend="setup-fileselector-autosync"
>автоматических обновлений</link
>, расположение может меняться не смотря на то, что было сохранено с прошлого сеанса. </para
></note>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Восстанавливать предыдущий фильтр</guilabel
></term>
    <listitem>
    <para
>Включено по умолчанию </para>
    </listitem>
  </varlistentry>
</variablelist>

</sect2
> <!-- setup-fileselector -->

<sect2 id="setup-new-file-wizard">
<title
>Настройка мастера создания файлов</title>

<para
>(... в процессе написания ...) </para>

</sect2
> <!-- setup-new-file-wizard -->

</sect1
> <!-- setup-general -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="setup-docu">
<title
>Настройка просмотра документации</title>

<para
>&kdevelop; поставляется с мощными средствами доступа к документации. Например, в режиме IDEAl есть вкладка <guilabel
>Документация</guilabel
> справа от рабочей области. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="documents-contents.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Дерево документации &kdevelop; (режим IDEAl) </para
></caption>
  </mediaobject>
</screenshot>

<note
><para
>Для обращения к документации используется соответствующий модуль. Для подробностей см. <link linkend="setup-plugins"
>Подключаемый инструментарий</link
>. </para
></note>

<para
>Вы можете настроить содержимое дерева документации через <menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Настроить KDevelop...</guimenuitem
> </menuchoice
>, вкладка <guilabel
>Просмотр документации</guilabel
>: </para>

<para
>Появится <link linkend="configure-docu-general"
>страница настроек</link
> со вкладками: </para>

<simplelist>
  <member
><link linkend="setup-docu-general"
>Коллекции документации</link
></member>
  <member
><link linkend="setup-docu-textsearch"
>Полнотекстовый поиск</link
></member>
  <member
><link linkend="setup-docu-other"
>Прочее</link
></member>
</simplelist>

<sect2 id="setup-docu-general">
<title
>Настройка коллекций документации</title>

<para
>Разные коллекции документации имеют свой собственный формат, и, кроме общих, они также имеют различные настройки. Вы можете выбрать что будет отображаться на вкладке <guilabel
>Содержание</guilabel
> модуля <guilabel
>Документация</guilabel
>, а также режимы поиска. </para>
<para
>Вкладка <guilabel
>Документация</guilabel
> представляет довольно большой набор настроек: </para>
<simplelist>
  <member
><link linkend="setup-docu-general-qt"
>Коллекция документации по Qt</link
></member>
  <member
><link linkend="setup-docu-general-chm"
>Коллекция документации в формате CHM</link
></member>
  <member
><link linkend="setup-docu-general-dox"
>Коллекция документации Doxygen</link
></member>
  <member
><link linkend="setup-docu-general-toc"
>Документация в формате KDevelopTOC</link
></member>
  <member
><link linkend="setup-docu-general-devhelp"
>Коллекция документации в формате Devhelp</link
></member>
  <member
><link linkend="setup-docu-general-custom"
>Другие коллекции документации</link
></member>
</simplelist>

<para id="configure-docu-general">
<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-docu-general.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Настройка коллекций документации </para
></caption>
  </mediaobject>
</screenshot>
</para>

<sect3 id="setup-docu-general-common">
<title
>Общие элементы настройки коллекций документации</title>

<para
>Все страницы настроек вкладки <guilabel
>Документация</guilabel
> имеют сходную расстановку элементов. </para>

<formalpara id="setup-docu-buttons">
<title
>Кнопки управления содержимым списка документации</title>

<para
>Доступно три кнопки: </para>
</formalpara>

<variablelist>
  <varlistentry>
    <term
><guibutton
>Добавить</guibutton
></term>
    <listitem>
      <para
>Открыть диалог <guilabel
>Свойства каталога документации</guilabel
>, в котором вы можете указать путь к новой документации.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guibutton
>Изменить</guibutton
></term>
    <listitem>
      <para
>Открыть диалог <guilabel
>Свойства каталога документации</guilabel
>, в котором вы можете изменить путь к документации.</para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guibutton
>Удалить</guibutton
></term>
    <listitem>
      <para
>Удалить документацию из списка.</para>
      <note
><para
>Удалить запись о выделенной документации. Если документация вам не нужна, удалите её самостоятельно с диска. </para
></note>
    </listitem>
  </varlistentry>
</variablelist>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-docu-edit.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Добавление или изменение элемента документации </para
></caption>
  </mediaobject>
</screenshot>

<para
>Кнопка справа от поля <guilabel
>Расположение</guilabel
> открывает диалог выбора папки. </para>
<para
>Поле <guilabel
>Заголовок</guilabel
> может быть недоступно для некоторых типов документации. </para>

<formalpara id="setup-docu-columns">
<title
>Список коллекций документации</title>

<para
>Страница параметров документации отображает пункты документации в таблице с четырьмя столбцами: </para>
</formalpara>

<variablelist>
  <varlistentry>
    <term
><guilabel
>TOC</guilabel
></term>
    <listitem>
      <para
>Если флажок отмечен, пункт документации будет показан на вкладке <guilabel
>Содержание</guilabel
> инструмента <guilabel
>Документация</guilabel
>. </para>
      <note
><para
>Снятие флажка <guilabel
>TOC</guilabel
> приведёт к отключению флажов <guilabel
>Индекс</guilabel
> и <guilabel
>Поиск</guilabel
> (см. ниже). </para
></note>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Индекс</guilabel
></term>
    <listitem>
      <para
>Если отмечено, текущий элемент будет учтён при индексации. Это ускорит работу с документацией через вкладки <guilabel
>Индекс</guilabel
> и <guilabel
>Поиск</guilabel
> утилиты <guilabel
>Документация</guilabel
> &kdevelop;. </para>
      <note>
        <para
>Внутренний индекс будет построен при первом переходе на вкладку <guilabel
>Индекс</guilabel
>. Это займёт некоторое время. </para>
        <para
>При последующих обращениях к этой вкладке будет использован созданный кэш, это будет намного быстрее. </para>
      </note>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Поиск</guilabel
></term>
    <listitem>
      <para
>Включать соддержимое документации в кэш для полнотекстового поиска со вкладки <guilabel
>Поиск</guilabel
> утилиты <guilabel
>Документация</guilabel
> &kdevelop;. </para>
      <note>
        <para
>&kdevelop; использует утилиту htdig для полнотекстового поиска. Последний поизводится по внутреннему индексу, который должен быть создан припервом поиске. </para>
        <para
>Для вступления изменений в силу вам нужно будет пересоздать индекс со вкладки <guilabel
>Поиск</guilabel
> утилиты <guilabel
>Документация</guilabel
> &kdevelop;. </para>
      </note>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
><guilabel
>Заголовок</guilabel
></term>
    <listitem
><para
>Имя пункта, отображаемое на вкладке <guilabel
>Содержание</guilabel
> утилиты <guilabel
>Документация</guilabel
> &kdevelop;. </para
></listitem>
  </varlistentry>
</variablelist>

<note
><para
>В ранних версиях &kdevelop; можно было выбирать какие пункты документации отображать для каждого проекта отдельно. Эта возможность была отключена. </para
></note>

</sect3
> <!-- setup-docu-general-common -->

<sect3 id="setup-docu-general-qt">
<title
>Коллекции документации по Qt</title>

<para
>На этой вкладке можно настроить документацию по &Qt; </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-docu-general.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Настройка коллекции документации по &Qt; </para
></caption>
  </mediaobject>
</screenshot>

<para
>Этот пункт будет заполнен при первом запуске &kdevelop;. Будет произведён поиск документации в установочном каталоге &Qt;. Слева отображается список найденных файлов. </para>

<para
>Если пути не определились, воспользуйтесь <link linkend="setup-docu-buttons"
>кнопками</link
> справа. </para>

<note
><para
>&kdevelop; будет использовать имеющиеся заголовки установленной документации &Qt;. Поэтому поле <guilabel
>Заголовок</guilabel
> в <guilabel
>Свойства каталога документации</guilabel
> недоступно. </para
></note>

<para
>По умолчанию, на вкладке <guilabel
>Содержание</guilabel
> отрображается не вся документация &Qt;. Для выбора отображаемого набора документации воспользуйтесь флажком <guilabel
>TOC</guilabel
> на <link linkend="setup-docu-columns"
>соответствующей вкладке настроек</link
>. </para>

<para
>Для управления набором документации, которую следует индексировать воспользуйтесь флажками <guilabel
>Индекс</guilabel
> и <guilabel
>Поиск</guilabel
> на <link linkend="setup-docu-columns"
>соответствующей вкладке настроек</link
>. </para>

</sect3
> <!-- setup-docu-general-qt -->

<sect3 id="setup-docu-general-chm">
<title
>Настройка коллекции документации CHM</title>

<para
>На этой вкладке можно настроить просмотр документации в формате &Microsoft; CHM. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-docu-chm.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Настройка документации в формате &Microsoft; CHM </para
></caption>
  </mediaobject>
</screenshot>

<para
>Сначала эта вкладка будет пустая (как показано выше), добавить новые элементы можно соответствующими <link linkend="setup-docu-buttons"
>кнопками</link
> справа от списка. </para>

<para
>Для подробностей о формате &Microsoft; <filename
>*.chm</filename
> см., например, PHP: Documentation - Extended CHM Format (<ulink url="http://de2.php.net/docs-echm.php"
>http://de2.php.net/docs-echm.php</ulink
>). </para>

</sect3
> <!-- setup-docu-general-chm -->

<sect3 id="setup-docu-general-dox">
<title
>Сгенерированная Doxygen документация</title>

<para
>На этой вкладке можно настроить работу с API-документацией, чегенерированной &doxygen;. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-docu-dox.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Настройка документации, сгенерированной Doxygen </para
></caption>
  </mediaobject>
</screenshot>

<para
>Такая документация создаётся автоматически. Раньше это делалось с помощью <ulink url="http://sirtaj.net/projects/kdoc/"
>KDoc</ulink
>, но теперь используется более гибкий <ulink url="http://www.doxygen.org"
>&doxygen;</ulink
>. Если вам всё же потребуется воспользоваться документацией в старом формате, добавьте файлы на странице <link linkend="setup-docu-general-custom"
>Коллекция документации</link
>. </para>
<para
>Сгенерированная &doxygen; API-документация состоит из набора <filename
>html</filename
> файлов, с основным<filename
>index.html</filename
>. Также в ней могут присутствовать <filename
>tag-</filename
>файлы, для связей с существующей внешней API-документацией. </para>
<para
>Папка, в которой находится файл <filename
>index.html</filename
>, должна содержать подпапки с отдельными коллециями документации. В каждой из них должен быть файл <filename
>.tag</filename
> и папка <filename class="directory"
>html/</filename
>. </para>
<para
>Примером служит <filename class="directory"
>$KDEDIR/share/doc/HTML/en/kdelibs-apidocs</filename
>. </para>

 

<para
>В &kdevelop; уже содержатся данные о API-документации библиотек &kde;. Если вы собрали &kdevelop; самостоятельно, для этого нужно было сделать одно из следующих действий: </para>

<itemizedlist>
  <listitem
><para
>Передать путь к документации сценарию <command
>configure</command
> с помощью ключа <option
>--with-kdelibsdoxy-dir</option
> при сборке &kdevelop; (см. <link linkend="make-api"
>Как получить API-документацию KDevelop</link
>). </para
></listitem>
  <listitem
><para
>Однако обычно <command
>configure</command
> самостоятельно находит все пути. </para
></listitem>
  <listitem
><para
>В худшем случае, папка <filename class="directory"
>$KDEDIR/share/doc/HTML/en/kdelibs-apidocs/</filename
> должна быть обнаружена &kdevelop; при первом запуске. </para
></listitem>
</itemizedlist>

<para
>Если документация не найдена, <guilabel
>Сгенерированная Doxygen документация</guilabel
> будет пустым. </para>

<para
>Добавить свою API-документацию можно с помощью <link linkend="setup-docu-buttons"
>кнопок</link
> справа. Если вы хотите, чтобы она была проиндексирована, отметьте <link linkend="setup-docu-columns"
>соответствующие флажки</link
>. </para>

<note
><para
>&kdevelop; берёт заголовки из <filename
>index.html</filename
>, поэтому поле <guilabel
>Заголовок</guilabel
> в диалоге <guilabel
>Свойства каталога документации</guilabel
> недоступно. </para
></note>

<tip>
  <para
>&kde; предоставляет больше документации, например документацию по включению модуля &kate; part в ваши программы. Установите &kde; Base Libraries API из <ulink url="http://developer.kde.org/source/index.html"
>исходников</ulink
> (<command
>make apidox</command
> и <command
>make install</command
> для пакета <filename class="directory"
>kdebase</filename
>) и добавьте новый элемент: </para>
  <screenshot
><mediaobject>
      <imageobject>
        <imagedata fileref="configure-adddialog-baselibs.png" format="PNG"/>
      </imageobject>
      <caption
><para
>Добавление &kde; Base API </para
></caption>
    </mediaobject
></screenshot>
  <para
>(естественно, замените <filename class="directory"
>/home/dev/mykde-system/</filename
> на ваш каталог &kde;) </para>
</tip>

<note
><para
>Аналогичным образом можно добавить справочник по API вашего проекта. Ранние версии &kdevelop; разрешали указывать набор документации отдельно для каждого проекта, эта возможность была удалена. </para
></note>

</sect3
> <!-- setup-docu-general-dox -->

<sect3 id="setup-docu-general-toc">
<title
>Иерархическая документация (KDevelopTOC)</title>

<para
>KDevelopTOC (TOC - Table Of Contents, таблица содержания) - это файлы, определяющие структуру документации, и содержащие ссылки на её (он-лайн) содержимое. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-docu-toc.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Документация в формате KDevelopTOC </para
></caption>
  </mediaobject>
</screenshot>

<para
>&kdevelop; поставляется с большим набором готовых файлов  KDevelopTOC, но для экономии места отображаются только некоторые из них. За это отвечает столбец <guilabel
>TOC</guilabel
> в <link linkend="setup-docu-columns"
>настройках документации</link
>. </para>

<para
>Файлы KDevelopTOC не подлежат полнотекстовому индексированию, т.к. обычно они содержат ссылки на удалённую документацию. Но в них может быть простая индексная информация в теге <computeroutput
>&lt;index&gt;</computeroutput
>. Поэтому флажок <guilabel
>Индекс</guilabel
> будет доступен только если такой тег будет найден (для подробностей см. <link linkend="setup-docu-general-toc-files"
>&kdevelop; TOC</link
>). </para>
<para
>Флажок <guilabel
>Поиск</guilabel
> будет всегда недоступен. </para>

<para
>Добавить новые элементы можно соответствующими <link linkend="setup-docu-buttons"
>кнопками</link
> справа от списка. </para>

<note
><para
>Кнопка <guibutton
>Удалить</guibutton
> не удаляет сам <filename
>.toc</filename
>-файл, а только убирает его из списка. </para
></note>

</sect3
> <!-- setup-docu-general-toc -->

<sect3 id="setup-docu-general-toc-files">
<title
>&kdevelop; TOC</title>

<para
>Найдите в дереве документации пункт ниже &Qt;/&kde; (например <quote
>KDE2 Development Book (kde.org)</quote
>). Нажмите на значке в виде плюса. Откроется структура документации, позволяющая переходить к желаемому разделу. Но он будет расположен <emphasis
>удалённо</emphasis
>. </para>

<para
>Это позволяет сэкономить на трафике и времени. </para>

<para
>Таблицы содержания хранятся в файлах с расширением <filename
>.toc</filename
>. Они написаны в &XML;. </para>

<formalpara>
<title
>Стандартный каталог &kdevelop; TOC</title>
<para
>При установке &kdevelop; файлы <filename
>.toc</filename
> помещаются в <filename class="directory"
>$KDEDIR/share/apps/kdevdoctreeview/tocs</filename
>. </para>
</formalpara>

<variablelist id="toc-file-structure">
  <title
>Структура &kdevelop; TOC</title>
  <varlistentry>
    <term
>заголовок</term>
    <listitem>
      <simplelist>
        <member>
          <computeroutput
>&lt;!DOCTYPE kdeveloptoc&gt;</computeroutput>
        </member>
        <member>
          <computeroutput
>&lt;kdeveloptoc&gt;</computeroutput>
        </member>
        <member>
          <emphasis
>(заголовок)</emphasis>
        </member>
        <member>
          <emphasis
>(начальный адрес)</emphasis>
        </member>
        <member>
          <emphasis
>(структура содержимого)</emphasis>
        </member>
        <member>
          <emphasis
>(структура индекса)</emphasis>
        </member>
        <member>
          <computeroutput
>&lt;/kdeveloptoc&gt;</computeroutput>
        </member>
      </simplelist>
      <para
>&XML; будет обрабатываться соответствующим модулем. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>заголовок</term>
    <listitem>
      <simplelist>
        <member
><computeroutput
>&lt;title&gt;</computeroutput
> <emphasis
>(некоторая строка)</emphasis
> <computeroutput
>&lt;/title&gt;</computeroutput
> </member>
      </simplelist>
      <para
>Заголовок, отображаемый на верхнем уровне. </para>
      <note
><para
>Чтобы изменить его, отредактируйте файл <filename
>.toc</filename
> (тег <computeroutput
>&lt;title&gt;</computeroutput
>). </para
></note>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>начальный адрес</term>
    <listitem>
      <simplelist>
        <member
><computeroutput
>&lt;base href="</computeroutput
> <emphasis
>(&URL;)</emphasis
> <computeroutput
>"/&gt;</computeroutput
> </member>
      </simplelist>
      <para
>&URL; должен ссылаться на начальный файл. Остальные ссылки относительны, так что если вы загрузили документацию, вам нужно будет сменить лишь его на соответствующий локальный. </para>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>структура содержимого</term>
    <listitem>
      <simplelist>
        <member
><computeroutput
>&lt;tocsect1 name="</computeroutput
> <emphasis
>(заголовок раздела)</emphasis
> <computeroutput
>" url="</computeroutput
> <emphasis
>(&URL; раздела)</emphasis
> <computeroutput
>"&gt;</computeroutput
> </member>
        <member
>...</member>
        <member
><computeroutput
>&lt;tocsectn name="</computeroutput
> <emphasis
>(заголовок раздела)</emphasis
> <computeroutput
>" url="</computeroutput
> <emphasis
>(&URL; раздела)</emphasis
> <computeroutput
>"/&gt;</computeroutput
> </member>
        <member
>...</member>
        <member>
          <computeroutput
>&lt;/tocsect1&gt;</computeroutput>
        </member>
      </simplelist>
      <para
>Вся оставшаяся информация записывается в такую иерархическую структуру с парами <computeroutput
>&lt;tocsecti&gt;</computeroutput
> ... <computeroutput
>&lt;/tocsecti&gt;</computeroutput
>, где <emphasis
>i</emphasis
> - номер уровня. </para>
      <para
>Любой <computeroutput
>&lt;tocsecti&gt;</computeroutput
> должен иметь атрибут <computeroutput
>name="xxx"</computeroutput
>. Он будет использован для отображения заголовка в дереве документации. </para>
      <para
>Атрибут <computeroutput
>url=""</computeroutput
> может быть ассоциирован с любым уровнем вложенности <emphasis
>i</emphasis
>. </para>
      <para
>Тег <computeroutput
>&lt;tocsectn/&gt;</computeroutput
> должен содержать атрибут <computeroutput
>url=""</computeroutput
>. Последний вложенный <computeroutput
>&lt;tocsectn/&gt;</computeroutput
> будет закрыт <computeroutput
>/</computeroutput
> перед <computeroutput
>&gt;</computeroutput
>. </para>
      <note
><para
>Ссылкой может быть адрес документа, либо указатель на конкретное его место (якорь) с помощью #, например: <filename
>/base-url/section-url#anchor-mark</filename
>. </para
></note>
    </listitem>
  </varlistentry>
  <varlistentry>
    <term
>структура индекса</term>
    <listitem>
      <simplelist>
        <member>
          <computeroutput
>&lt;index&gt;</computeroutput>
        </member>
        <member
><computeroutput
>&lt;tocsectn name="</computeroutput
> <emphasis
>(заголовок индексного пункта)</emphasis
> <computeroutput
>" url="</computeroutput
> <emphasis
>(&URL; раздела)</emphasis
> <computeroutput
>"/&gt;</computeroutput
> </member>
        <member>
          <computeroutput
>&lt;/index&gt;</computeroutput>
        </member>
      </simplelist>
      <para
>Простой список индексных записей - пар заголовок-&URL;. Необязательно. </para>
    </listitem>
  </varlistentry>
</variablelist>

</sect3
> <!-- setup-docu-general-toc-files  -->

<sect3 id="setup-docu-general-devhelp">
<title
>Документация в формате DevHelp</title>

<para
>Формат DevHelp - другой вариант доступа к иерархической документации. Он сделан для GNOME 2 и использует расширение <filename
>.devhelp</filename
>. </para>
<para
>Вы можете выбирать, какие файлы будут доступны, на вкладке<guilabel
>Коллекция документации DevHelp</guilabel
>. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-docu-devhelp.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Документация в формате DevHelp </para
></caption>
  </mediaobject>
</screenshot>

<formalpara>
<title
>Как получить документацию DevHelp</title>
<para
>Файлы DevHelp были доступны на сайте <ulink url="http://lidn.sourceforge.net/"
>LiDN</ulink
>, но похоже, что он умер. Более свежие версии DevHelp можно найти на странице<ulink url="http://htmlhelp.berlios.de/books/devhelp.php"
>DevHelp Books Download</ulink
>. </para>
</formalpara>

<para
>При установке &kdevelop;, он попытается найти файлы <filename
>.devhelp</filename
> в некоторых стандартных папках системы, например в <filename class="directory"
>/opt/gnome/share/</filename
>. Найденные файлы не будут отображаться по умолчанию, за это отвечается флажок <guilabel
>TOC</guilabel
> в <link linkend="setup-docu-columns"
>настройках документации</link
>. </para>

<para
>Добавить новые элементы можно соответствующими <link linkend="setup-docu-buttons"
>кнопками</link
> справа от списка. </para>

</sect3
> <!-- setup-docu-general-devhelp -->

<sect3 id="setup-docu-general-custom">
<title
>Документация в нестандартном формате</title>

<para
>Здесь вы можете добавить файлы почти любого формата, но с меньшей функциональностью. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-docu-custom.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Документация в нестандартном формате </para
></caption>
  </mediaobject>
</screenshot>

<para
>Изначально коллекция будет пустая, мы специально добавить в неё элемент. </para>
<para
>Добавить новые элементы или удалить старые можно соответствующими <link linkend="setup-docu-buttons"
>кнопками</link
> справа от списка. </para>

<para
>Чтобы документация отображалась на панели документации, отметьте флажок <guilabel
>TOC</guilabel
> в окне <link linkend="setup-docu-columns"
>настроек</link
>. </para>

<note
><para
>Документация в нестандартном формате не может быть проиндексирована. </para
></note>

</sect3
> <!--- setup-docu-general-custom -->

</sect2
> <!-- setup-docu-general -->

<sect2 id="setup-docu-textsearch">
<title
>Индексирование документации</title>

<para
>(... в процессе написания ...) </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="configure-doctree-textsearch.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Индексирование документации </para
></caption>
  </mediaobject>
</screenshot>

</sect2
> <!-- setup-docu-textsearch -->

<sect2 id="setup-docu-other">
<title
>Другие настройки коллекций документации</title>

<para
>(... в процессе написания ...) </para>

</sect2
> <!-- setup-docu-other -->

</sect1
> <!-- setup-docu -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="setup-advanced">
<title
>Расширенная настройка</title>

<para
>(... в процессе написания ...) </para>

<sect2 id="setup-plugins">
<title
>Подключаемый инструментарий</title>

<para
>(... в процессе написания ...) </para>
</sect2
> <!-- setup-plugins -->

<sect2 id="setup-abbrev">
<title
>Сокращения</title>

<para
>(... в процессе написания ...) </para>
</sect2
> <!-- setup-abbrev -->

<sect2 id="setup-menu-standard">
<title
>Добавление стандартных приложений &kde; в меню Сервис</title>

<para
>(... в процессе написания ...) </para>
</sect2
> <!-- setup-menu-standard -->


<sect2 id="setup-menu-external">
<title
>Добавление внешних приложений в меню</title>

<para
>(... в процессе написания ...) </para>

<sect3 id="setup-menu-external-tools">
<title
>Добавление в меню Сервис</title>

<para
>(... в процессе написания ...) </para>
</sect3
> <!-- setup-menu-external-tools -->

<sect3 id="setup-menu-external-filecontext">
<title
>Добавление в контекстное меню файлов</title>

<para
>(... в процессе написания ...) </para>
</sect3
> <!-- setup-menu-external-filecontext -->

<sect3 id="setup-menu-external-dircontext">
<title
>Добавление в контекстное меню каталогов</title>

<para
>(... в процессе написания ...) </para>
</sect3
> <!-- setup-menu-external-dircontext -->

</sect2
> <!-- setup-menu-external -->

</sect1
> <!-- setup-advanced -->

</chapter
> <!-- setup -->
