<chapter id="applicationwizard">

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

<title
>Начало &mdash; Мастер программ</title>

<indexterm zone="applicationwizard">
  <primary
>Мастер программ</primary
></indexterm>

<para
>В &kdevelop; разработка ПО организована <emphasis
>проектами</emphasis
>. Проект содержит всё, что относится к данному заданию на программирование: исходные файлы, дополнительные файлы данных, средства управления, в т.ч. система сборки, доступ ко всем компонентам и к любым дополнительным инструментам, словом всё, что нужно для получения реально работающей программы. </para>
<para
>Такая организация позволяет легко переключаться между глобальными заданиями. Это очень удобно, если вы работаете над несколькими приложениями одновременно. что бывает очень часто. Откройте проект в &kdevelop; и вы сразу сможете продолжить работу над ним с того места, где остановились в прошлый раз. </para>

<sect1 id="new-projects">
<title
>Новые проекты</title>

<indexterm zone="new-projects">
  <primary
>проект</primary>
  <secondary
>новый</secondary
></indexterm>

<para
>При создании нового проекта нужно выполнить множество формальных процедур. Как-то: указание папки проекта, определение файлов с заголовками и исходным кодом, первоначальная настройка сборочной системы. </para>
<para
>&kdevelop; обеспечивает простой способ создания нового проекта &mdash; <emphasis
>Мастер приложений</emphasis
>. Его можно запустить из меню <menuchoice
><guimenu
>Проект</guimenu
> <guimenuitem
>Создать</guimenuitem
></menuchoice
>. </para>
<para
>Мастер приложений значительно упрощает и автоматизирует создание нового проекта </para>
<orderedlist>
  <listitem
><para
>На этапе <link linkend="new-projects-start-type"
>Выбора языка программирования</link
> вы также можете использовать один из предлагаемых шаблонов программы. </para
></listitem>
  <listitem
><para
>Затем следует ввод <link linkend="new-projects-start-general"
> некоторой общей информации</link
>, как то название приложения, каталог его исходников и т.д. </para
></listitem>
  <listitem
><para
>Теперь решите, будете ли вы использовать <link linkend="new-projects-start-cvs"
>систему контроля версий</link
>, такую, как, например, CVS, и, если будете, введите требуемые данные. </para
></listitem>
  <listitem
><para
>Выберите шаблоны для <link linkend="new-projects-start-templates"
>начальных заголовочных и исходных файлов</link
> (если есть). </para
></listitem>
  <listitem
><para
>Теперь осталось <link linkend="new-projects-start-build"
>сгенерировать начальные файлы</link
>, структуру каталогов, начальные заголовочные и исходные файлы и служебные файлы для управления проектом, например каркас для make. </para
></listitem>
</orderedlist>
<para
>Voil&agrave; &mdash; и это всё. Теперь у вас есть база для начала продуктивной работы. </para>
<para
>А теперь рассмотрим это более подробно... </para>

<sect2 id="new-projects-start">
<title
>Первоначальные шаги</title>

<indexterm zone="new-projects-start">
  <primary
>диалог</primary>
  <secondary
>создание нового проекта</secondary
></indexterm>
<indexterm zone="new-projects-start">
  <primary
>проект</primary>
  <secondary
>создание нового проекта</secondary>
  <tertiary
>диалог</tertiary
></indexterm>
<indexterm zone="new-projects-start">
  <primary
>проект</primary>
  <secondary
>шаблоны</secondary
></indexterm>
<indexterm zone="new-projects-start">
  <primary
>шаблоны</primary>
  <secondary
>проект</secondary
></indexterm>

<para
>Чтобы создать новый проект, выберите пункт <guimenuitem
>Создать проект</guimenuitem
> из меню <guimenu
>Проект</guimenu
>: </para>

<screenshot id="screenshot-newprojectwizard">
  <mediaobject>
    <imageobject>
      <imagedata fileref="createnewproject.png" format="PNG"/>
    </imageobject>
    <caption
><para
>первый шаг создания проекта </para
></caption>
  </mediaobject>
</screenshot>

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

