<chapter id="getting-started">

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

<title
>Начало работы с &kdevelop;</title>

 
<para
>В данном руководстве мы по шагам создадим простое KDE C++ приложение. Мы бегло пройдёмся на следующем: </para>
<simplelist>
  <member
><link linkend="gettingstarted-overview"
>Встретим &kdevelop; "по одёжке".</link
></member>
  <member
><link linkend="gettingstarted-configure"
>Начальные действия по конфигурации.</link
></member>
  <member
><link linkend="gettingstarted-new"
>Создание нового проекта.</link
></member>
  <member
><link linkend="gettingstarted-edit"
>Работа с документацией.</link
></member>
  <member
><link linkend="gettingstarted-compile"
>Сборка проекта.</link
></member>
  <member
><link linkend="gettingstarted-extend"
>Добавление классов и других элементов в проект.</link
></member>
  <member
><link linkend="gettingstarted-debug"
>Отладка программы.</link
></member>
  <member
><link linkend="gettingstarted-doc"
>Основной инструментарий по сборке проекта.</link
></member>
</simplelist>

<sect1 id="gettingstarted-overview">
<title
>Первый взгляд на &kdevelop;</title>

<sect2 id="gettingstarted-overview-basic">
<title
>Встреча "по одёжке"</title>

<para
>При первом запуске &kdevelop;, вы увидите окно, похожее на это: </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="empty-ide.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Начальное расположение элементов &kdevelop; </para
></caption>
  </mediaobject>
</screenshot>

<formalpara>
<title
>Рабочая область и служебные окна</title>
<para
>В начале &kdevelop; работает в режиме пользовательского интерфейса <link linkend="uimodes-survey"
>IDEAl</link
>. В нём рабочая область имеет наибольшие размеры, а по её краям расположено множество кнопок, при нажатии на которые открывается соответствующая вкладка, называемая также <emphasis
>служебным окном</emphasis
> (<emphasis
>tool view window</emphasis
>). </para>
</formalpara>

<formalpara>
<title
>Меню и панели инструментов</title>
<para
>Как всегда, в верху находится меню и несколько рядов с панелями инструментов. Некоторая их часть не будет заполнена до начала работы с каким-либо проектом. </para>
</formalpara>

<formalpara>
<title
>Панель состояния</title>
<para
>Наконец, в низу находится строка состояния, отображающая разного рода справочную информацию. </para>
</formalpara>
</sect2
> <!-- gettingstarted-overview-basic -->

<sect2 id="gettingstarted-overview-help">
<title
>Как получить справку</title>

<para
>Помимо меню <guimenu
>Справка</guimenu
>, за предосталвение краткой справочной информации отвечают панель состояния и два типа всплывающих подсказок. </para>

<formalpara>
<title
>Что делает этот пункт меню?</title>
<para
>При наведении курсора на пункт меню, в строке состояния выводится краткое пояснение к нему.</para>
</formalpara>

<formalpara>
<title
>Как называется эта кнопка?</title>
<para
>Если вы наведёте курсор мыши на одну из кнопок панели инструментов вкладку, или заголовок служебного окна, и задержите его на несколько секунд, должна появиться всплывающая подсказка с именем элемента.</para>
</formalpara>

<formalpara>
<title
>Что делает этот элемент интерфейса?</title>
<para
>Также можно получить более подробную информацию. Для этого выберите пункт меню <menuchoice
><guimenu
>Справка</guimenu
> <guimenuitem
>Что это?</guimenuitem
></menuchoice
> или нажмите <keycombo
><keycap
>&Shift;</keycap
><keycap
>F1</keycap
></keycombo
> (курсор примет форму вопроса), затем щёлкните на элементе, по которому хотели бы получить справку. Это может быть также пункт меню, в т.ч. неактивный.</para>
</formalpara>

</sect2
> <!-- gettingstarted-overview-help -->

<sect2 id="gettingstarted-overview-menu">
<title
>Что есть в меню</title>

<para
>Многие пункты меню становятся активными только при работе с проектом, или при открытом файле. В общем случае, они предоставляют следующие типы действий. </para>

<variablelist>
  <varlistentry>
  <term
><guimenu
>Файл</guimenu
></term>
  <listitem>
    <formalpara
><title
>Стандартные действия</title>
    <para
>Создание, открытие, сохранение, печать и сохранение файлов, а также выход из &kdevelop;.</para
></formalpara>
    <formalpara
><title
>Отмена изменений</title>
    <para
>Также, в этом меню можно перезагрузить содержимое файла с диска, чтобы вернуться к его старой версии.</para
></formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Правка</guimenu
></term>
  <listitem>
    <para
