Explorar el codi font

Informació local

El KDevelop entén el codi font, i en conseqüència és molt bo proporcionant informació sobre les variables o funcions que puguin aparèixer en el vostre programa. Per exemple, aquí teniu una captura de pantalla del treball amb un tros de codi i passar el ratolí sobre el símbol cel·la a la línia 1316 (si esteu treballant orientat amb el teclat, podeu obtenir el mateix efecte prement la tecla Alt durant un temps):

El KDevelop mostra un text d'ajuda que inclou el tipus de la variable (en aquest cas: DoFHandler<dim>active_cell_iterator), on es declara aquesta variable (el contenidor, que aquí és la funció que l'envolta get_maximal_velocity perquè és una variable local), el qual és (una variable, no una funció, classe o espai de noms) i on es declara (a la línia 1314, només unes poques línies amunt en el codi).

En el context actual, el símbol sobre el qual es mou el ratolí no té cap documentació associada. En aquest exemple, el ratolí planava sobre el símbol get_this_mpi_process a la línia 1318, el resultat serà el següent:

Aquí, el KDevelop té una referència creuada de la declaració des d'un fitxer completament diferent (utilities.h, el qual de fet resideix en un projecte diferent de la mateixa sessió) juntament amb el comentari a l'estil doxygen que acompanya la declaració.

El que fa aquests consells d'eina encara més útils és que són dinàmics: puc fer clic al contenidor per a obtenir informació sobre el context en el qual es declara la variable (és a dir, sobre l'espai de noms System, com on es declara, defineix, s'utilitza, o on es troba la seva documentació) i jo puc fer clic als enllaços blaus per a reiniciar la posició del cursor a la ubicació de la declaració del símbol (p. ex., en utilities.h, línia 289) o donar-me una llista dels llocs on s'utilitza aquest símbol al fitxer actual o en tot tots els projectes de la sessió actual. Això últim sovint és útil si voleu explorar com, p. ex., s'empra una funció en particular en una gran base de codi.

Nota

La informació continguda en un consell d'eina és efímera -doncs dependrà de mantenir premuda la tecla Alt o que hi feu passar el ratolí-. Si voleu un lloc més permanent, obriu la vista d'eina Navegador de codi en una de les subfinestres. Per exemple, aquí el cursor es troba sobre la mateixa funció que en l'exemple anterior, i la vista d'eina de l'esquerra presenta el mateix tipus d'informació com en el consell d'eina d'abans:

En moure el cursor cap a la dreta es canviarà la informació presentada cap a l'esquerra. El que és més, en fer clic al botó Bloqueja la vista actual a la part superior dreta us permetrà bloquejar aquesta informació, fent-la independent del moviment del cursor mentre exploreu la informació que us presenta.

Nota

Aquest tipus d'informació contextual es troba disponible en molts altres llocs al KDevelop, no només a l'editor del codi font. Per exemple, mantenint premuda la tecla Alt en una llista de compleció (p. ex., quan feu una obertura ràpida) també produirà informació contextual sobre el símbol actual.

Informació sobre l'àmbit dels fitxers

El següent nivell és obtenir informació sobre el fitxer font sobre el qual esteu treballant. Per a fer-ho, situeu el cursor a l'àmbit del fitxer al fitxer actual i cerqueu el que mostra la vista d'eina Navegador de codi:

Aquí, es mostra una llista dels espais de noms, classes i funcions declarats o definits al fitxer actual, el qual us dona una visió general del que succeeix en aquest fitxer i un mitjà per a saltar directament a qualsevol d'aquestes declaracions o definicions sense haver de desplaçar-vos cap amunt i avall o a la cerca d'un símbol en particular.

Nota

La informació que es mostra per a l'àmbit del fitxer és la mateixa que es presenta en el mode «Esquema» discutit a continuació en navegar pel codi font; la diferència és que el mode d'esquema només és un consell d'eina temporal.

Informació sobre l'àmbit del projecte i la sessió

Hi ha moltes maneres d'obtenir informació sobre tot un projecte (o, de fet, quant a tots els projectes en una sessió). Aquest tipus d'informació es proporciona normalment a través de diferents vistes d'eina. Per exemple, la vista d'eina Classes ofereix una estructura en arbre de totes les classes i espais de nom dels voltants per a tots els projectes en una sessió, juntament amb les funcions de membre i variables de cadascuna d'aquestes classes:

En passar el ratolí sobre una entrada ofereix de nou la informació sobre el símbol, la seva ubicació i definició de la declaració, i els seus usos. En fer doble clic sobre una entrada en aquesta vista en arbre s'obrirà una finestra d'edició en el lloc on es declara o defineix aquest símbol.

Però hi ha altres maneres de veure la informació global. Per exemple, l'eina Documents proporciona una vista d'un projecte en termes de les classes de fitxers o altres documents que conté aquest projecte:

Explicació del ressaltat amb els colors de l'Arc de Sant Martí

El KDevelop empra una varietat de colors per a ressaltar diferents objectes en el codi font. Si sabeu el que signifiquen els diferents colors, podeu extreure ràpidament una gran quantitat d'informació a partir del codi font amb només mirar els colors, sense llegir un sol caràcter. Les regles del ressaltat són les següents:

  • Els objectes del tipus «class» / «struct» i «enum» (els valors i el tipus), les funcions (globals), i els membres de la classe tenen cadascun el seu propi color assignat (les classes en verd, les enumeracions en vermell fosc, i els membres en groc o violeta fosc, les funcions (globals) sempre en violeta).

  • Totes les variables globals es mostren de color verd fosc.

  • Els identificadors que són «typedefs» per a altres tipus es mostren en verd blavós.

  • Totes les declaracions i definicions dels objectes estan en negreta.

  • Si s'accedeix a un membre des de dins del context en el qual es defineix (base o classe derivada) aquest apareixerà en groc, en cas contrari, apareixerà en violeta.

  • Si un membre és privat o protegit, es mostrarà amb un color lleugerament més fosc quan s'utilitza.

  • Per a les variables locals en l'àmbit del cos d'una funció es trien els colors de l'arc de Sant Martí basant-se en un codi numèric de l'identificador. Això inclou els paràmetres de la funció. Un identificador sempre tindrà el mateix color dins del seu àmbit (però el mateix identificador tindrà un color diferent si representa un objecte diferent, és a dir, si es torna a definir en un àmbit més niat), i en general obtindreu el mateix color per al mateix nom d'identificador en àmbits diferents. Per tant, si teniu múltiples funcions que prenen els paràmetres amb els mateixos noms, els arguments tots seran del mateix color. Aquests colors de l'arc de Sant Martí es poden desactivar per separat de la coloració global en el diàleg de configuració.

  • Els identificadors per als quals el KDevelop no pugui determinar la declaració corresponent, seran de color blanc. Això de vegades pot ser causat per la falta de les directives #include.

  • A més d'aquesta coloració, s'aplicarà el ressaltat de sintaxi normal de l'editor, com es coneix a partir del ressaltat semàntic del Kate. Si hi ha un conflicte, el KDevelop sempre anul·larà el ressaltat de l'editor.