<sect3 id="new-projects-start-type">
<title
>Выбор языка программирования и типа приложения</title>

<indexterm zone="new-projects-start-type">
  <primary
>проект</primary>
  <secondary
>тип приложения</secondary
></indexterm>
<indexterm zone="new-projects-start-type">
  <primary
>проект</primary>
  <secondary
>язык программирования</secondary
></indexterm>
<indexterm zone="new-projects-start-type">
  <primary
>проект</primary>
  <secondary
>язык</secondary
></indexterm>
<indexterm zone="new-projects-start-type">
  <primary
>язык</primary
></indexterm>
<indexterm zone="new-projects-start-type">
  <primary
>язык программирования</primary
></indexterm>
<indexterm zone="new-projects-start-type">
  <primary
>приложение</primary>
  <secondary
>тип</secondary
></indexterm>

<para
>Вверху справа находится список доступных языков программирования, например: </para>

<itemizedlist>
  <listitem
><para
>Ada <indexterm>
      <primary
>Ada</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>C <indexterm>
      <primary
>C</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>C++ <indexterm>
      <primary
>C++</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>База данных (SQL) <indexterm>
      <primary
>SQL</primary>
      <secondary
>новый проект</secondary
></indexterm>
    <indexterm>
      <primary
>База данных</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>Fortran <indexterm>
      <primary
>Fortran</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>Haskell <indexterm>
      <primary
>Haskell</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>Java <indexterm>
      <primary
>Java</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>PHP <indexterm>
      <primary
>PHP</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>Pascal <indexterm>
      <primary
>Pascal</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>Perl <indexterm>
      <primary
>Perl</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>Python <indexterm>
      <primary
>Python</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>Ruby <indexterm>
      <primary
>Ruby</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
  <listitem
><para
>Оболочка (Сценарии Bash) <indexterm>
      <primary
>Bash</primary>
      <secondary
>новый проект</secondary
></indexterm>
    <indexterm>
      <primary
>оболочка</primary>
      <secondary
>новый проект</secondary
></indexterm>
  </para
></listitem>
</itemizedlist>

<para
>Выбор определённого языка программирования приводит к доступности соответствующих ему <emphasis
>шаблонов</emphasis
>, которыми вы можете воспользоваться как отправной точкой. </para>
<para
>При выборе шаблона отображается его <emphasis
>краткое описание</emphasis
> и <emphasis
>снимок экрана</emphasis
> главного окна приложения, основанного на выбранном шаблоне. </para>
<para
>Выберите шаблон, наиболее отвечающий вашим целям. Затем введите общую информацию, как описано ниже. </para>

<formalpara>
<title
>Выбор системы управления проектом</title>
<para
>Каждый шаблон привязан к определённой <link linkend="makesystems"
>Системе управления проектом</link
>. </para>
</formalpara>

</sect3
> <!-- new-projects-start-type -->

<sect3 id="new-projects-start-general">
<title
>Указание общей информации</title>

<indexterm zone="new-projects-start-general">
  <primary
>проект</primary>
  <secondary
>свойства</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>свойства</primary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>приложение</primary>
  <secondary
>название</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>название</primary>
  <secondary
>приложение</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>проект</primary>
  <secondary
>каталог</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>каталог</primary>
  <secondary
>проект</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>путь</primary>
  <secondary
>новый проект</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>проект</primary>
  <secondary
>автор</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>проект</primary>
  <secondary
>e-mail</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>автор</primary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>e-mail</primary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>проект</primary>
  <secondary
>main.cpp</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>main.cpp</primary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>проект</primary>
  <secondary
>лицензия</secondary
></indexterm>
<indexterm zone="new-projects-start-general">
  <primary
>лицензия</primary
></indexterm>

<para
>В нижней части страницы <guilabel
>Общее</guilabel
> диалога <guilabel
>создания нового проекта</guilabel
> можно указать его <guilabel
>свойства</guilabel
> &mdash; данные для построения структуры проекта. </para>
<formalpara>
<title
>Название приложения</title>
<para
>Введите его в верхнее поле <guilabel
>свойств</guilabel
> с соответствующим названием. В нашем примере это <quote
>MyApp</quote
>. </para>
</formalpara>
<para
>Обратите внимание, что в названии разрешается использовать только такие символы: <itemizedlist>
  <listitem