>Это меню содержит действия для работы с документом.</para>
    <formalpara
><title
>Стандартные действия</title>
    <para
>Как-то: отмена/повтор, работа с буфером обмена, варианты выделения текстовых блоков.</para
></formalpara>
    <formalpara
><title
>Поиск и замена</title>
    <para
>Помимо стандартного поиска/замены по документу, их можно производить и по нескольким файлам (проекта или каталога).</para
></formalpara>
    <formalpara
><title
>Расширенная правка текста</title>
    <para
>В среде разработки присутствуеют средства для переформатирования документа и автозавершения набираемого текста.</para
></formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Вид</guimenu
></term>
  <listitem>
    <para
>Это меню полезно только при открытом проекте. Среди прочих, в нём представлены такие действия:</para>
    <formalpara
><title
>История просмотра</title>
    <para
>Перемещение по открытым документам.</para>
    </formalpara>
    <formalpara
><title
>Отслеживание ошибок</title>
    <para
>Переход по строкам, в которых обнаружены ошибки во время последней сборки.</para>
    </formalpara>
    <formalpara
><title
>Управление вспомогательными окнами</title>
    <para
>Активация или скрытие вспомогательных окон (которые на самом деле могут и не быть окнами в привычном понимании).</para>
    </formalpara>
    <formalpara
><title
>Работа с редактором</title>
    <para
>Данные пункты управляют некоторыми параметрами используемого редактора. В случае использования компонента &kate; (Embedded Advanced Text Editor) это будут:</para>
    </formalpara>
    <itemizedlist>
      <listitem
><para
>(Динамический) перенос слов.</para
></listitem>
      <listitem
><para
>Также отображение границ: номера строк, отметки.</para
></listitem>
      <listitem
><para
>Отображение свёрнутых блоков исходного кода.</para
></listitem>
    </itemizedlist>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Проект</guimenu
></term>
  <listitem>
    <para
>Вся работа в &kdevelop; основана на <emphasis
>проектах</emphasis
>, которые собирают воедино исходные, вспомогательные (сборочные) файлы, и другую информацию:</para>
    <formalpara
><title
>Открытие проекта</title>
    <para
>Создание, открытие существующих и импорт проектов из других сред.</para>
    </formalpara>
    <formalpara
><title
>Параметры проекта</title>
    <para
>Установка многочисленных свойств проекта.</para>
    </formalpara>
    <formalpara
><title
>Управление классами</title>
    <para
>Добавление новых классов в проект и управление иерархией наследования.</para>
    </formalpara>
    <formalpara
><title
>Подготовка к распространению</title>
    <para
>Сборка дистрибутивных пакетов для распространения в Интернете.</para
></formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Сборка</guimenu
></term>
  <listitem>
    <para
>Компиляция и генерирование документации проекта:</para>
    <formalpara
><title
>Компиляция, компоновка, выполнение</title>
    <para
>Компиляция и компоновка частей или всего проекта, а также запуск приложений из среды разработки.</para>
    </formalpara>
    <formalpara
><title
>Операции по подготовке к сборке</title>
    <para
>Состав этой группы зависит от используемой в проекте сборочной системы. В случае automake, это, например, могут быть пункты для выполнения <filename
>Makefile.cvs</filename
> и сценария <filename
>configure</filename
>.</para>
    </formalpara>
    <formalpara
><title
>Установка приложения</title>
    <para
>Установка приложения как в локальные, так и в каталоги, доступные только для root.</para>
    </formalpara>
    <formalpara
><title
>API-документация</title>
    <para
>Сборка или удаление API-документации, с помощью doxygen.</para>
    </formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Отладка</guimenu
></term>
  <listitem>
    <para
>Для использования этого меню, нужно скомпилировать приложение с отладочной информацией (это можно установить через <menuchoice
><guimenu
>Проект</guimenu
> <guimenuitem
>Параметры проекта...</guimenuitem
></menuchoice
>):</para>
    <formalpara
><title
>Стандартные действия по отладке</title>
    <para
>Первая часть меню <guimenu
>Отладка</guimenu
> представляет собой некоторый вариант графического интерфейса к GDB &GNU;. Она включает в себя запуск и останов приложения в отладчике, пошаговое выполнение.</para>
    </formalpara>
    <formalpara
><title
>Точки останова</title>
    <para
>Основной пункт - <guimenuitem
>Установить/снять точку останова</guimenuitem
>.</para>
    </formalpara>
    <formalpara
><title
>Расширенная отладка</title>
    <para
