Capítulo 2. Sesiones y proyectos: lo básico de KDevelop

En esta sección trataremos sobre la terminología de cómo KDevelop ve el mundo y cómo estructura el trabajo. En particular, introduciremos los conceptos de sesiones y proyectos, y explicaremos cómo puede configurar los proyectos sobre los que vaya a trabajar usando KDevelop.

Terminología

KDevelop usa los conceptos de sesiones y proyectos. Una sesión contiene todos los proyectos que están relacionados entre sí. En los ejemplos que siguen supondremos que usted es el desarrollador de una biblioteca y de una aplicación que la usa. Puede pensar que la primera equivale a las bibliotecas centrales de KDE y que la segunda es KDevelop. Otro ejemplo similar sería el de un programador del kernel de Linux® que también está trabajando en un controlador de dispositivo para Linux® que aún no ha sido integrado en el árbol de código fuente del kernel.

Si tomamos este último caso como ejemplo, tendríamos una sesión en KDevelop que contendría dos proyectos: el del kernel de Linux® y el del controlador de dispositivo. Seguramente desearía agrupar ambos proyectos en una única sesión (en lugar de tener dos sesiones con un único proyecto cada una), ya que le resultaría útil poder ver las funciones y las estructuras de datos del kernel en KDevelop mientras escribe el código fuente para el controlador (de este modo, podrá disponer de expansión automática de nombre de funciones y de variables del kernel, o consultar la documentación de cualquier función del kernel mientras está programando el controlador de dispositivo).

Ahora imagine que también es un desarrollador de KDE. Ahora también tendría una segunda sesión que contuviera KDE como proyecto. En principio, sería posible tener una única sesión para todo esto, pero no existe un motivo razonable para ello: cuando trabaja en KDE no necesita acceder a funciones del kernel ni del controlador de dispositivo, y tampoco querrá que se expandan automáticamente los nombres de las clases de KDE cuando trabaje con el kernel de Linux®. Del mismo modo, la construcción de algunas de las bibliotecas de KDE es independiente de la recompilación del kernel de Linux® (independientemente de que cuando compile el controlador de dispositivo sea una buena idea volver a compilar el kernel de Linux® si ha modificado alguno de los archivos de cabecera del kernel).

Para finalizar, otro uso de las sesiones sería cuando está trabajando tanto en la versión de desarrollo actual de un proyecto como en una rama del mismo. En este caso no sería deseable que KDevelop confundiera las clases que pertenecen a la versión principal y a la rama, por lo que tendría dos sesiones con el mismo conjunto de proyectos, pero usando diferentes directorios (que se corresponderían con las diferentes ramas de desarrollo).