><para
>буквы в нижнем и верхнем регистрах</para
></listitem>
  <listitem
><para
>цифры</para
></listitem>
  <listitem
><para
>символ подчёркивания</para
></listitem>
</itemizedlist>
</para>
<para
>Эти ограничения введены т.к. указанное название будет использовано для <emphasis
>именования некоторых классов</emphasis
>. </para>
<formalpara>
<title
>Каталог проекта</title>
<para
>Также название проекта будет использовано при формировании <guilabel
>каталога приложения</guilabel
>. </para>
</formalpara>
<para
>Название проекта переводится в нижний регистр и добавляется к стандартному пути. </para>
<para
>Если сформированный по названию проекта путь уже существует, кнопка <guibutton
>Далее &gt;</guibutton
> будет неактивна (серого цвета), и мастер вас известит об этом ещё и сообщением. </para>

<formalpara>
<title
>Начальный путь</title>
<para
>Есть два способа выбрать другой каталог для вашего приложения &mdash; выбрать для него другое имя или путь. </para>
</formalpara>
<para
>Это можно установить во втором ряду <guilabel
>свойств</guilabel
>, под названием <guilabel
>Расположение</guilabel
>. Здесь вы должны ввести <emphasis
>путь к каталогу</emphasis
>, в котором будет создан подкаталог с именем проекта (в котором, в свою очередь, будут созданы другие каталоги  разработки). Результирующий каталог для наглядности будет отображён в поле <guilabel
>Окончательное расположение</guilabel
>. </para>
<para
>Мастер приложений автоматически скопирует <emphasis
>начальное значение</emphasis
> в поле <guilabel
>Расположение</guilabel
>. Оно определяется из поля <guilabel
>Каталог с проектами по умолчанию:</guilabel
> на этапе <link linkend="setup-general"
>базовой конфигурации</link
>. В нашем случае в качестве основного пути для новых проектов используется каталог <filename class="directory"
>/home/devel/projects/</filename
>. </para>
<para
>Убедитесь, каталог разработки, отображаемый в поле <guilabel
>Окончательное расположение</guilabel
> не существует в вашей файловой системе. </para>

<note
><para
>Тем временем путь, указанный в поле <guilabel
>Расположение</guilabel
> должен существовать. Если это не так, мастер приложений сообщит об этом добавлением <quote
>(неправильно)</quote
> в строку <guilabel
>Окончательное расположение</guilabel
>. </para
></note>

<formalpara>
<title
>Личная информация</title>
<para
>Заполните приведённые здесь поля если вы хотите, чтобы все знали имя создателя программы. </para>
</formalpara>

<note>
<orderedlist>
  <listitem
><para
>Мастер приложений пытается заполнить их значениями, взятыми из соответствующих разделов Центра управления KDE. </para
></listitem>
  <listitem
><para
>Личная информация будет встроена в выбранный шаблон. Например, для программ &kde; C++ вы сможете найти её в начале <filename
>main.cpp</filename
>. </para
></listitem>
  <listitem
><para
>Из всех полей, <emphasis
>необязательным</emphasis
> является <guilabel
>E-mail</guilabel
>, т.к. не все разработчики могут иметь доступ к Сети. </para
></listitem>
</orderedlist>
</note>

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

<para
>Если вы выбрали тип приложения (напр. C/C++), к которому существуют шаблоны, далее вы можете просмотреть информацию о лицензии (для подробностей см. <link linkend="new-projects-start-templates"
>Выбор шаблонов заголовочных/исходных файлов</link
>). </para>
<para
>Если вы выбрали <quote
>другую</quote
> <guilabel
>лицензию</guilabel
>, вам нужно будет ввести её текст самостоятельно. </para>

<note
><para
>Информация о версии и используемой лицензии также будет встроена в выбранный шаблон, в форме, лёгкой для изменения. </para
></note>

