# File di configurazione usati da &kdevelop;

&kdevelop; utilizza un insieme di file di configurazione che sono distribuiti in varie directory. Vengono distinti in due gruppi principali:

- I file della configurazione di default di &kdevelop; — che sono stati impostati quando è stato installato.
- I file della configurazione utente — che contengono le modifiche alle impostazioni di &kdevelop; e dei plugin fatte dall'utente.

## Configurazione di default di &kdevelop;

Durante l'installazione, &kdevelop; scrive alcuni file di configurazione nelle sottodirectory della directory di installazione `$KDEDIR` (generalmente simile a `/opt/kde`, `/usr/local/kde` o a qualche altra directory di installazione definita dall'utente, vedere Installare &kdevelop;).

### Configurazione di &kdevelop;

Esiste un solo file di configurazione di &kdevelop; nella directory `$KDEDIR/share/config`:

`kdeveloprc`

- Questo file contiene le impostazioni di base necessarie all'avvio di &kdevelop;. Esso verrà copiato nella directory `$KDEHOME/share/config` dell'utente se &kdevelop; non troverà nessun file `kdeveloprc` in questa posizione.

### Configurazione specifica delle applicazioni

Molte caratteristiche di &kdevelop; sono fornite dalle applicazioni KPart. Esse sono progettate specificatamente per essere eseguite nel framework di &kdevelop; (vedere l'appendice Plugin). Ogni applicazione KPart possiede il proprio gruppo di file di configurazione le cui versioni di default vengono memorizzate in diverse sottodirectory della directory di installazione `$KDEDIR/share/apps/`.

Esistono molte sottodirectory in `$KDEDIR/share/apps/` contenenti le configurazioni di default, i cui nomi iniziano per kdev, e la maggior parte di esse sono utilizzate internamente da &kdevelop;. Per una maggiore leggibilità possono essere raggruppate così:

- Applicazioni stand-alone
- Componenti per specifiche funzionalità
- Componenti per la generazione di progetti
- Componenti specifici per i linguaggi

- ### Applicazioni Stand-alone

  - `kdevelop/` — contiene vari file per la configurazione dell'IDE:

    - `licenses/` — contiene i testi di varie licenze.

    - `pics/` — contiene le immagini usare per le schermate iniziali di &kdevelop;, dell'Assistente e del Designer.

    - `profiles/` — contiene le impostazioni del profilo di default dei plugin. (Attualmente viene fornito solo un piccolo profilo che definisce un insieme minimo di plugin attivi).

    - `eventsrc` — contiene le versioni localizzate di varie stringhe come project succcessful.

    - `kdevelopui.rc` — fornisce i principali elementi del menu e della barra degli strumenti.

    - `kdevhtml_partui.rc` — fornisce la voce Stampa... del menu File, la voce Copia del menu Modifica e le frecce Indietro e Avanti nella barra degli strumenti del browser, nel caso venga visualizzato un file HTML dal plugin Documentazione.

  - `kdevassistant/` — fornisce il menu e le barre degli strumenti del browser della documentazione dell'assistente di &kdevelop;.

  - `kdevdesigner/` e `kdevdesignerpart/` — forniscono la barra dei menu e le barre degli strumenti del Designer di &kdevelop;.

- ### Componenti per specifiche funzionalità

  - `kdevabbrev/` — contiene i file usati dal plugin per l'espansione delle abbreviazioni:

    - `sources/` — contiene i file di definizione delle parole chiave usate dal comando Espandi Testo.

    - `templates/` — contiene i file di definizione dei modelli usati dal comando Espandi Abbreviazioni.

    - `kdevabbrev.rc` — fornisce le voci Espandi testo e Espandi abbreviazioni del menu Modifica.

  - `kdevappwizard/` — contiene file usati dal componente Procedura guidata per le applicazioni:

    - `importfiles/` — contiene i file `.kdevelop` che controllano l'inizializzazione di un nuovo progetto.

    - `imports/` — contiene i modelli per impostare i file `.desktop` specifici dei progetti.

    - `template-common/` — contiene file vari comunemente inclusi nelle directory che contengono il codice sorgente dei progetti.

    - `templates/` — contiene i file di configurazione che descrivono le informazioni da includere in una data directory di un progetto.

    - `*.png` — immagini di anteprima dei progetti usate nella procedura guidata per le applicazioni.

    - `*.tar.gz` — archivi contenenti i file sorgenti da includere nella directory di un progetto appena generato.

  - `kdevastyle/` — fornisce la voce Riformatta sorgente nel menu Modifica.

  - `kdevautoproject/` — fornisce la maggior parte degli elementi nel menu Compila e nella Barra strumenti compilazione.

  - `kdevclassview/` — contiene i file usati dal plugin vista classe:

    - `pics/` — contiene le icone usate nell'albero classi.

    - `kdevclassview.tc` — fornisce la voce Diagramma d'ereditarietà classe nel menu Progetto e la casella a scelta multipla di navigazione delle classi nella Barra di navigazione.

  - `kdevcloser/` — contiene le voci di chiusura del menu Finestra.

  - `kdevctags/` — fornisce la voce CTags nel menu Strumenti del plugin Interfaccia CTags.

  - `kdevcvsservice/` — contiene l'icona usata nella linguetta CvsService e un breve script per la shell che aggiunge un elemento al deposito &cvs;, usati dal plugin CVS Integration.

  - `kdevdebugger/` — fornisce le voci nel menu Debug per il plugin Interfaccia Debugger.

  - `kdevdiff/` — contiene la voce Visualizzatore differenze del menu Strumenti.

  - `kdevdistpart/` — la voce Pubblicazione e distribuzione del menu Progetto per il plugin Final Packaging Support.

  - `kdevdocumentation/` — contiene i file usati dal plugin Documentazione:

    - `en/` e `pics/` — contengono i file utilizzati dall'utility di ricerca htdig.

    - `tocs/` — contiene i file di descrizione del contenuto di default della documentazione di &kdevelop; (vedere la descrizione nella sezione Struttura di base dei file TOC di &kdevelop;).

    - `kdevpart_documentation.rc` — contiene le voci relative alle ricerche nel menu Aiuto.

  - `kdevdoxygen/` — fornisce le voci di menu per il plugin Doxygen.

  - `kdevfilecreate/` — contiene i file usati dalla Procedura Guidata Nuovo File:

    - `file-templates/` — contiene il testo che viene inserito in un nuovo file sorgente di un determinato tipo.

    - `kdevpart_filecreate.rc` — fornisce la voce Nuovo del menu File.

    - `template-info.xml` — contiene le descrizioni dei tipi di file disponibili che vengono visualizzati nella vista strumenti Nuovo File.

  - `kdevfilter/` — fornisce le voci Esegui Comando... e Selezione filtro tramite comando... del menu Strumenti usate dal plugin Shell Filtering and Insertion.

  - `kdevfullscreen/` — fornisce la voce Schermo intero del menu Visualizza e la icona corrispondente nella barra degli strumenti.

  - `kdevgrepview/` — fornisce la voce Trova nei file... nel menu Modifica usato dal plugin Grep Frontend.

  - `kdevhistory/` — fornisce le voci Indietro e Avanti del menu Visualizza.

  - `kdevjavadebugger/` — fornisce il menu Debug Java per effettuare il debug di una applicazione &Java;.

  - `kdevoutputviews/` — fornisce le voci Errore successivo ed Errore precedente nel menu Visualizza.

  - `kdevpartexplorer/` — fornisce la voce Part Explorer nel menu Strumenti usata dal plugin Part Explorer.

  - `kdevquickopen/` — fornisce la voce Apertura rapida file... nel menu File e le voci Apertura rapida classe... e Apertura rapida metodo... nel menu Strumenti usato dal plugin Apertura rapida.

  - `kdevregexptest/` — fornisce la voce Debug dell'espressione regolare... del menu Strumenti usato dal plugin Regular Expression Tester.

  - `kdevreplace/` — fornisce la voce Trova-Seleziona-Sostituisci... nel menu Modifica usata del plugin Replace Part.

  - `kdevtipofday/` — fornisce la voce Suggerimento del giorno nel menu Aiuto e il file HTML che contiene i suggerimenti disponibili.

  - `kdevtools/` — controlla le varie voci di menu create dalle impostazioni Menu strumenti e Menu strumenti esterno del plugin Tools Menu Addition.

  - `kdevvalgrind/` — fornisce le voci Controlla perdita di memoria valgrind e Profilo con KCachegrind nel menu Debug usate dal plugin Valgrind Frontend.

- ### Componenti per la generazione di progetti

  - `kdevadaproject/` — fornisce le voci nel menu Compila e le corrispondenti icone nella barra degli strumenti per la compilazione di applicazioni Ada.

  - `kdevantproject/` — fornisce le voci del menu Compila quando si usa il generatore di progetto Ant.

  - `kdevautoproject/` — fornisce le voci del menu Compila e le corrispondenti icone nella barra degli strumenti quando di lavora con il generatore di progetto &automake; basato sugli strumenti &GNU;. Inoltre fornisce le voci Aggiungi traduzione... e Configurazione compilazione al menu Progetti.

  - `kdevcustomproject/` — fornisce le voci del menu Compila e le corrispondenti icone nella barra degli strumenti quando il progetto viene gestito da Makefile personalizzati.

  - `kdevgenericproject/` — contiene le definizioni di menu per un generatore di progetto generico sperimentale. Attualmente (versione 3.1.0) non è usato.

  - `kdevhaskellproject/` — fornisce le voci del menu Compila e le corrispondenti icone nella barra degli strumenti per compilare un'applicazione Haskell.

  - `kdevpascalproject/` — fornisce le voci del menu Compila e le corrispondenti icone nella barra degli strumenti per compilare un'applicazione Pascal.

  - `kdevtrollproject/` — fornisce le voci del menu Compila e le corrispondenti icone nella barra degli strumenti per compilare un'applicazione usando il gestore di progetto QMake di &Qt;.

- ### Componenti specifici per i linguaggi

  - `kdevadasupport/` — fornisce le voci del menu Strumenti e le icone nella barra degli strumenti necessarie a sviluppare applicazioni Ada.

  - `kdevbashsupport/` — fornisce le voci del menu Compila e le corrispondenti icone nella barra degli strumenti necessarie a sviluppare script per Bash.

  - `kdevcppsupport/` — contiene i file usati dalla procedura guidata per la applicazioni per costruire applicazioni C++:

    - `newclass/` — contiene i modelli di codice sorgente e di intestazione dai quali la procedura guidata per le applicazioni costruisce i file sorgenti corrispondenti.

    - `subclassing/` — contiene i modelli con i quali la procedura guidata per le applicazioni imposta le dichiarazioni/definizioni di classe nei file sorgenti.

    - `templates` — contiene i modelli con i quali la procedura guidata per le applicazioni imposta i file sorgenti e i file di intestazione di default usati dalla procedura guidata Nuovo File.

    - `configuration` — modello fittizio per aggiungere macro.

    - `kdevcppsupport.rc` — fornisce le voci Completa testo e Crea membro nel menu Modifica, la voce Cambia Intestazione/Implementazione per il menu Visualizza e l'icona Nuova Classe per la Barra di navigazione.

  - `kdevfortransupport/` — fornisce le voci nel menu Compila necessarie per sviluppare applicazioni Fortran.

  - `kdevhaskellsupport/` — fornisce le voci nel menu Compila e le corrispondenti icone nella barra degli strumenti necessarie per sviluppare applicazioni Haskell.

  - `kdevjavasupport/` — contiene le definizioni UI necessarie per sviluppare applicazioni &Java;.

  - `kdevpascalsupport/` — contiene le definizioni UI necessarie per sviluppare applicazioni Pascal.

  - `kdevperlsupport/` — fornisce le voci nei menu Progetto e Aiuto necessarie per sviluppare script Perl.

  - `kdevphpsupport/` — contiene i file di definizione delle funzioni UI e PHP necessari per lo sviluppo di script PHP.

  - `kdevpythonsupport/` — fornisce le voci nei menu Progetto e Aiuto e le icone corrispondenti nella barra degli strumenti necessarie per sviluppare script Python.

  - `kdevrubysupport/` — fornsice le voci nel menu Progetto e le corrispondenti icone nella barra degli strumenti necessarie per sviluppare script Ruby.

  - `kdevscriptproject/` — fornisce le definizioni UI necessarie per sviluppare progetti personalizzati. Attualmente (versione 3.1.0) non è usato.

  - `kdevsqlsupport/` — fornisce le definizioni UI necessarie per sviluppare progetti SQL. Attualmente (versione 3.1.0) non è usato.

## Configurazione utente

Tutte le informazioni sulle impostazioni utente sono contenute in due sottodirectory di `$KDEHOME`:

- Configurazione specifica dell'applicazione nella directory `$KDEHOME/share/apps/` e
- File di configurazione delle risorse nella directory `$KDEHOME/share/config/`.

### Configurazione specifica dell'applicazione

Tutte le modifiche fatte alla Configurazione di default di &kdevelop; e le impostazioni specifiche dell'utente che non sono contenute nei file di configurazione delle risorse si trovano nelle sottodirectory `kdev...` della directory `$KDEHOME/share/apps/`.

Comunque la maggior parte di questi file di configurazione sono usati da diversi plugin per visualizzare menu specifici e/o elementi della barra degli strumenti. Sono di interesse solo nel caso di inconvenienti nell'interfaccia utente.

Se i contenuti di queste directory rispecchiano le impostazioni di configurazione di default, significa che &kdevelop; ha copiato le impostazioni dalla directory `$KDEDIR/apps/` nella directory `$KDEHOME/apps/` durante il suo primo avvio. Tutte le successive modifiche influenzeranno solo questa copia: la configurazione di default non verrà modificata.

- `kdevabbrev/` — contiene i file usati dal plugin per l'espansione delle abbreviazioni:

  - `sources/` — attualmente vuoto; &kdevelop; usa i file di definizione delle parole chiave per i comandi Espandi testo.

  - `templates/` — contiene i file dei modelli delle definizioni modificati dall'utente usati dal comando Espandi abbreviazioni.

  - `kdevabbrev.rc` — fornisce le voci Espandi testo e Espandi abbreviazioni del menu Modifica.

- `kdevappwizard/` — fornisce solo le voci Nuovo Progetto... e Importa progetto esistente... del menu Progetto. La procedura guidata per le applicazioni usa in realtà le impostazioni di configurazione di default per svolgere le sue operazioni.

- `kdevastyle/` — fornisce la voce Riformatta sorgente nel menu Modifica.

- `kdevautoproject/` — fornisce le voci nel menu Progetto e nella Barra strumenti compilazione (KDevelop).

- `kdevclassview/` — fornisce la voce Diagramma d'ereditarietà classe nel menu Progetto e la casella a scelta multipla nella Barra di navigazione dal plugin Class View.

- `kdevcloser/` — fornisce la voce Chiudi selezionato nel menu Finestra.

- `kdevcppsupport/` — contiene la configurazione effettiva usata dalla procedura guidata per le applicazioni per compilare le applicazioni C++. Essa tuttavia legge la parte principale della sua configurazione direttamente dalla directory di configurazione di default.

  - `newclass/` — contiene i modelli di file sorgente e intestazione usati dalla procedura guidata per le applicazione per costruire i corrispondenti file sorgenti.

  - `pcs/` — contiene i file di database usati da &kdevelop; per costruire il file Pesistent Code Store (`.pcs`) di un progetto &kde; in C++.

  - `kdevcppsupport.rc` — fornisce le voci Completa testo e Crea membro nel menu Modifica, la voce Cambia Intestazione/Implementazione per il menu Visualizza e l'icona Nuova Classe per la Barra di navigazione.

- `kdevctags/` — fornisce la voce CTags nel menu Strumenti del plugin Interfaccia CTags.

- `kdevdebugger/` — fornisce le voci nel menu Debug per il plugin Interfaccia Debugger.

- `kdevdiff/` — contiene la voce Visualizzatore differenze del menu Strumenti.

- `kdevdocumentation/` — contiene i file usati dal plugin Documentazione in aggiunta ai file di configurazione di default.

  I reali file di impostazione della documentazione sono memorizzati nei file `doc...pluginrc` nella directory `$KDEHOME/share/config/`.

  - `bookmarks/` — contiene gli elementi nella linguetta Segnalibri del plugin Documentazione.

  - `index/` — contiene file della cache usati da &kdevelop; per velocizzare le ricerche nella documentazione indicizzata nella linguetta Indice del plugin Documentazione.

  - `search/` — contiene file usati dall'utility htdig che effettua le ricerche nella linguetta Cerca del plugin Documentazione.

  - `kdevpart_documentation.rc` — contiene le voci relative alle ricerche nel menu Aiuto.

- `kdevdoxygen/` — fornisce le voci di menu per il plugin Doxygen.

- `kdevelop/` — contiene alcune impostazioni che &kdevelop; usa per il suo setup di base.

  - `profiles/` — fornisce le impostazioni di profile per i plugin. (Inizialmente sarà presente solo un profilo `FullIDE` che definisce l'insieme iniziale di plugin attivi).

  - `kdevelopui.rc` — fornisce i principali elementi del menu e della barra degli strumenti.

- `kdevfilecreate/` — contiene i file usati dalla Procedura Guidata Nuovo File:

  - `file-templates/` — fornisce il testo che viene inserito in un nuovo file sorgente di un determinato tipo. Nella directory dei file della configurazione di default si trovano ulteriori modelli.

  - `kdevpart_filecreate.rc` — fornisce la voce Nuovo del menu File.

  - `template-info.xml` — contiene le descrizioni dei tipi di file disponibili che vengono visualizzati nella vista strumenti Nuovo File.

- `kdevfilter/` — fornisce le voci Esegui Comando... e Selezione filtro tramite comando... del menu Strumenti usate dal plugin Shell Filtering and Insertion.

- `kdevfullscreen/` — fornisce la voce Schermo intero del menu Visualizza e la icona corrispondente nella barra degli strumenti.

- `kdevgrepview/` — fornisce la voce Trova nei file... nel menu Modifica usato dal plugin Grep Frontend.

- `kdevoutputviews/` — fornisce le voci Errore successivo ed Errore precedente nel menu Visualizza.

- `kdevpartexplorer/` — fornisce la voce Part Explorer nel menu Strumenti usata dal plugin Part Explorer.

- `kdevquickopen/` — fornisce la voce Apertura rapida file... nel menu File e le voci Apertura rapida classe... e Apertura rapida metodo... nel menu Strumenti usato dal plugin Apertura rapida.

- `kdevregexptest/` — fornisce la voce Debug dell'espressione regolare... del menu Strumenti usato dal plugin Regular Expression Tester.

- `kdevreplace/` — fornisce la voce Trova-Seleziona-Sostituisci... nel menu Modifica usata del plugin Replace Part.

- `kdevtipofday/` — fornisce la voce Suggerimento del giorno del menu Aiuto. Il file HTML contenente i suggerimenti disponibili è presente solo come file di configurazione di default.

- `kdevtools/` — controlla le varie voci di menu create dalle impostazioni Menu strumenti e Menu strumenti esterno del plugin Tools Menu Addition.

- `kdevvalgrind/` — fornisce le voci Controlla perdita di memoria valgrind e Profilo con KCachegrind nel menu Debug usate dal plugin Valgrind Frontend.

### File di configurazione delle risorse

Ci sono due due gruppi di file di configurazione di &kdevelop; nella directory `$KDEHOME/share/config`, che si distinguono dalla sequenza di caratteri che compone il nome:

- Se il nome è del tipo `doc...pluginrc` sono file usati dal plugin della documentazione.
- Se il nome è del tipo `kdev...rc` sono file usati da &kdevelop; e dai suoi plugin.

### File di configurazione usati da &kdevelop;

- `kdevabbrevrc` — contiene la configurazione delle Abbreviazioni del plugin Abbreviation Expansion.

  Viene registrato solo se le abbreviazioni verranno usate o no. Le definizioni delle nuove abbreviazioni sono inserite nel file `$KDEHOME/share/apps/kdevabbrev/templates/templates`.

- `kdevassistantrc` — contiene alcune informazioni di configurazione specifiche dell'Assistente di &kdevelop;.

  La maggior parte delle impostazioni viene condivisa con il file `kdeveloprc` dell'IDE.

- `kdevassistantuimode4rc` — contiene la configurazione MDI (posizioni di aggancio, ecc.) dell'Assistente di &kdevelop;.

- `kdevclassviewrc` — contiene le impostazioni della Modalità vista della linguetta Classi fornita dal plugin Class View.

  Anche se il plugin Class View può essere disabilitato per un dato progetto, questa è una impostazione globale. Ogni modifica si rifletterà globalmente quando verrò chiuso il progetto corrente e quindi coinvolgerà tutti i progetti che verranno successivamente caricati.

- `kdevcppsupportrc` — contiene le impostazioni inserite nella finestra di dialogo Generatore classe C++ che vengono usate per inizializzare i file sorgente CPP.

- `kdevdocumentationrc` — contiene le impostazioni usate dal plugin Documentazione.

- `kdeveloprc` — contiene le configurazioni globali dell'IDE e dell'Assistente di &kdevelop;.

- `kdevelopuimode4rc` — contiene le impostazioni della modalità MDI dell'IDE &kdevelop; (posizioni di aggancio, ecc).

- `kdevfileselectorrc` — contiene le impostazioni usate dal plugin Selettore File.

- `kdevfileviewrc` — contiene la configurazione del colore dei nomi dei file usata per la visualizzazione nel plugin CVS Integration (Cervisia).

- `kdevfilterrc` — contiene le impostazioni usate dal plugin Shell Filtering and Insertion.

- `kdevgrepviewrc` — contiene le impostazioni usate dal plugin Grep Frontend.

- `kdevsnippetrc` — contiene le impostazioni usate dal plugin Frammenti di codice.

- `kdevtoolsrc` — contiene le impostazioni usate dal plugin Tools Menu Addition.

### File di configurazione usati dal plugin Documentazione

- `docchmpluginrc` — contiene le informazioni relative ai file di aiuto &Microsoft; CHM definite nella finestra di configurazione Raccolta Documentazione CHM.

- `doccustompluginrc` — contiene le informazioni sui file di documentazione personalizzati definite nella finestra Raccolta documentazione personalizzata.

- `docdevhelppluginrc` — contiene le informazioni sui file di documentazione DevHelp di GNOME 2 definite nella finestra Raccolta documentazione DevHelp.

- `docdoxygenpluginrc` — contiene le informazioni sulla documentazione API generata da Doxygen definite nella finestra Raccolta documentazione Doxygen.

- `dockdevtocpluginrc` — contiene le informazioni sui file di documentazione KDevelopTOC definite nella finestra TOC della raccolta documentazione KDevelop.

- `docqtpluginrc` — contiene le informazioni sui file della documentazione Qt inclusi nella finestra Raccolta documentazione Qt.

## Configurazione del progetto

La maggior parte della configurazione del progetto viene conservata nei file di configurazione `<nome-progetto>.kdevelop` e `<nome-progetto>.kdevses` invece che in file separati come le altre configurazioni globali. Questi file contengono:

- `<nome-progetto>.kdevelop` — informazioni sulla configurazione globale del progetto.
- `<nome-progetto>.kdevses` — informazioni sulla configurazione necessarie per ripristinare i comportamenti specifici della sessione in esecuzione.

Sono file in formato &XML;; possono essere visualizzati e modificati (con cautela) con qualunque editor di testo.

## File contenitori persistenti per il codice

Esiste un terzo file di configurazione del progetto, il contenitore persistente per il codice `<nome-progetto>.kdevelop.pcs`. È un file binario che contiene una cache per il parser in modo da velocizzare la sequenza di caricamento del progetto. Inoltre, il contenitore persistente per il codice conserva le informazioni usate dal componente Completamento codice.

Possono esistere ulteriori file di contenitore persistente per il codice nella linguetta Completamento codice della finestra di configurazione Specifica del C++. Le informazioni su questi file `.pcs` aggiuntivi vengono conservate globalmente nella directory `$KDEHOME/share/apps/kdevcppsupport/pcs/`.