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

From KDE UserBase Wiki
(Created page with "* Теперь Вам будет предложено выбрать файл проекта '''KDevelop''' в выбранной директории. Так как его ве...")
(Created page with "* Нажмите кнопку <menuchoice>Далее</menuchoice> снова")
Line 39: Line 39:
* Теперь Вам будет предложено выбрать файл проекта '''KDevelop''' в выбранной директории. Так как его вероятно ещё нет, просто нажмите кнопку <menuchoice>Далее</menuchoice>.
* Теперь Вам будет предложено выбрать файл проекта '''KDevelop''' в выбранной директории. Так как его вероятно ещё нет, просто нажмите кнопку <menuchoice>Далее</menuchoice>.


* Hit <menuchoice>Next</menuchoice> again
* Нажмите кнопку <menuchoice>Далее</menuchoice> снова


* '''KDevelop''' will then ask you to choose a project manager. If this project uses standard Unix make files, choose the custom makefile project manager
* '''KDevelop''' will then ask you to choose a project manager. If this project uses standard Unix make files, choose the custom makefile project manager

Revision as of 08:08, 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 will then ask you to choose a project manager. If this project uses standard Unix make files, choose the custom makefile project manager
  • KDevelop will then start to parse the entire project. Again, it will take quite a while to go through all files and index classes etc. At the bottom right of the main window, there is a progress bar that shows how long this process has come along. (If you have several processor cores, you can accelerate this process by going to the Settings -> Configure KDevelop menu item, then selecting Background parser on the left, and increasing the number of threads for background parsing on the right.)

Option 2: Importing a project that is already on your hard drive

Alternatively, if the project you want to work with already exists on your hard drive (for example, because you have downloaded it as a tar file from an FTP server, because you already checked out a version of the project from a version control system, or because it is your own project that exists only on your own hard drive), then use Projects -> Open/Import project and in the dialog box choose the directory in which your project resides.

Setting up an application as a second project

The next thing you want to do is set up other projects in the same session. In the example above, you would want to add the device driver as the second project, which you can do using exactly the same steps.

If you have multiple applications or libraries, simply repeat the steps to add more and more projects to your session.

Creating projects from scratch

There is of course also the possibility that you want to start a new project from scratch. This can be done using the Projects -> New from template menu item. The details of what options this offers to you are described elsewhere in this manual.