<para
>Нажмите кнопку <guibutton
>Далее &gt;</guibutton
>. </para>
</sect3
> <!-- new-projects-start-general -->

</sect2
> <!-- new-projects-start -->

<sect2 id="new-projects-start-cvs">
<title
>Выбор системы контроля версий</title>

<indexterm zone="new-projects-start-cvs">
  <primary
>CVS</primary>
  <secondary
>новый проект</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs">
  <primary
>проект</primary>
  <secondary
>CVS</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs">
  <primary
>база данных</primary>
  <secondary
>CVS</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs">
  <primary
>версия</primary>
  <secondary
>база данных</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs">
  <primary
>версия</primary>
  <secondary
>CVS</secondary
></indexterm>

<para
>Здесь вы можете выбрать <guilabel
>систему контроля версий</guilabel
>. </para>

<note
><para
>Здесь всё зависит от проекта, подробности о &CVS; вы можете найти в главе <link linkend="cvs"
>Использование &CVS;</link
>. </para
></note>

<formalpara>
<title
>Система контроля версий не нужна</title>
<para
>Если вы не хотите использовать эту функцию, просто нажмите <guibutton
>Далее &gt;</guibutton
>. </para>
</formalpara>

<formalpara>
<title
>Использование &CVS;</title>
<para
>В нашем примере мы используем <quote
>&CVS;</quote
>. Если вы выберете её Мастер приложений активирует поля, которые нужно будет заполнить. </para>
</formalpara>

<screenshot id="screenshot-newproject-cvs">
  <mediaobject>
    <imageobject>
      <imagedata fileref="create-new-project-cvs.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Настройка CVS для вновь созданного проекта </para
></caption>
  </mediaobject>
</screenshot>

<para
>Система контроля версий, такая как &CVS; (<quote
>Concurrent Versions System</quote
>, система конкурирующих версий) записывает копии файлов проекта в некоторое подобие базы данных. В &CVS; вы можете закачать файлы (<quote
>commit</quote
>) в хранилище, или загрузить их обратно (<quote
>checkout</quote
>/<quote
>update</quote
>). Особенностью системы контроля версий является структурный метод хранения файлов, который всегда позволяет вернуться к более раннему состоянию разработки, если вы допустили неисправимые ошибки. &CVS; также позволяет сотрудничать нескольким разработчикам в большом проекте (как &kdevelop;) не вмешиваясь в работу друг друга. </para>

<indexterm zone="new-projects-start-cvs-root">
  <primary
>CVS</primary>
  <secondary
>корень</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary
>root</primary>
  <secondary
>CVS</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary
>CVS</primary>
  <secondary
>local</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary
>CVS</primary>
  <secondary
>remote</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary
>локальный CVS</primary
></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary
>:local:</primary
></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary
>CVS</primary>
  <secondary
>:local:</secondary
></indexterm>

<formalpara id="new-projects-start-cvs-root">
<title
>&CVS; Root</title>
<para
>&CVS; ведёт собственную базу данных версий ваших файлов, которая хранится в т.н. <emphasis
>корне &CVS;</emphasis
> (<emphasis
>&CVS; root</emphasis
>). Вам нужно будет указать путь к этому корневому каталогу. </para>
</formalpara>

<para
><emphasis
>Локальный корневой каталог &CVS;.</emphasis
> Если вы разрабатываете программу самостоятельно, локальная база данных &CVS; пригодится как удобная система резервного копирования. Обычно она располагается в вашем домашнем каталоге, под именем <filename
>cvsroot</filename
>: </para>
<para
><userinput
><filename class="directory"
>/home/devel/cvsroot</filename
></userinput
> (где <filename
>devel</filename
> &mdash; имя пользователя в системе) </para>

<note
><para
>Это краткая форма -- на самом деле перед ней должна быть приставка <computeroutput
>:local:</computeroutput
>. Использование краткой формы разрешено только если она начинается со слэша (<computeroutput
>/</computeroutput
>). Т.е. полный адрес локального каталога &CVS; (local &CVS; root) будет выглядеть так: <filename class="directory"
>:local:/home/devel/cvsroot</filename
> </para
></note>

