|
|
<chapter id="applicationwizard">
|
|
|
|
|
|
<chapterinfo>
|
|
|
<authorgroup>
|
|
|
<author><firstname>Bernd</firstname><surname>Pol</surname></author>
|
|
|
<!-- ROLES_OF_TRANSLATORS -->
|
|
|
</authorgroup>
|
|
|
</chapterinfo>
|
|
|
|
|
|
<title>Начало работы — создание проекта</title>
|
|
|
<!-- FIXME (bp, 2006-06-18) This is a misnomer. It should be something like -->
|
|
|
<!-- Working With Projects -->
|
|
|
<!-- featuring the application manager as part of the New Projects section. -->
|
|
|
|
|
|
<indexterm zone="applicationwizard">
|
|
|
<primary>Создание проекта</primary></indexterm>
|
|
|
|
|
|
<para>В &tdevelop; разработка программного обеспечения организована в рамках <emphasis>проектов</emphasis>. Проект содержит всё, что относится к данному задаче программирования: файлы исходного кода, файлы данных, средства управления, в том числе система сборки, доступ ко всем компонентам и к любым дополнительным инструментам. Словом всё, что нужно для получения реально работающей программы. </para>
|
|
|
<para>Такая организация позволяет легко переключаться между независимыми задачами. Это очень удобно, если вы работаете над несколькими приложениями одновременно, что бывает очень часто. Откройте проект в &tdevelop; и вы сразу сможете продолжить работу над ним с того места, где остановились в прошлый раз. </para>
|
|
|
|
|
|
<sect1 id="new-projects">
|
|
|
<title>Новые проекты</title>
|
|
|
|
|
|
<!-- TODO (bp, 2006-06-18) This whole section must be completely rewritten. -->
|
|
|
<!-- There is no need for a tutorial habit anymore. -->
|
|
|
|
|
|
<indexterm zone="new-projects">
|
|
|
<primary>проект</primary>
|
|
|
<secondary>новый</secondary></indexterm>
|
|
|
|
|
|
<para>При создании нового проекта нужно выполнить множество формальных процедур: указать структуру папок проекта, создать базовые заголовочные файлы и файлы реализации, осуществить первоначальную настройку сборочной системы и так далее. </para>
|
|
|
<para>&tdevelop; обеспечивает простой способ создания нового проекта — <emphasis>Мастер создания нового проекта</emphasis>. Его можно запустить из меню <menuchoice><guimenu>Проект</guimenu><guimenuitem>Создать проект</guimenuitem></menuchoice>. </para>
|
|
|
<para>Мастер проекта значительно упрощает и автоматизирует создание нового проекта: </para>
|
|
|
<orderedlist>
|
|
|
<listitem><para>На первом этапе вы можете использовать один из предлагаемых шаблонов проектов. </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>И это всё! Теперь у вас есть база для начала продуктивной работы. </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="create-new-project.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>C++ <indexterm>
|
|
|
<primary>C++</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>электронная почта</secondary></indexterm>
|
|
|
<indexterm zone="new-projects-start-general">
|
|
|
<primary>автор</primary></indexterm>
|
|
|
<indexterm zone="new-projects-start-general">
|
|
|
<primary>электронная почта</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> — данные для построения структуры проекта. </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>Далее ></guibutton> будет неактивна (серого цвета) и мастер известит вас об этом ещё и сообщением. </para>
|
|
|
|
|
|
<formalpara>
|
|
|
<title>Конечное расположение</title>
|
|
|
<para>Есть два способа выбрать другой каталог для вашего приложения — указать другое имя или изменить расположение проектов. </para>
|
|
|
</formalpara>
|
|
|
<para>Второй вариант можно осуществить во втором поле <guilabel>свойств</guilabel> с названием <guilabel>Расположение</guilabel>. Здесь вы должны ввести <emphasis>путь к каталогу</emphasis>, в котором будет создан подкаталог с именем проекта (в котором, в свою очередь, будут созданы другие подкаталоги разработки). Полный путь к проекту будет показан в поле <guilabel>Конечное расположение</guilabel>. </para>
|
|
|
<para>При открытии диалога поле <guilabel>Расположение</guilabel> заполняется автоматически. Значение для него берётся из поля <guilabel>Каталог проектов по умолчанию:</guilabel> в <link linkend="setup-general">главном разделе диалога настройки KDevelop</link>. В нашем случае в качестве основного пути для новых проектов используется каталог <filename class="directory">/home/devel/projects/</filename>. </para>
|
|
|
<para>Убедитесь что каталог проекта, указанный в поле <guilabel>Конечное расположение</guilabel> не существует в вашей файловой системе. </para>
|
|
|
<!--TODO add tab description Project Options -->
|
|
|
<note><para>Однако путь, указанный в поле <guilabel>Расположение</guilabel> должен существовать. Если это не так, мастер создания проекта сообщит об этом добавлением <quote>(неверно)</quote> в строку <guilabel>Конечное расположение</guilabel>. </para></note>
|
|
|
|
|
|
<screenshot id="screenshot-createnewprojectoptions">
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="createnewprojectoptions.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
<caption><para>Настройка CVS для создаваемого проекта </para></caption>
|
|
|
</mediaobject>
|
|
|
</screenshot>
|
|
|
|
|
|
<formalpara>
|
|
|
<title>Параметры проекта</title>
|
|
|
<para>Данные, которые показываются на втором шаге, не являются критичными для проекта. Просто укажите ваше имя (то есть имя автора программы, к которому можно будет обращаться по поводу её работы и развития) в поле <guilabel>Автор</guilabel> и правильный адрес электронной почты в поле <guilabel>Электронная почта</guilabel> чтобы пользователи программы могли поддерживать с вами связь. </para>
|
|
|
</formalpara>
|
|
|
|
|
|
<note>
|
|
|
<orderedlist>
|
|
|
<listitem><para>Мастер постарается заполнить их значениями, взятыми из соответствующих разделов Центра управления KDE. </para></listitem>
|
|
|
<listitem><para>Эта информация будет встроена в шаблоны программных файлов. Например, для программ &kde; C++ вы сможете найти её в начале файла <filename>main.cpp</filename>. </para></listitem>
|
|
|
<listitem><para>Из всех полей, <emphasis>необязательным</emphasis> является <guilabel>Электронная почта</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>Далее ></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>По умолчанию <guilabel>Система контроля версий</guilabel> для проекта <guilabel>Не используется</guilabel>. Если вы не хотите использовать эту функцию, просто нажмите <guibutton>Далее ></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; также позволяет сотрудничать нескольким разработчикам в большом проекте (как &tdevelop;), не вмешиваясь в работу друг друга. </para>
|
|
|
|
|
|
<indexterm zone="new-projects-start-cvs-root">
|
|
|
<primary>CVS</primary>
|
|
|
<secondary>репозиторий</secondary></indexterm>
|
|
|
<indexterm zone="new-projects-start-cvs-root">
|
|
|
<primary>репозиторий</primary>
|
|
|
<secondary>CVS</secondary></indexterm>
|
|
|
<indexterm zone="new-projects-start-cvs-root">
|
|
|
<primary>CVS</primary>
|
|
|
<secondary>локальный</secondary></indexterm>
|
|
|
<indexterm zone="new-projects-start-cvs-root">
|
|
|
<primary>CVS</primary>
|
|
|
<secondary>удалённый</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;</title>
|
|
|
<para>&CVS; ведёт собственную базу данных версий файлов, которая хранится в так называемом <emphasis>корне &CVS;</emphasis>. Вам нужно будет указать путь к корню &CVS;, если вы хотите использовать эту систему управления версиями. </para>
|
|
|
</formalpara>
|
|
|
|
|
|
<para><emphasis>Расположение локального &CVS;.</emphasis> Если вы разрабатываете программу самостоятельно, использование &CVS; локально пригодится как удобная система резервного копирования. Обычно она располагается в вашем домашнем каталоге под именем <filename>cvsroot</filename>: </para>
|
|
|
<para><userinput><filename class="directory">/home/devel/cvsroot</filename></userinput> (где <filename>devel</filename> — имя пользователя в системе) </para>
|
|
|
|
|
|
<note><para>Это краткая форма — на самом деле, перед ней должна быть приставка <computeroutput>:local:</computeroutput>. Использование краткой формы разрешено только если она начинается со слэша (<computeroutput>/</computeroutput>). То есть полный адрес корня локального &CVS; будет выглядеть так: <filename class="directory">:local:/home/devel/cvsroot</filename>. </para></note>
|
|
|
|
|
|
<para>Введите путь к корню &CVS;. </para>
|
|
|
<para><emphasis>Создание локального корня &CVS;.</emphasis> Если локальный корень &CVS; не существует, &tdevelop; может изменить это с помощью команды &CVS;. Для этого нажмите кнопку <guibutton>Создать локальный репозиторий</guibutton>. </para>
|
|
|
<note><para>&tdevelop; только <emphasis>передаёт команды</emphasis> системе &CVS; на создание репозитория, не делая ничего самостоятельно. К счастью, &CVS; продуман достаточно хорошо, и, перед созданием нового репозитория &CVS; в указанном вами каталоге, проверяет наличие в нём уже существующего корня &CVS; в нём. </para></note>
|
|
|
|
|
|
<para><emphasis>Удалённый &CVS;.</emphasis>Возможно вы захотите расположить репозиторий на удалённом сервере, особенно если над проектом работает несколько разработчиков. Тогда введите <acronym>URL</acronym> репозитория &CVS; в поле <guilabel>Репозиторий</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>удалённый репозиторий</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>позволит получить доступ к исходному коду <application>Cervisia</application>, программы работы с &CVS;, на сервере SourceForge. </para>
|
|
|
<para>Если вы хотите получить доступ к серверу &CVS; с шифрованием <acronym>rsh</acronym> или <acronym>ssh</acronym>, укажите протокол шифрования. Для этого необходимо установить значение переменной среды окружения <envar>CVS_RSH</envar> как <userinput>rsh</userinput> или <userinput>ssh</userinput>. </para>
|
|
|
|
|
|
<note><para>Если вы собираетесь использовать шифрование для &CVS;, прочитайте главу <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>. </para>
|
|
|
</formalpara>
|
|
|
<para>В принципе, вы можете выбрать любое имя для репозитория &CVS;, учитывая лишь ограничения на имена файлов, но большинство разработчиков просто указывают название программы. Репозиторий с указанным вами именем будет создан в корне &CVS;. </para>
|
|
|
<para>Укажите имя репозитория, которое вы хотите использовать, вместе с корнем CVS в поле <guilabel>Репозиторий</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' && cvs -d '/home/devel/mycvsroot' \
|
|
|
import -m 'new project' '' 'vendor' 'start' &&\
|
|
|
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>Далее ></guibutton>. </para>
|
|
|
|
|
|
<note><para>Чтобы исправить ошибку на предыдущем шаге, нажмите кнопку <guibutton>< Назад</guibutton>. </para></note>
|
|
|
|
|
|
</sect2> <!-- new-projects-start-cvs -->
|
|
|
|
|
|
<sect2 id="new-projects-start-templates">
|
|
|
<title>Шаблоны программных файлов</title>
|
|
|
|
|
|
<para>На следующих шагах мастера вы сможете установить общую информацию о вашем проекте, которая будет включаться во все его файлы. </para>
|
|
|
<para>Вам будут предложены отдельные шаблоны заголовочных файлов и файлов реализации для проектов на C и C++. Для некоторых других языков есть только шаблоны файлов исходного кода. Для остальных языков программирования всё ещё нет готовых шаблонов. </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>Электронная почта</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>Вы не ограничены вставкой обычного текста, &tdevelop; распознаёт несколько переменных, которые будут заменены на содержимое заданных полей. Это может быть информация об <guilabel>авторе</guilabel>, <guilabel>электронной почте</guilabel> или <guilabel>лицензии</guilabel>. </para>
|
|
|
|
|
|
<variablelist>
|
|
|
<varlistentry>
|
|
|
<term>Включение информации для &doxygen;</term>
|
|
|
<listitem>
|
|
|
<para>Если, к примеру, вы хотите чтобы документация по &API;, генерируемая программой &doxygen;, содержала также дополнительное краткое описание файла, включите в шаблон такой код: </para>
|
|
|
<screen><computeroutput>
|
|
|
/**
|
|
|
* \file $MODULE$.cpp
|
|
|
* \brief (здесь нужно поставить краткое описание файла).
|
|
|
**/
|
|
|
</computeroutput></screen>
|
|
|
<para>Каждый раз, когда вы будете создавать новый файл исходного кода, &tdevelop; заменит <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>
|
|
|
// Файл $LICENSEFILE$ содержит полный текст лицензии.
|
|
|
</computeroutput></screen>
|
|
|
<para>Мастер приложений заменит <varname>$LICENSEFILE$</varname> на имя файла, содержащего лицензию, например: </para>
|
|
|
<screen><computeroutput>
|
|
|
// Файл COPYING содержит полный текст лицензии.
|
|
|
</computeroutput></screen>
|
|
|
<para>для лицензии <acronym>GPL</acronym>, или </para>
|
|
|
<screen><computeroutput>
|
|
|
// Файл LICENSE.BSD содержит полный текст лицензии.
|
|
|
</computeroutput></screen>
|
|
|
<para>если вы решили распространять свою программу под лицензией <acronym>BSD</acronym>. </para>
|
|
|
<para>&tdevelop; поддерживает большое количество переменных. Подробно это изложено в разделе <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>Далее ></guibutton> сменяется на <guibutton>Готово</guibutton>. </para>
|
|
|
<para><emphasis>Подумайте дважды перед её нажатием!</emphasis> Вы пока ещё имеете возможность вернуться <guibutton>< Назад</guibutton> и изменить введённые данные. Если вы используете &CVS; локально, проверьте ещё раз имя <emphasis>репозитория</emphasis> (указанного подкаталога не должно существовать). </para>
|
|
|
<para>Чтобы отменить создание проекта, нажмите соответствующую кнопку, иначе нажмите <guibutton>Готово</guibutton>, при этом в окне <guilabel>Сообщения</guilabel> будут выводится подробные действия, выполняемые мастером создания проекта. </para>
|
|
|
<para>Если вы выбрали использование &CVS;, после создания дерева каталогов проекта, будет запущена программа &CVS;, очищающая предыдущее содержимое окна <guilabel>сообщений</guilabel> и выводящая собственные сообщения. </para>
|
|
|
|
|
|
<note><para>В большинстве случаев после завершения создания &tdevelop; автоматически откроет важные файлы проекта (это зависит от выбранного шаблона проекта). </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>Конфигурация сборки</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 -->
|
|
|
|
|
|
<sect1 id="projects-configure">
|
|
|
<title>Настройка проектов</title>
|
|
|
|
|
|
<para>(.. в процессе написания ..)</para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
</chapter> <!-- applicationwizard -->
|