KDevelop4/Manual/Sessions and projects/ru: Difference between revisions

From KDE Wiki Sandbox
(fix typos)
(fix typo)
Line 24: Line 24:
Давайте для начала предположим, что проект, который мы желаем создать — ядро Linux — находится в некоторой системе управления версиями и его локальная копия ещё не развёрнута на Вашем локальном диске. В таком случае перейдите к меню <menuchoice>Проект</menuchoice> для создания в существующей сессии проекта «ядро Linux» и выполните следующие действия:
Давайте для начала предположим, что проект, который мы желаем создать — ядро Linux — находится в некоторой системе управления версиями и его локальная копия ещё не развёрнута на Вашем локальном диске. В таком случае перейдите к меню <menuchoice>Проект</menuchoice> для создания в существующей сессии проекта «ядро Linux» и выполните следующие действия:


* Для импотра проекта откройте диалог из меню <menuchoice>Проект -> Загрузить проект</menuchoice>
* Для импорта проекта откройте диалог из меню <menuchoice>Проект -> Загрузить проект</menuchoice>


* Теперь у вас есть несколько вариантов начала нового проекта в текущем сеансе. В зависимости от того где находится исходный код, Вы можете просто выбрать существующий каталог с исходным кодом (см. способ 2) или попросить '''KDevelop''' получить исходный код из репозитория.
* Теперь у вас есть несколько вариантов начала нового проекта в текущем сеансе. В зависимости от того где находится исходный код, Вы можете просто выбрать существующий каталог с исходным кодом (см. способ 2) или попросить '''KDevelop''' получить исходный код из репозитория.

Revision as of 12:15, 2 October 2011

Other languages:

Сеансы и проекты: основы KDevelop

В этом разделе мы рассмотрим некоторые термины, как KDevelop смотрит на мир и каковы принципы работы с ним. В частности, вводится понятие сеансов и проектов и описание как можно создать проект с которым Вы будете работать в KDevelop.

Терминология

KDevelop придерживается концепции сеансов и проектов. Сеансы содержат все проекты, которые как-то связаны друг с другом. Например предположим, что Вы являетесь разработчиком как некоторой библиотеки, так и приложения, использующего её. К примеру, библиотеки KDE — это первое, а KDevelop — последнее. Другой пример: допустим что Вы хакер ядра Linux, но Вы так же работаете над драйвером устройства для Linux, который не может быть добавлен непосредственно в исходный код ядра.

И так, возьмём последний пример. Вам требуется создать сеанс в KDevelop, который содержит два проекта: ядро Linux и драйвер устройства. Вы желаете объединить их один сеанс (вместо того, чтобы иметь два сеанса с одним проектом на каждый) потому что будет удобнее видеть функции ядра и структуры данных в KDevelop всякий раз, когда Вы пишете код для драйвера. Это даст возможность автодополнения имён функций и переменных ядра, а так же Вы сможете прочитать документацию на функции ядра в процессе написания драйвера устройства.

Теперь представим, что Вы так же являетесь разработчиком KDE. Теперь Вы желаете иметь второй сеанс, который содержит KDE как проект. В принципе можно иметь один сеанс для всех проектов, но нет никаких основательных причин для этого: в Вашей разработке KDE Вам незачем иметь доступ к функциям ядра и драйвера и у Вас не возникает желания иметь автодополнение имён классов KDE когда Вы работаете над ядром Linux. В конечном итоге сборка множества библиотек KDE независима от пересборки ядра Linux (при этом было бы неплохо иметь возможность пересобрать ядро Linux в то время, когда происходит сборка драйвера, если в ядре изменились некоторые заголовочные файлы).

В ином случае можно использовать разные сеансы для различных версий одного проекта. В этом случае Вам будет нежелательно иметь коллизии в различных реализациях одинаковых классов пересекающиеся между ветками одного проекта. Вы просто можете иметь два сеанса с похожим набором проектов, но отличающихся расположением в файловой системе в случае различных веток разработки.

Создание сеанса и импорт существующих проектов