<para
>Введите путь к корневому каталогу &CVS;, установленному в вашей системе. В принципе, вы можете выбрать любое имя, даже использовать несколько баз данных &CVS;, но мы рекомендуем придерживаться уже установленного корневого каталога &CVS;. </para>
<para
><emphasis
>Инициализация нового корня &CVS;.</emphasis
> Если корень &CVS; не существует, &kdevelop; может изменить это с помощью команды &CVS;. Для этого отметьте <guilabel
>Инициализировать корень</guilabel
> ниже поля <guilabel
>Корень CVS</guilabel
>. </para>
<note
><para
>&kdevelop; только <emphasis
>передаёт команды</emphasis
> системе &CVS;, не делая ничего самостоятельно. К счастью, &CVS; продуман достаточно хорошо, и, перед созданием нового корня &CVS; в указанном вами каталоге, проверяет наличие в нём уже существующего корня &CVS;. Следовательно, если вы оставили включённым параметр <guilabel
>Инициализировать корень</guilabel
> тогда как уже имели инициализированный корень &CVS;, ничего страшного не произойдёт. </para
></note>

<para
><emphasis
>Удалённый корневой каталог &CVS;.</emphasis
>. Возможно вы захотите расположить хранилище на удалённом сервере, особенно если над проектом работает несколько разработчиков. Тогда введите <acronym
>URL</acronym
> корня &CVS; в поле <guilabel
>Корень CVS</guilabel
>. Например, чтобы подключиться к &CVS;-серверу &kde;: </para>
<para
><userinput
><filename class="directory"
>:pserver:<replaceable
>mylogin</replaceable
>@cvs.kde.org:/home/kde</filename
></userinput
>, где <replaceable
>mylogin</replaceable
> соответствует имени регистрации вашей учётной записи &CVS; в репозитории &kde;. </para>

<indexterm zone="new-projects-start-cvs-remote">
  <primary
>удалённый CVS</primary
></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary
>:pserver:</primary
></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary
>:ext:</primary
></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary
>CVS</primary>
  <secondary
>:local:</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary
>CVS</primary>
  <secondary
>:pserver:</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary
>CVS</primary>
  <secondary
>:ext:</secondary
></indexterm>

<formalpara id="new-projects-start-cvs-remote">
<title
>Виды удалённых серверов &CVS;</title>
<para
>Есть два типа удалённых серверов &CVS;, это <emphasis
>pserver</emphasis
>, использующий авторизацию без шифрования, и <emphasis
>ext</emphasis
>, в котором доступно шифрование <acronym
>rsh</acronym
> или <acronym
>ssh</acronym
>. Они различаются по приставке в <acronym
>URL</acronym
>: </para>
</formalpara>
<para>
<filename
>:pserver:</filename>
</para>
<para
>для <quote
>password protected server</quote
> </para>
<para>
<filename
>:ext:</filename>
</para>
<para
>для шифрования <acronym
>rsh</acronym
> или <acronym
>ssh</acronym
>. Например: </para>
<para>
<userinput
><filename class="directory"
>:ext:<replaceable
>mylogin</replaceable
>@cvs.cervisia.sourceforge.net:/cvsroot/cervisia</filename
></userinput>
</para>
<para
>позволит получить доступ к корню &CVS; фронт-энда &CVS;, <application
>Cervisia</application
>. </para>
<para
>Если вы хотите использовать сервер &CVS; с шифрованием <acronym
>rsh</acronym
> или <acronym
>ssh</acronym
>, укажите протокол шифрования. Введите <userinput
>rsh</userinput
> или <userinput
>ssh</userinput
> в поле <guilabel
>CVS_RSH</guilabel
> в диалоге <guilabel
>создания нового проекта</guilabel
>, на странице <guilabel
>Система контроля версий</guilabel
>. </para>

<note
><para
>Если вы собираетесь использовать шифрование, прочитайте главу <link linkend="cvs"
>Использование &CVS;</link
>. </para
></note>

