Capitolo 1. Cosa è KDevelop?

KDevelop è un ambiente di sviluppo integrato (IDE) moderno per il C++ (e altri linguaggi), questo è una delle tante applicazioni di KDE. Come tale esso viene eseguito su Linux® (anche se si esegue uno degli altri desktop, come GNOME), ma è disponibile per la maggior parte delle altre varianti di UNIX® e anche per Windows.

KDevelop offre tutte le comodità dei moderni IDE. Per progetti e applicazioni di grandi dimensioni, la caratteristica più importante è che KDevelop interpreta il C++: analizza l'intero codice sorgente e ricorda le funzioni membro delle classi, dove sono definite le variabili, quali sono i loro tipi, e molte altre cose sul codice. Per esempio, mettiamo il caso che in uno dei file di intestazione del tuo progetto sia dichiarata la seguente classe

class Car {
  // ...
  public:
    std::string get_color () const;
};

poi nel tuo programma hai

Car my_ride;
// ...do something with this variable...
std::string color = my_ride.ge

questo ti avrà ricordato che my_ride nell'ultima riga è una variabile di tipo Car e ti offre di completare ge come get_color() poiché questa è l'unica funzione membro della classe Car che inizia in questo modo. Invece di continuare a digitare basta premere Invio per ottenere la parola completa, questo permette di scrivere di meno, evitare errori di battitura, e non richiede di ricordare i nomi esatti delle centinaia o migliaia di funzioni e classi che compongono i progetti di grandi dimensioni.

Come secondo esempio, supponi di avere un codice come questo:

double foo ()
{
  double var = my_func();
 return var * var;
}
double bar ()
{
  double var = my_func();
  return var * var * var;
}

Se passi il mouse sul simbolo var nella funzione bar hai la possibilità di vedere tutti i modi di utilizzare questo simbolo. Facendo clic su di esso ti verranno mostrati solo i modi di utilizzare questa variabile nella funzione bar perché KDevelop sa che la variabile var nella funzione foo è una variabile diversa. Allo stesso modo, fare clic con il tasto destro sul nome della varibile consente di rinominare la variabile; in questo modo verrà toccata solo la variabile bar ma non quella con lo stesso nome presente in foo.

Ma KDevelop non è solo un editor intelligente di codice; ci sono altre cose che KDevelop fa' bene. Ovviamente sottolinea il codice sorgente con colori differenti; ha un identatore personalizzabile; ha un interfaccia integrata per il debugger GNU gdb; può mostrare la documentazione per una funzione, se si passa il mouse sopra; può avere a che fare con tipi differenti di ambienti di compilazione e compilatori (ad esempio con make e progetti basati su cmake), e molte altre cose che saranno discusse in questo manuale.