Давайте придерживаться примера Linux-ядра и драйвера устройства. Безусловно, Вы можете использовать в этом примере собственный набор библиотек и проектов. Чтобы создать новый сеанс, который содержит два проекта, перейдите в верхнее левое меню Сеанс -> Запустить новый сеанс (если Вы запустили Kdevelop впервые, то можно использовать сеанс по умолчанию, т.к. он всё равно ещё пустой). Далее мы желаем добавить к сеансу два проекта. На данный момент мы считаем, что эти проекты уже где-то созданы (случай с созданием проектов с нуля описывается в следующих разделах настоящего руководства). Для этого существует два способа, в зависимости от того, где находится проект: существует ли он на локальном диске, либо же должен быть загружен с сервера.

Способ 1: Импорт проекта с сервера системы управления версиями

Давайте для начала предположим, что проект, который мы желаем создать — ядро Linux — находится в некоторой системе управления версиями и его локальная копия ещё не развёрнута на Вашем локальном диске. В таком случае перейдите к меню Проект для создания в существующей сессии проекта «ядро Linux» и выполните следующие действия:

  • Для импорта проекта откройте диалог из меню Проект -> Загрузить проект
  • Теперь у вас есть несколько вариантов начала нового проекта в текущем сеансе. В зависимости от того где находится исходный код, Вы можете просто выбрать существующий каталог с исходным кодом (см. способ 2) или попросить KDevelop получить исходный код из репозитория.
  • Предположим, что у Вас ещё не развёрнута локальная копия из репозитория проекта:
    • В диалоговом окне под надписью Выберите источник выберите систему управления версиями Subversion, Git или иную, которую использует проект
    • Выберите рабочую директорию в которую будет разворачиваться локальная копия из репозтитория
    • Выберите URL расположения репозитория, откуда могут браться исходные файлы
    • Нажмите кнопку Загрузить. Процесс создания локальной копии может занять продолжительное время в зависимости от скорости Вашего соединения и размера проекта. К сожалению в KDevelop 4.2.x индикатор состояния не показывает ничего, но Вы можете следить за процессом переодически запуская в командной строке команду
      du -sk /path/to/KDevelop/project
      , чтобы посмотреть насколько данные уже загружены
Note
Проблема с индикатором состояния описывается в ошибке KDevelop 256832.
Note
В процессе создания локальной копии может так же появиться сообщение You need to specify a valid location for the project (от переводчика: «Вы должны указать правильное расположение для проекта» — на данный момент это сообщение в интерфейсе KDevelop не переведено на русский язык) которое может быть проигнорировано.


  • Теперь Вам будет предложено выбрать файл проекта KDevelop в выбранной директории. Так как его вероятно ещё нет, просто нажмите кнопку Далее.
  • Нажмите кнопку Далее снова
  • KDevelop попросит Вас выбрать систему автоматизации сборки проекта. Если проект использует стандартные Unix make файлы, выберите вариант «Работа с проектами на основе вручную составляемых файлов Makefile»
  • Затем KDevelop проанализирует весь проект. Это снова займёт некоторое время, необходимое для прохождения всех файлов, индексации классов и т.п. В нижней правой части главного окна есть индикатор, отображающий продолжительность процесса. (Если Ваш процессор имеет несколько ядер, Вы можете ускорить процесс индексации. Для этого пройдите в пункт меню Настройка -> Настроить KDevelop, затем выберите Фоновый анализ кода в меню левой части окна и увеличьте максимальное количество нитей в правой части окна.)

Способ 2: Импорт проекта, который уже находится на Вашем жестком диске

В ином случае, если проект с которым Вы желаете работать уже присутствует на жёстком диске (например потому, что Вы скачали его как tar архив с FTP сервера, либо Вы уже развернули у себя локальную копию из репозитория системы управления версиями или это Ваш собственный проект, который присутствует только на Вашем жёстком диске), то используйте Проект -> Открыть проект и в диалоговом окне выбрать директорию в котором находится Ваш проект.

Настройка приложения в качестве второго проекта

Теперь Вам нужно создать другие проекты в той же сессии. Для приведённого выше примера Вы хотели бы добавить драйвер устройства в качестве второго проекта, что можно сделать, повторив в точности вышеописанные шаги.

Если Вы имеете несколько приложений и библиотек, просто повторите эти шаги необходимое количество раз.

Создание проекта с нуля

Существует и такая вероятность, что Вы желаете начать проект с нуля. Это может быть сделано с помощью пункта меню Проект -> Создать из шаблона. Детали создания такого проекта описаны далее в этом руководстве.