<indexterm zone="new-projects-start-cvs-repository">
  <primary
>CVS</primary>
  <secondary
>репозиторий</secondary
></indexterm>
<indexterm zone="new-projects-start-cvs-repository">
  <primary
>хранилище</primary>
  <secondary
>CVS</secondary
></indexterm>

<formalpara id="new-projects-start-cvs-repository">
<title
>Хранилище &CVS;</title>
<para
>Теперь нужно указать где следует сохранять файлы проекта в корне &CVS;. это место называется <emphasis
>хранилищем</emphasis
> или<emphasis
> репозиторием</emphasis
> (repository). </para>
</formalpara>
<para
>В принципе, вы можете выбрать любое имя для хранилища &CVS;, учитывая лишь ограничения на имена файлов, но большинство разработчиков просто указывают название программы. Хранилище, с указанным вами именем, будет создано в корне &CVS;. </para>
<para
>Введите имя хранилища, которое вы хотите использовать в поле <guilabel
>Хранилище CVS</guilabel
> диалога <guilabel
>создание нового проекта</guilabel
>, на странице <guilabel
>Система контроля версий</guilabel
>. </para>

<warning
><para
><emphasis
>Обратите внимание, на то, что нельзя использовать уже существующее хранилище!</emphasis
> Система &CVS; сообщает только о конфликтах, так что вы можете потерять файлы с не уникальным именем! </para
></warning>

<formalpara>
<title
>Остающиеся поля</title>
<para
>Осталось совсем немного. Остальные поля заполнены за вас автоматически: </para>
</formalpara>
<para
>Поле <guilabel
>Производитель</guilabel
> используется только для совместимости. Вы можете оставить значение по умолчанию. </para>
<para
>Поле <guilabel
>Сообщение</guilabel
> содержит комментарий, который будет добавлен к первой версии файлов в хранилище &CVS;. </para>
<para
>Поле <guilabel
>Метка выпуска</guilabel
> содержит тег (ветку) &CVS;, с которым выйдет первый выпуск вашего приложения. С помощью <emphasis
>тега</emphasis
> вы всегда сможете вернуться к состоянию разработки на данный момент. Для подробностей см. <link linkend="cvs"
>Использование &CVS;</link
>. </para>
<para
>По умолчанию предлагается тег <quote
>start</quote
>. </para>

<note>
<para
>Если какая-либо информация введена неправильно, это выясниться на последнем этапе создание проекта. Поэтому следите за <guilabel
>сообщениями</guilabel
>, которые отображаются в это время. Если произошли ошибки &CVS;, вы увидите что-то на подобие этого: </para>

<screen
><computeroutput>
* cd '/home/devel/test' &amp;&amp; cvs -d '/home/devel/mycvsroot' \
  import -m 'new project' '' 'vendor' 'start' &amp;&amp;\
  sh /opt/kde3/share/apps/kdevcvs/buildcvs.sh . '' \
  '/home/devel/mycvsroot'
* cvs [import aborted]: /home/devel/mycvsroot/CVSROOT: No such file or
  directory
* *** Exited with status: 1 ***
</computeroutput
></screen>

<para
>Если это произошло, инициализируйте &CVS; самостоятельно, или удалите каталог проекта и начните процесс создания проекта сначала. </para>
</note>

<para
>После ввода всех данных &CVS;, нажмите <guibutton
>Далее &gt;</guibutton
>. </para>

<note
><para
>Чтобы исправить ошибку на предыдущей странице, нажмите кнопку <guibutton
>&lt; Назад</guibutton
>. </para
></note>

</sect2
> <!-- new-projects-start-cvs -->

<sect2 id="new-projects-start-templates">
<title
>Выбор шаблонов заголовочных/исходных файлов</title>

<para
>В последующих страницах мастера вы сможете установить общую информацию о вашем проекте, которая будет включаться во все его файлы. </para>
<para
>Для некоторых языков программирования всё ещё нет готовых шаблонов. </para>
<para
>Если этот шаг был пройден, в начале исходных файлов будет добавлен комментарий о лицензии, например для программ на C++ он будет выглядеть так: </para>

