KDevelop4/Підручник/Сеанси і проекти

From KDE Wiki Sandbox
Revision as of 16:25, 19 May 2011 by Yurchor (talk | contribs) (Created page with "У останньому прикладі у нас був би сеанс '''KDevelop''' з двома проектами: ядром Linux і драйвером пристрою...")
Other languages:

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

У цьому розділі ми оглянемо деякі питання щодо термінології, використаної у KDevelop, та структури роботи у середовищі. Зокрема, ми поговоримо про поняття сеанси і проекти та пояснимо, як налаштовувати проекти, над якими ви маєте намір працювати у KDevelop.

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

У KDevelop використано поняття сеанси та проекти. У сеансі містяться всі проекти, чимось пов’язані між собою. У наведених нижче прикладах ми припускаємо, що ви є розробником одночасно бібліотеки та програми, яка використовує цю бібліотеку. Прикладом подібної схеми розробки є бібліотеки KDE (бібліотека) і саме середовище KDevelop (програма). Інший приклад: ви є розробником ядра Linux і одночасно працюєте над драйвером пристрою для Linux, який ще не включено до ядра.

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

Now imagine you also happen to be a KDE developer. Then you would have a second session that contains KDE as a project. You could in principle have just one session for all of this, but there is no real reason for this: in your KDE work, you don't need to access kernel or device driver functions; and you don't want KDE class names autoexpanded while working working on the Linux kernel. Finally, building some of the KDE libraries is independent of re-compiling the Linux kernel (whereas whenever you compile the device driver it would also be good to re-compile the Linux kernel if some of the kernel header files have changed).

Finally, another use for sessions is if you work both on the current development version of a project, as well as on a branch: in that case, you don't want KDevelop to confuse classes that belong to mainline and the branch, so you'd have two sessions, with the same set of projects but from different directories (corresponding to different development branches).

Налаштування сеансу та імпортування вже створеного проекту

Let's stick with the Linux kernel and device driver example — you may want to substitute your own set of libraries or projects for these two examples. To create a new session that contains these two projects go to the Session -> Start new session menu at the top left (or, if this is the first time you use KDevelop: simply use the default session you get on first use, which is empty). Next, go to the Project menu to create the Linux kernel as a project inside this session. To to this, follow these steps:

  • Go to Projects -> Fetch project to import a project
  • You then have multiple options to start a new project in the current session, depending on where the source files should come from: You can just point KDevelop at an existing directory, or you can ask KDevelop to get the sources from a repository. Let's look at these options in turns:
  • If you want to work with a project that's already on your hard drive then just select as source Do not obtain and choose the Working directory as the directory in which your project resides. This could be a directory into which you unpackaged a tar file that you downloaded, or it could be a directory into which you checked out a version of the project using a version control system (e.g. git or subversion).
  • Alternatively, assuming you wanted to work with the current development sources of deal.II and don't already have a version checked out:
    • In the dialog box, under Select the source, choose to use Subversion, Git, or one of the other choices
    • Choose a working directory as destination into which the sources should be checked out
    • Choose an URL for the location of the repository where the source files can be obtained
    • Hit Get. This can take quite a long while; depending on the speed of your connection and the size of the project. Unfortunately, in KDevelop 4.2.x the progress bar does not actually show anything, but you can track progress by periodically looking at the output of the command line command du -sk /path/to/KDevelop/project to see how much data has already been downloaded.
      Note
      The problem with the progress bar has been reported as KDevelop bug 256832.
      Note
      In this process, I also get the error message You need to specify a valid location for the project which can be safely ignored.
  • It asks you to select a KDevelop project file in this directory. Since you probably don't have one yet, simply hit Next
  • Hit Next again
  • 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 on the bottom right 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.)

Налаштування програми як другого проекту

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.

Створення проектів «з нуля»

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.