KDevelop4/Manual/Sessions and projects/ru: Difference between revisions
(Created page with "* Затем '''KDevelop''' проанализирует весь проект. Это снова займёт некоторое время, необходимое для про...") |
(Updating to match new version of source page) |
||
(21 intermediate revisions by 4 users not shown) | |||
Line 9: | Line 9: | ||
'''KDevelop''' придерживается концепции ''сеансов'' и ''проектов''. Сеансы содержат все проекты, которые как-то связаны друг с другом. Например предположим, что Вы являетесь разработчиком как некоторой библиотеки, так и приложения, использующего её. К примеру, библиотеки KDE — это первое, а '''KDevelop''' — последнее. Другой пример: допустим что Вы хакер ядра Linux, но Вы так же работаете над драйвером устройства для Linux, который не может быть добавлен непосредственно в исходный код ядра. | '''KDevelop''' придерживается концепции ''сеансов'' и ''проектов''. Сеансы содержат все проекты, которые как-то связаны друг с другом. Например предположим, что Вы являетесь разработчиком как некоторой библиотеки, так и приложения, использующего её. К примеру, библиотеки KDE — это первое, а '''KDevelop''' — последнее. Другой пример: допустим что Вы хакер ядра Linux, но Вы так же работаете над драйвером устройства для Linux, который не может быть добавлен непосредственно в исходный код ядра. | ||
И так, возьмём последний пример. Вам требуется создать сеанс в '''KDevelop''', который содержит два проекта: ядро Linux и драйвер устройства. Вы желаете | И так, возьмём последний пример. Вам требуется создать сеанс в '''KDevelop''', который содержит два проекта: ядро Linux и драйвер устройства. Вы желаете объединить их один сеанс (вместо того, чтобы иметь два сеанса с одним проектом на каждый) потому что будет удобнее видеть функции ядра и структуры данных в '''KDevelop''' всякий раз, когда Вы пишете код для драйвера. Это даст возможность автодополнения имён функций и переменных ядра, а так же Вы сможете прочитать документацию на функции ядра в процессе написания драйвера устройства. | ||
Теперь представим, что Вы так же являетесь разработчиком KDE. Теперь Вы желаете иметь второй сеанс, который | Теперь представим, что Вы так же являетесь разработчиком KDE. Теперь Вы желаете иметь второй сеанс, который содержит KDE как проект. В принципе можно иметь один сеанс для всех проектов, но нет никаких основательных причин для этого: в Вашей разработке KDE Вам незачем иметь доступ к функциям ядра и драйвера и у Вас не возникает желания иметь автодополнение имён классов KDE когда Вы работаете над ядром Linux. В конечном итоге сборка множества библиотек KDE независима от пересборки ядра Linux (при этом было бы неплохо иметь возможность пересобрать ядро Linux в то время, когда происходит сборка драйвера, если в ядре изменились некоторые заголовочные файлы). | ||
В ином случае можно использовать разные сеансы для различных версий одного проекта. В этом случае Вам будет нежелательно иметь коллизии в различных реализациях одинаковых классов пересекающиеся между ветками одного проекта. Вы просто можете иметь два сеанса с похожим набором проектов, но отличающихся расположением в файловой системе в случае различных веток разработки. | В ином случае можно использовать разные сеансы для различных версий одного проекта. В этом случае Вам будет нежелательно иметь коллизии в различных реализациях одинаковых классов пересекающиеся между ветками одного проекта. Вы просто можете иметь два сеанса с похожим набором проектов, но отличающихся расположением в файловой системе в случае различных веток разработки. | ||
Line 17: | Line 17: | ||
=== Создание сеанса и импорт существующих проектов === | === Создание сеанса и импорт существующих проектов === | ||
Давайте придерживаться примера Linux ядра и драйвера устройства. | Давайте придерживаться примера Linux-ядра и драйвера устройства. Безусловно, Вы можете использовать в этом примере собственный набор библиотек и проектов. Чтобы создать новый сеанс, который содержит два проекта, перейдите в верхнее левое меню <menuchoice>Сеанс -> Запустить новый сеанс</menuchoice> (если Вы запустили '''Kdevelop''' впервые, то можно использовать сеанс по умолчанию, т.к. он всё равно ещё пустой). | ||
Далее мы желаем добавить к сеансу два проекта. На данный момент мы считаем, что эти проекты уже где-то созданы (случай с созданием проектов с нуля описывается в следующих разделах настоящего руководства). Для этого существует два способа, в зависимости от того, где находится проект: существует ли он на локальном диске, либо же должен быть загружен с сервера. | Далее мы желаем добавить к сеансу два проекта. На данный момент мы считаем, что эти проекты уже где-то созданы (случай с созданием проектов с нуля описывается в следующих разделах настоящего руководства). Для этого существует два способа, в зависимости от того, где находится проект: существует ли он на локальном диске, либо же должен быть загружен с сервера. | ||
Line 24: | Line 24: | ||
Давайте для начала предположим, что проект, который мы желаем создать — ядро Linux — находится в некоторой системе управления версиями и его локальная копия ещё не развёрнута на Вашем локальном диске. В таком случае перейдите к меню <menuchoice>Проект</menuchoice> для создания в существующей сессии проекта «ядро Linux» и выполните следующие действия: | Давайте для начала предположим, что проект, который мы желаем создать — ядро Linux — находится в некоторой системе управления версиями и его локальная копия ещё не развёрнута на Вашем локальном диске. В таком случае перейдите к меню <menuchoice>Проект</menuchoice> для создания в существующей сессии проекта «ядро Linux» и выполните следующие действия: | ||
* Для | * Для импорта проекта откройте диалог из меню <menuchoice>Проект -> Загрузить проект</menuchoice> | ||
* Теперь у вас есть несколько вариантов начала нового проекта в текущем сеансе. В зависимости от того где находится исходный код, Вы можете просто выбрать существующий каталог с исходным кодом (см. способ 2) или попросить '''KDevelop''' получить исходный код из репозитория. | * Теперь у вас есть несколько вариантов начала нового проекта в текущем сеансе. В зависимости от того где находится исходный код, Вы можете просто выбрать существующий каталог с исходным кодом (см. способ 2) или попросить '''KDevelop''' получить исходный код из репозитория. | ||
Line 32: | Line 32: | ||
** Выберите рабочую директорию в которую будет разворачиваться локальная копия из репозтитория | ** Выберите рабочую директорию в которую будет разворачиваться локальная копия из репозтитория | ||
** Выберите URL расположения репозитория, откуда могут браться исходные файлы | ** Выберите URL расположения репозитория, откуда могут браться исходные файлы | ||
** Нажмите кнопку <menuchoice>Загрузить</menuchoice>. Процесс создания локальной копии может занять продолжительное время в зависимости от скорости Вашего соединения и размера проекта. К сожалению в '''KDevelop''' 4.2.x индикатор состояния не показывает ничего, но Вы можете следить за процессом | ** Нажмите кнопку <menuchoice>Загрузить</menuchoice>. Процесс создания локальной копии может занять продолжительное время в зависимости от скорости Вашего соединения и размера проекта. К сожалению в '''KDevelop''' 4.2.x индикатор состояния не показывает ничего, но Вы можете следить за процессом периодически запуская в командной строке команду {{Input|1=du -sk /path/to/KDevelop/project}}, чтобы посмотреть насколько данные уже загружены | ||
{{Note|1=Проблема с индикатором состояния описывается в [http://bugs.kde.org/show_bug.cgi?id=256832 ошибке KDevelop 256832].}} | {{Note/ru|1=Проблема с индикатором состояния описывается в [http://bugs.kde.org/show_bug.cgi?id=256832 ошибке KDevelop 256832].}} | ||
{{Note|1=В процессе создания локальной копии может так же появиться сообщение ''You need to specify a valid location for the project'' (от переводчика: «Вы должны указать правильное расположение для проекта» — на данный момент это сообщение в интерфейсе '''KDevelop''' не переведено на русский язык) которое может быть проигнорировано.}} | {{Note/ru|1=В процессе создания локальной копии может так же появиться сообщение ''You need to specify a valid location for the project'' (от переводчика: «Вы должны указать правильное расположение для проекта» — на данный момент это сообщение в интерфейсе '''KDevelop''' не переведено на русский язык) которое может быть проигнорировано.}} | ||
* Теперь Вам будет предложено выбрать файл проекта '''KDevelop''' в выбранной директории. Так как его вероятно ещё нет, просто нажмите кнопку <menuchoice>Далее</menuchoice>. | * Теперь Вам будет предложено выбрать файл проекта '''KDevelop''' в выбранной директории. Так как его вероятно ещё нет, просто нажмите кнопку <menuchoice>Далее</menuchoice>. | ||
Line 45: | Line 45: | ||
* Затем '''KDevelop''' проанализирует весь проект. Это снова займёт некоторое время, необходимое для прохождения всех файлов, индексации классов и т.п. В нижней правой части главного окна есть индикатор, отображающий продолжительность процесса. (Если Ваш процессор имеет несколько ядер, Вы можете ускорить процесс индексации. Для этого пройдите в пункт меню <menuchoice>Настройка -> Настроить KDevelop</menuchoice>, затем выберите <menuchoice>Фоновый анализ кода</menuchoice> в меню левой части окна и увеличьте максимальное количество нитей в правой части окна.) | * Затем '''KDevelop''' проанализирует весь проект. Это снова займёт некоторое время, необходимое для прохождения всех файлов, индексации классов и т.п. В нижней правой части главного окна есть индикатор, отображающий продолжительность процесса. (Если Ваш процессор имеет несколько ядер, Вы можете ускорить процесс индексации. Для этого пройдите в пункт меню <menuchoice>Настройка -> Настроить KDevelop</menuchoice>, затем выберите <menuchoice>Фоновый анализ кода</menuchoice> в меню левой части окна и увеличьте максимальное количество нитей в правой части окна.) | ||
==== | ==== Способ 2: Импорт проекта, который уже находится на Вашем жестком диске ==== | ||
В ином случае, если проект с которым Вы желаете работать уже присутствует на жёстком диске (например потому, что Вы скачали его как tar архив с FTP сервера, либо Вы уже развернули у себя локальную копию из репозитория системы управления версиями или это Ваш собственный проект, который присутствует ''только'' на Вашем жёстком диске), то используйте <menuchoice>Проект -> Открыть проект</menuchoice> и в диалоговом окне выбрать директорию в котором находится Ваш проект. | |||
<span id="Setting up an application as a second project"></span> | <span id="Setting up an application as a second project"></span> | ||
=== | === Настройка приложения в качестве второго проекта === | ||
Теперь Вам нужно создать другие проекты в той же сессии. Для приведённого выше примера Вы хотели бы добавить драйвер устройства в качестве второго проекта, что можно сделать, повторив в точности вышеописанные шаги. | |||
Если Вы имеете несколько приложений и библиотек, просто повторите эти шаги необходимое количество раз. | |||
<span id="Creating projects from scratch"></span> | <span id="Creating projects from scratch"></span> | ||
=== | === Создание проекта с нуля === | ||
Конечно же, вы можете воспользоваться новым проектом. Создать новый проект можно с помощью пункта меню <menuchoice>Проекты -> Создать по шаблону</menuchoice>, который открывает диалоговое окно выбора шаблона. Некоторые из шаблонов устанавливаются с основным пакетом "'KDevelop"', другие же можно установить вместе с программой "'KAppTemplate"'. Выберите в диалоговом окне тип проекта и язык программирования, укажите имя и местоположение вашего проекта и нажмите кнопку <menuchoice>Дальше</menuchoice>. | |||
[[Image:kdevelop-project-dialog.png|thumb|500px|center]] | |||
С помощью второй странице диалогового окна вы можете настроить систему управления версиями. Выберите желаемую для вас систему и заполните соответствующие поля параметров. Если вы не хотите пользоваться системой управления версиями или хотите определить ее параметры позже, выберите пункт <menuchoice>Нет</menuchoice>. Как только определения соответствующих параметров будет завершено, можете нажать кнопку <menuchoice>Завершить</menuchoice>. | |||
Теперь ваш проект создан, вы можете попробовать собрать и установить его. В некоторых моделях предусмотрено комментарии в коде или даже отдельный файл README. Рекомендуем ознакомиться с содержанием такого файла до того, как будет начато дальнейшую разработку. После ознакомления со всеми справочными материалами можно начать работу над проектом и добавления нужных вам возможностей. | |||
{{Prevnext2 | {{Prevnext2 | ||
| prevpage=Special:MyLanguage/Kdevelop4/Manual/Meet_KDevelop | nextpage=Special:MyLanguage/KDevelop4/Manual/Working_with_source_code | | prevpage=Special:MyLanguage/Kdevelop4/Manual/Meet_KDevelop | nextpage=Special:MyLanguage/KDevelop4/Manual/Working_with_source_code | ||
| prevtext= | | prevtext=Знакомство с KDevelop | nexttext=Работа с исходным кодом | ||
| index=Special:MyLanguage/KDevelop4/Manual | indextext= | | index=Special:MyLanguage/KDevelop4/Manual | indextext=Обратно в меню | ||
}} | }} | ||
[[Category: | [[Category:Разработка/ru]] |
Latest revision as of 05:00, 19 April 2018
Сеансы и проекты: основы 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 получить исходный код из репозитория.
- Предположим, что у Вас ещё не развёрнута локальная копия из репозитория проекта:
- В диалоговом окне под надписью выберите систему управления версиями , или иную, которую использует проект
- Выберите рабочую директорию в которую будет разворачиваться локальная копия из репозтитория
- Выберите URL расположения репозитория, откуда могут браться исходные файлы
- Нажмите кнопку
du -sk /path/to/KDevelop/project
, чтобы посмотреть насколько данные уже загружены . Процесс создания локальной копии может занять продолжительное время в зависимости от скорости Вашего соединения и размера проекта. К сожалению в KDevelop 4.2.x индикатор состояния не показывает ничего, но Вы можете следить за процессом периодически запуская в командной строке команду
- Теперь Вам будет предложено выбрать файл проекта KDevelop в выбранной директории. Так как его вероятно ещё нет, просто нажмите кнопку .
- Нажмите кнопку снова
- KDevelop попросит Вас выбрать систему автоматизации сборки проекта. Если проект использует стандартные Unix make файлы, выберите вариант «Работа с проектами на основе вручную составляемых файлов Makefile»
- Затем KDevelop проанализирует весь проект. Это снова займёт некоторое время, необходимое для прохождения всех файлов, индексации классов и т.п. В нижней правой части главного окна есть индикатор, отображающий продолжительность процесса. (Если Ваш процессор имеет несколько ядер, Вы можете ускорить процесс индексации. Для этого пройдите в пункт меню , затем выберите в меню левой части окна и увеличьте максимальное количество нитей в правой части окна.)
Способ 2: Импорт проекта, который уже находится на Вашем жестком диске
В ином случае, если проект с которым Вы желаете работать уже присутствует на жёстком диске (например потому, что Вы скачали его как tar архив с FTP сервера, либо Вы уже развернули у себя локальную копию из репозитория системы управления версиями или это Ваш собственный проект, который присутствует только на Вашем жёстком диске), то используйте
и в диалоговом окне выбрать директорию в котором находится Ваш проект.Настройка приложения в качестве второго проекта
Теперь Вам нужно создать другие проекты в той же сессии. Для приведённого выше примера Вы хотели бы добавить драйвер устройства в качестве второго проекта, что можно сделать, повторив в точности вышеописанные шаги.
Если Вы имеете несколько приложений и библиотек, просто повторите эти шаги необходимое количество раз.
Создание проекта с нуля
Конечно же, вы можете воспользоваться новым проектом. Создать новый проект можно с помощью пункта меню
, который открывает диалоговое окно выбора шаблона. Некоторые из шаблонов устанавливаются с основным пакетом "'KDevelop"', другие же можно установить вместе с программой "'KAppTemplate"'. Выберите в диалоговом окне тип проекта и язык программирования, укажите имя и местоположение вашего проекта и нажмите кнопку .С помощью второй странице диалогового окна вы можете настроить систему управления версиями. Выберите желаемую для вас систему и заполните соответствующие поля параметров. Если вы не хотите пользоваться системой управления версиями или хотите определить ее параметры позже, выберите пункт
. Как только определения соответствующих параметров будет завершено, можете нажать кнопку .Теперь ваш проект создан, вы можете попробовать собрать и установить его. В некоторых моделях предусмотрено комментарии в коде или даже отдельный файл README. Рекомендуем ознакомиться с содержанием такого файла до того, как будет начато дальнейшую разработку. После ознакомления со всеми справочными материалами можно начать работу над проектом и добавления нужных вам возможностей.