<screen
><computeroutput
><literal>
/***************************************************************************
 *   Copyright (C) 2003 by Your Name                                       *
 *   you@you.com                                                           *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
</literal
></computeroutput
></screen>

<para
>Другие шаблоны будут иметь подобную информацию в оформлении, соответствующем выбранному языку программирования. </para>
<para
>На основе данных, введенных в мастере <guilabel
>создания проектов</guilabel
>, в т.ч. поля <guilabel
>Автор</guilabel
> и <guilabel
>E-mail</guilabel
>, информации о <guilabel
>лицензии</guilabel
>, шаблоны исходных файлов будут дополнены соответствующим кодом. </para>

<sect3 id="new-projects-start-templates-edit">
<title
>Изменение шаблонов</title>

<indexterm zone="new-projects-start-templates-edit">
  <primary
>шаблоны</primary>
  <secondary
>проект</secondary>
  <tertiary
>изменение</tertiary
></indexterm>
<indexterm zone="new-projects-start-templates-edit">
  <primary
>проект</primary>
  <secondary
>шаблоны</secondary>
  <tertiary
>изменение</tertiary
></indexterm>

<para
>Шаблоны, которые вы выбираете в диалоге <guilabel
>Создания нового проекта</guilabel
> будут использованы при добавлении нового исходного и/или заголовочного файла в проект. В начале каждого файла будет расположена некоторая информация, зависящая от шаблона. </para>
<para
>Вы не ограничены вставкой обычного текста, &kdevelop; распознаёт несколько переменных, которые будут заменены на некоторую, неизвестную заранее, информацию. В частности это может быть информация обо <guilabel
>авторе</guilabel
>, <guilabel
>E-mail</guilabel
> и <guilabel
>лицензии</guilabel
>. </para>

<variablelist>
<varlistentry>
<term
>Включение информации для &doxygen;</term>
<listitem>
<para
>Если, например, вы хотите чтобы &API;-документация, генерируемая программой &doxygen;, содержала также дополнительное краткое описание файла, включите в шаблон такой код: </para>
<screen
><computeroutput>
/**
 * \file $MODULE$.cpp
 * \brief (здесь нужно поставить краткое описание файла).
 **/
</computeroutput
></screen>
<para
>И каждый раз, когда вы будете создавать новый исходный файл, &kdevelop; заменит <varname
>$MODULE$</varname
> именем создаваемого файла. Например, если вы создали новый класс C++ с именем <classname
>ASimpleTest</classname
>, в начале файла <filename
>asimpletest.cpp</filename
> будет такой текст: </para>
<screen
><computeroutput>
/**
 * \file asimpletest.cpp
 * \brief (здесь нужно поставить краткое описание файла).
 **/
</computeroutput
></screen>
<para
>И теперь только будет оставаться ввести краткое описание после слова <quote
>\brief</quote
>, не вводя служебного, каждый раз одинакового, кода. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Файл с лицензией</term>
<listitem>
<para
>Также вы можете включить информацию о лицензии. Для этого используется переменная <varname
>$LICENSEFILE$</varname
>: </para>

<screen
><computeroutput>
//   See $LICENSEFILE$ for the full license text.
</computeroutput
></screen>
<para
>Мастер приложений заменит <varname
>computeroutput
>$LICENSEFILE$</varname
> на имя файла, содержащего лицензию, например: </para>
<screen
><computeroutput>
//   See COPYING for the full license text.
</computeroutput
></screen>
<para
>для лицензии <acronym
>GPL</acronym
>, или </para>
<screen
><computeroutput>
//   See LICENSE.BSD for the full license text.
</computeroutput
></screen>
<para
>если вы решили распространять свою программу под лицензией <acronym
>BSD</acronym
> </para>
<para
>&kdevelop; распознаёт много больше переменных. Для подробностей см. <link linkend="newfiles-edittemplates"
>Изменение шаблонов</link
> в главе <link linkend="editing"
>Средства правки</link
>. </para>
</listitem>
</varlistentry>
</variablelist>

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

