Capitolo 2. Sessioni e progetti: le basi di KDevelop

In questa sezione, andremo oltre la terminologia di come KDevelop vede il mondo e di come struttura il lavoro. In particolare, introdurremo il concetto di sessioni e progetti e spiegheremo come è possibile impostare i progetti su cui si desidera lavorare in KDevelop.

Terminologia

KDevelop ha l'approccio di sessioni e progetti. Una sessione contiene tutti i progetti che hanno qualcosa a che fare l'uno con l'altro. Per gli esempi che seguono, presupponiamo che tu sia lo sviluppatore sia di una libreria che di un'applicazione che la utilizza. Puoi pensare alle librerie base di KDE come se fossero la prima e a KDevelop come se fosse l'ultima. Un altro esempio: diciamo che sei un hacker del kernel Linux® ma che stai anche lavorando su un driver per un dispositivo per Linux® che non è stato ancora aggiunto all'albero dei sorgenti del kernel.

Quindi, prendendo quest'ultimo come esempio, avresti una sessione in KDevelop che ha due progetti: il kernel Linux® e il driver del dispositivo. Vorrai raggrupparli in una singola sessione (piuttosto che avere due sessioni con un singolo progetto ciascuno) perché sarà utile vedere le funzioni del kernel e le strutture dati in KDevelop ogni volta che scrivi il codice sorgente per il driver — per esempio in modo da ottenere le funzioni del kernel e i nomi delle variabili auto-espanse, o in modo da vedere la documentazione delle funzioni del kernel mentre si agisce sul driver del dispositivo.

Ora immagina anche di essere un sviluppatore di KDE. Quindi avresti una seconda sessione che contiene KDE come progetto. Potresti, in linea di principio avere una sola sessione per tutto questo, ma non c'è una vera ragione per questo: nel tuo lavoro per KDE, non hai bisogno di accedere alle funzioni del kernel o ai driver del dispositivo; e non vuoi che i nomi delle classi di KDE siano espansi automaticamente mentre lavori sul kernel Linux®. Infine, la compilazione di alcune librerie di KDE è indipendente dal ricompilare il kernel Linux® (invece ogni volta che compili il driver del dispositivo sarebbe anche bene ricompilare il kernel Linux® se alcuni dei file di intestazione del kernel sono cambiati).

Infine, un altro uso per le sessioni è se lavori sia sulla versione di sviluppo di un progetto, che su un altro ramo: in questo caso,non vuoi che KDevelop confonda le classi che appartengono alla linea principale e al ramo, quindi avresti due sessioni, con lo stesso insieme di progetti, ma da diverse cartelle (che corrispondono a diversi rami di sviluppo).