>Остальные пункты меню <guimenu
>Отладка</guimenu
> представляют более сложные средства исследования программы. Для подробностей, воспользуйтесь комбинацией клавиш <keycombo
><keycap
>&Shift;</keycap
><keycap
>F1</keycap
></keycombo
>.</para>
    </formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Окно</guimenu
></term>
  <listitem>
    <para
>Стандартное меню. Здесь вы можете переходить по открытым документам, а также закрывать их.</para>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Сервис</guimenu
></term>
  <listitem>
    <para
>&kdevelop; - достаточно гибкая в настройках среда разработки. Вы можете выбрать любимый редактор, подключить внешние модули для расширения функциональности. Большинство таких действий собрано в меню <guimenu
>Сервис</guimenu
>.</para>
    <formalpara
><title
>Расширенная работа с документом</title>
    <para
>Верхняя часть меню <guimenu
>Сервис</guimenu
> предоставляется текущим модулем редактора. Его можно выбрать через <menuchoice
><guimenu
>Настройка</guimenu
> <guimenuitem
>Настроить KDevelop...</guimenuitem
> <guilabel
>Редактор</guilabel
></menuchoice
>.</para>
    </formalpara>
    <formalpara
><title
>Работа с web-страницами</title>
    <para
>Если текущее окно содержит HTML-страницу (например, это может быть документация), меню <guimenu
>Сервис</guimenu
> будет содержать пункты по работе с web-документами.</para>
    </formalpara>
    <formalpara
><title
>Другие инструменты</title>
    <para
>Кроме описанных выше, в данном меню также будет множество других пунктов, предоставляемых загруженными модулями. Для получения справки по ним, нажмите <keycombo
><keycap
>&Shift;</keycap
><keycap
>F1</keycap
></keycombo
>.</para>
    </formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Настройка</guimenu
></term>
  <listitem>
    <para
></para>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Справка</guimenu
></term>
  <listitem>
    <para
></para>
  </listitem>
  </varlistentry>
</variablelist>

</sect2
> <!--gettingstarted-overview-menu-->

</sect1
> <!-- gettingstarted-overview -->

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

<sect1 id="gettingstarted-configure">
<title
>Конфигурация</title>

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

</sect1
> <!-- gettingstarted-configure -->

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

<sect1 id="gettingstarted-new">
<title
>Как создать новый проект &mdash; Мастер приложений</title>

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

</sect1
> <!-- gettingstarted-new -->

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

<sect1 id="gettingstarted-edit">
<title
>Работа с документами</title>

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

<sect2 id="gettingstarted-edit-codecompletion">
<title
>Автоматизация ввода кода</title>

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

</sect2
> <!-- gettingstarted-edit-codecompletion -->

</sect1
> <!-- gettingstarted-edit -->

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

<sect1 id="gettingstarted-compile">
<title
>Сборка проекта</title>

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

<sect2 id="gettingstarted-compile-messages">
<title
>О чём говорят сообщения</title>

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

</sect2
> <!-- gettingstarted-compile-messages -->

</sect1
> <!-- gettingstarted-compile -->

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

<sect1 id="gettingstarted-extend">
<title
>Расширение проекта &mdash; &automanag;</title>

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

<sect2 id="gettingstarted-extend-automake">
<title
>Краткий обзор Automake</title>

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

</sect2
> <!-- gettingstarted-extend-automake -->

<sect2 id="gettingstarted-extend-pics">
<title
>Как сделать, чтобы значки были в отдельном каталоге</title>

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

</sect2
> <!-- gettingstarted-extend-pics -->

<sect2 id="gettingstarted-extend-class">
<title
>Как добавить новый класс</title>

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

<caution
><para
>Подумайте перед тем, как задавать названия класса - изменить его потом будет трудно. </para
></caution>

</sect2
> <!-- gettingstarted-extend-class -->

<sect2 id="gettingstarted-extend-subproject">
<title
>Что такое подпроект?</title>

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

<sect3 id="gettingstarted-extend-subproject-active">
<title
>Концентрируйтесь на работе &mdash; текущая цель</title>

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

</sect3
> <!-- gettingstarted-extend-subproject-active -->

</sect2
> <!-- gettingstarted-extend-subproject -->

<sect2 id="gettingstarted-extend-restructure">
<title
>Реорганизация проекта</title>

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

</sect2
> <!-- gettingstarted-extend-restructure -->


</sect1
> <!-- gettingstarted-extend -->

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

<sect1 id="gettingstarted-debug">
<title
>Как использовать отладку</title>

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

</sect1
> <!-- gettingstarted-debug -->

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

<sect1 id="gettingstarted-doc">
<title
>Работа с документацией</title>

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

</sect1
> <!-- gettingstarted-doc -->

</chapter>