</sect3
> <!-- new-projects-start-templates-edit -->
</sect2
> <!-- new-projects-start-templates -->

<sect2 id="new-projects-start-build">
<title
>Построение начальных файлов проекта</title>

<indexterm zone="new-projects-start-build">
  <primary
>проект</primary>
  <secondary
>новый</secondary>
  <tertiary
>построение</tertiary
></indexterm>
<indexterm zone="new-projects-start-build">
  <primary
>проект</primary>
  <secondary
>начальное построение</secondary
></indexterm>

<para
>Теперь почти всё сделано. На последней странице кнопка <guibutton
>Далее &gt;</guibutton
> сменяется на  <guibutton
>Готово</guibutton
>. </para>
<para
><emphasis
>Подумайте дважды перед её нажатием!</emphasis
> Вы пока ещё имеете возможность вернуться <guibutton
>&lt; Назад</guibutton
> и изменить введенные данные. Если вы используете локальный &CVS;, проверьте ещё раз имя <emphasis
>хранилища</emphasis
> (указанного подкаталога не должно существовать). </para>
<para
>Чтобы отменить создание проекта, нажмите соответствующую кнопку, иначе, нажмите <guibutton
>Готово</guibutton
>, при этом в окне <guilabel
>Сообщения</guilabel
> будут выводится подробные действия, выполняемые мастером приложений. </para>
<para
>Если вы выбрали использование &CVS;, после создания дерева каталогов проекта, будет запущена программа &CVS;, очищающая предыдущее содержимое окна <guilabel
>сообщений</guilabel
>. </para>

<note
><para
>В большинстве случаев, после завершения создания, &kdevelop; автоматически откроет исходные файлы важных частей (это зависит от выбранного шаблона) </para
></note>

<para
>Не забудьте проверить предлагаемые по умолчанию мастером приложений значения. Например, вы можете изменить комментарии, добавляемые в начало исходных файлов. Шаблоны вашего проекта находятся в подкаталоге <filename class="directory"
>templates</filename
> базового каталога вашего проекта. </para>
<para
>Затем, перед вводом какого-либо кода, <emphasis
>откомпилируйте новый проект</emphasis
>. В большинстве случаев при этом проблем возникнуть не должно. Чтобы начать всё сначала, удалите каталог проекта и его хранилище в корне &CVS; (если таковой имеется) и начните создание нового проекта заново. </para>

<warning id="defaultbuild-warning"
> <!-- ### remove this when "default" works again -->

  <indexterm zone="defaultbuild-warning">
    <primary
>сборочная конфигурация по умолчанию</primary>
    <secondary
>предупреждение</secondary
></indexterm>
  <indexterm zone="defaultbuild-warning">
    <primary
>конфигурации сборки</primary>
    <secondary
>предупреждение сборки по умолчанию</secondary
></indexterm>
  <indexterm zone="defaultbuild-warning">
    <primary
>предупреждение</primary>
    <secondary
>сборочная конфигурация по умолчанию</secondary
></indexterm>

  <para
>Перед компиляцией вашего проекта в первый раз, зайдите в  <menuchoice
><guimenu
>Проект</guimenu
> <guimenuitem
>Build Configuration</guimenuitem
></menuchoice
>. Там будет три вида компиляции: <guimenuitem
>default</guimenuitem
>, <guimenuitem
>optimized</guimenuitem
> и <guimenuitem
>debug</guimenuitem
>. </para>
  <para
>Из-за некоторых ограничений в текущей установке autoconf/automake, не используйте <guimenuitem
>default</guimenuitem
>. это приведёт к повреждению внутренней структуры каталогов, и вы не сможете использовать предустановку <guimenuitem
>optimized</guimenuitem
> и <guimenuitem
>debug</guimenuitem
>. </para>
  <para
>Если тип приложения, которое вы выбрали, предлагает только <guimenuitem
>default</guimenuitem
>, естественно используйте его. </para>
</warning>

</sect2
> <!-- new-projects-start-build -->

</sect1
> <!-- new-projects -->

</chapter
> <!-- applicationwizard -->
