Capítulo 2. Sessões e projectos: As bases do KDevelop

Nesta secção, iremos passar por alguma da terminologia de como o KDevelop vê o mundo e como ele estrutura o trabalho. Em particular, iremos introduzir o conceito de sessões e projectos, assim como explicar como poderá configurar os projectos com que deseja trabalhar no KDevelop.

Terminologia

O KDevelop tem o conceito de sessões e projectos. Uma sessão contém todos os projectos que possam ter alguma coisa a ver entre si. Para os exemplos que se seguem, assuma que é um programador de uma biblioteca e de uma aplicação que a usa. Poderá pensar nas bibliotecas de base do KDE como o primeiro caso e o KDevelop como o segundo. Outro exemplo: imagine que é um programador do 'kernel' do Linux® mas que está também a trabalhar num controlador de dispositivo do Linux® que ainda não foi reunido com a árvore de código do 'kernel'.

Como tal, pegando no último exemplo, teria uma sessão no KDevelop com dois projectos: o 'kernel' do Linux® e o controlador do dispositivo. Irá querer agrupá-los numa única sessão (em vez de ter duas sessões com um projecto em cada uma), porque será útil poder ver as funções e estruturas de dados do 'kernel' no KDevelop sempre que escrever código para o controlador — por exemplo, para que possa ver os nomes das funções e variáveis do 'kernel' automaticamente expandidas ou para que possa ver a documentação das funções do 'kernel' enquanto programa o controlador.

Agora imagine que também é um programador do KDE. Então iria ter uma segunda sessão que tivesse o KDe como um projecto. Poderia em princípio ter apenas uma sessão para tudo isto, mas não existe nenhuma razão real para tal: no seu trabalho com o KDE, não precisa de aceder às funções do 'kernel' ou do controlador de dispositivos; da mesma forma, também não irá querer os nomes das classes do KDE expandidos automaticamente quando estiver a trabalhar no 'kernel' do Linux®. Finalmente, a compilação de algumas das bibliotecas do KDE é independente da recompilação do 'kernel' do Linux® (embora, contudo, seja normal compilar o 'kernel' do Linux® quando estiver a compilar o controlador do dispositivo, caso alguns dos ficheiros do 'kernel' tenham mudado).

Finalmente, outro uso para as sessões é se trabalhar tanto na versão actualmente em desenvolvimento de um projecto como noutra versão em paralelo: nesse caso, não irá querer que o KDevelop confunda as classes que pertencem à versão principal com as da alternativa, pelo que terá duas sessões com o mesmo conjunto de projectos, mas com pastas diferentes (correspondendo a diferentes ramificações de desenvolvimento).