Capítulo 2. Sessões e projetos: O básico do KDevelop

Nesta seçã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 projetos, assim como explicar como poderá configurar os projetos com que deseja trabalhar no KDevelop.

Terminologia

O KDevelop tem o conceito de sessões e projetos. Uma sessão contém todos os projetos 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. Você 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 trabalhando num controlador de dispositivo do Linux® que ainda não foi reunido com a árvore de código do 'kernel'.

Assim, pegando o último exemplo, você teria uma sessão no KDevelop com dois projetos: o 'kernel' do Linux® e o controlador do dispositivo. Você desejará agrupá-los numa única sessão (em vez de ter duas sessões com um projeto 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 projeto. Você 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 acessar à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 trabalhando 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 compilando o controlador do dispositivo, caso alguns dos arquivos do 'kernel' tenham mudado).

Finalmente, outro uso para as sessões é se você trabalha tanto na versão atualmente em desenvolvimento de um projeto 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, assim você terá duas sessões com o mesmo conjunto de projetos, mas com pastas diferentes (correspondendo a diferentes ramificações de desenvolvimento).