# Lavorare con le estensioni

Kate usa due diversi tipi di estensione: quelle per l'applicazione completa di &kate;, e quelle per il solo componente editor. Queste ultime sono disponibili per qualsiasi applicazione usi il componente editor, come KDevelop, Quanta, Kile, Kwrite e molte altre. Le estensioni per l'applicazione sono invece specificamente per &kate;.

Puoi abilitare entrambi i tipi di estensioni nella finestra di configurazione, che dà anche accesso alle opzioni di configurazione aggiuntive per le estensioni che le richiedano.

Ci sono molte estensioni disponibili per diversi scopi, e puoi trovarne delle altre sul Web. Alcune sono distribuite assieme al componente editor, come le graffe automatiche, l'inserimento dei file, gli strumenti di dati, e l'esportazione di testo come &HTML;.

## Estensioni del componente editor

La scheda Estensioni della pagina omonima elenca tutte le estensioni disponibili, e puoi spuntare quelle che vuoi usare. Fai clic sul pulsante Informazioni per aprire la finestra Informazioni su... dell'estensione.

Una volta che un'estensione configurabile è spuntata, si attiva il pulsante Configura, e ci puoi fare clic per configurare l'estensione selezionata.

Graffe automatiche

- L'estensione per graffe automatiche sostituisce la funzionalità interna di &kate; per le parentesi automatiche. Inserisce automaticamente una graffa chiusa, }, in fondo alla riga successiva dopo aver concluso una riga con una aperta, {, e aver premuto il tasto &Enter;.

Strumenti per dati

- Abilita gli strumenti di dati come il dizionario dei sinonimi e il controllo ortografico (se installato). Gli strumenti di dati sono disponibili solo quando c'è del testo selezionato, o quando il &RMB; viene premuto su una parola. Se non sono presenti strumenti di dati, anche quando c'è del testo selezionato, devi installarli. Alcuni strumenti di dati fanno parte del pacchetto &koffice;. Se questa estensione è abilitata e gli strumenti di dati sono installati, appariranno degli altri elementi in fondo al menu contestuale.

Esportatore

- Questo comando permette di esportare il documento attuale con tutte le informazioni di evidenziazione in un documento HTML con File Esporta come HTML. Inoltre, puoi usare Modifica Copia come HTML per copiare il testo attualmente selezionato come HTML negli appunti di sistema.

Inserimento di icone

- L'estensione di inserimento delle icone è utile solo agli sviluppatori di &kde;: aggiunge un elemento Inserisci codice per KIcon nel menu contestuale dell'editor. Se attivo, si apre il menu di selezione delle icone di &kde; (mostrando le icone per le applicazioni, le azioni e così via). Se fai clic su una di esse, il suo nome del file senza estensione verrà inserito come testo. È utile solo per impostare le icone con l'infrastruttura di &kde; con la classe KIcon.

Redazione di HTML folle (non Zen, edizione leggera)

- Un'estensione che fa codice Zen come il completamento a selettori. Per maggiori informazioni vedi cos'è il codice Zen.

Inserisci file

- Questa estensione permette di inserire qualsiasi file leggibile alla posizione del cursore. Se abilitata, il menu Strumenti avrà l'ulteriore elemento Inserisci file.

## Estensioni dell'applicazione &kate;

Le estensioni di &kate; sono funzioni aggiuntive per l'editor &kate;. Possono aggiungere nuovi menu e scorciatoie, ed estendere le funzionalità di &kate;. Puoi installarne quante ne vuoi dall'interno di &kate;. Apri la finestra di configurazione di &kate; con Impostazioni Configura Kate.... Seleziona Applicazione Estensioni per scegliere quelle che vuoi.

Le estensioni per l'applicazione disponibili sono:

- Vista dello strumento Trova nei file: vista che permette di cercare in tutti i file aperti o nel filesystem;

- Browser di backtrace: vista dello strumento di navigazione dei backtrace;

- Cambio rapido dei documenti: passa rapidamente a un altro documento già aperto;

- Barra delle linguette: aggiunge una barra delle linguetta alla finestra principale di &kate;;

- Filtro di testo: filtraggio facile del testo;

- Visore di simboli: estrae e visualizza i simboli di riferimento dal sorgente;

- Browser del filesystem: vista dello strumento di navigazione del filesystem;

- Strumento visivo per terminale: vista che incorpora un terminale;

- Estensione CTags: cerca definizioni e dichiarazioni con CTags;

- Modelli di file: crea nuovi file partendo da dei modelli;

- Apri intestazioni: apri il file `.h/[.cpp|.c]`;

- Strumenti esterni

- Estensione di generazione: compila o esegui `make` ed elabora i messaggi d'errore;

- Invia file: invia file per posta elettronica;

- Frammenti di Kate: estensione per frammenti con supporto per il completamento del codice;

- Estensione Jovie di KTextEditor: aggiunge una voce del menu per pronunciare il testo;

- Validazione &XML;: valida i file &XML; con `xmllint`;

- Completamento &XML;: elenca elementi, attributi, valori di attributi ed entità permessi dalla DTD;

- Schedatura: aggiunge una barra delle linguette alla finestra principale di &kate;.

## Modelli di file

L'estensione per i modelli di file permette di creare file in base ad altri file.

Quando si installa &kate; per la prima volta, si deve abilitare l'estensione:

1. Fai clic su Impostazioni Configura Kate.

2. Nell'albero sulla sinistra, fai clic su Estensioni.

3. Nel pannello Gestore delle estensioni a destra, seleziona Modelli di file, e fai quindi clic su OK.

Si può ora usare qualsiasi file come modello (ciò crea una copia del file con un &URL; vuoto). Dei file modello speciali possono contenere macro per inserire informazioni come nomi, indirizzi di posta, la data attuale, e posizionare il cursore in un posto appropriato del nuovo file.

Si può facilmente creare un nuovo modello da un documento aperto.

I modelli salvati nella cartella dei modelli sono elencati nel menu File Nuovo da modello.

La cartella dei modelli fa parte del filesystem di &kde;, e consiste almeno di:

- `$`KDEDIR`/share/applications/kate/plugins/katefiletemplates/templates`

- `$`KDEHOME`/share/applications/kate/plugins/katefiletemplates/templates`

Se la variabile d'ambiente `KDEDIRS` contiene altre cartelle, saranno cercate delle sottocartelle simili anche in queste. Se vengono trovati modelli con lo stesso nome, viene scelto quello nella cartella locale (`$`KDEHOME``).

### Struttura dei menu

File Nuovo da modello Qualsiasi file

- Presenta il selettore dei file, che permette di usare qualsiasi file come modello. Se il file scelto ha l'estensione `.katetemplate`, verrà analizzato alla ricerca di informazioni del modello e di macro.

File Nuovo da modello

- Il resto dei sottomenu contiene dei collegamenti a modelli. Fai clic su un elemento per creare un file come descritto dal suo testo.

Impostazioni Gestisci modelli...

- Questo avvierà una finestra con un elenco di tutti i modelli trovati nelle cartelle dei modelli, insieme alle opzioni di aggiungerne, modificarli o rimuoverli.

### Usare un modello di &kate;

Quando si crea un file da un modello che contenga delle macro per modelli, alcune macro appaiono come variabili modificabili nel testo. Queste variabili appaiono nel testo come parole sottolineate.

La prima variabile sarà selezionata, quindi devi solo scrivere per modificarla. Se il testo del documento contiene più occorrenze della stessa variabile, vengono cambiate mentre la modifichi. Per andare alla variabile modificabile successiva, premi il tasto . Quando è stata modificata l'ultima variabile, l'elenco viene rimosso, e il tasto funziona come normale.

### Creare i tuoi modelli

Per creare un nuovo modello, usa l'elemento Impostazioni Gestisci modelli per avviare la finestra di gestione dei modelli. In questa, fai clic su Nuovo... per avviare l'assistente dei modelli di file. Verranno chiesti un file facoltativo da far diventare modello e le impostazioni delle sue informazioni, e sarà quindi creato un file modello.

In alternativa, puoi creare un modello manualmente aggiungendone le informazioni all'inizio di qualsiasi file, aggiungere testo e macro, e salvarlo con l'estensione `.katetemplate`.

Il menu dei modelli viene aggiornato automaticamente se scegli di salvare il modello nella cartella dei modelli.

### Modificare i modelli

Per modificare un modello, usa Impostazioni Gestisci modelli.... Seleziona il modello sul quale vuoi lavorare e fai clic su Modifica..., e il file del modello verrà aperto. Chiudi la finestra, modifica il file del modello come desideri, salvalo e chiudilo. I cambiamenti ai modelli hanno effetto immediato, puoi attivare il modello per provare le modifiche dopo averlo salvato.

### Il formato dei modelli di &kate;

Se usi dei file con estensione `.katetemplate`, saranno analizzati alla ricerca di informazioni, macro del modello e una posizione del cursore.

#### Informazioni del modello

Leggendo nel file, il programma di analisi tiene da parte le righe che cominciano per `katetemplate:` e ci cerca le informazioni di modello nella forma `nome_variabile`=`valore`. La prima riga che non comincia per `katetemplate:` sarà considerata l'inizio dei contenuti del modello. `valore` può contenere qualsiasi carattere tranne il segno di uguale (=). I nomi di variabile ammessi sono:

`Template`

- Questo è il nome del modello, mostrato nel menu File Nuovo da modello.

`Group`

- Il gruppo posiziona il modello in un sottomenu del menu File Nuovo da modello.

`Name`

- Questo è il nome che sarà impostato per il documento, e mostrato nell'elenco dei file e nella barra del titolo. Se il nome contiene `%N`, questo verrà rimpiazzato con un numero, aumentandolo se ci sono altri documenti con lo stesso nome.

`Highlight`

- L'estensione cercherà di impostare l'evidenziazione del nuovo documento al valore di questa variabile. Il valore dovrebbe essere un nome, come si trova nel menu Strumenti Modalità di evidenziazione.

`Description`

- Una breve descrizione informativa del modello. È attualmente usata per impostare una stringa Che cos'è? per l'elemento del menu, ma potrà essere usata per altre cose in futuro.

Author

- Una stringa che identifica l'autore, per esempio nella forma `Nome <indirizzo di posta>`. È attualmente usata per impostare una stringa Che cos'è? per l'elemento del menu, ma potrà essere usata per altre cose in futuro.

#### Macro dei modelli

Nell'analisi dei contenuti del modello, vengono espanse le macro nella forma `%{`nome`}` o `${`nome`}`. Se usi il prefisso `$`, la macro espansa sarà trattata come variabile modificabile quando viene creato un documento dal modello, mentre se usi `%` non lo sarà, a meno che l'espansione non riesca.

Vengono espanse le macro seguenti:

time

- Si espande nell'ora attuale nel formato locale.

date

- Si espande alla data attuale nel formato breve.

datetime

- Si espande alle data e ora correnti, formattate come una stringa secondo le impostazioni locali.

year

- L'anno corrente come numero di quattro cifre.

month

- Il nome completo del mese corrente, secondo la localizzazione.

day

- Si espande all'attuale giorno del mese.

hostname

- Si espande al nome host del computer.

index

- Si espande a `i`.

fullname

- Si espande al tuo nome completo, come definito nell'indirizzo del proprietario nella rubrica di &kde;.

firstname

- Si espande al tuo nome, come definito nell'indirizzo del proprietario nella rubrica di &kde;.

lastname

- Si espande al tuo cognome, come definito nell'indirizzo del proprietario nella rubrica di &kde;.

email

- Si espande al tuo indirizzo di posta elettronica, come definito nell'indirizzo del proprietario nella rubrica di &kde;.

Qualsiasi macro al di fuori dall'elenco qui sopra è trattata come modificabile, indipendentemente dal prefisso. Se la stessa variabile ricorre più volte nel modello, può essere modificata immediatamente dopo aver creato un documento dal modello.

#### Impostare la posizione del cursore

La macro speciale `${cursor}` sarà sostituita con una barra verticale e aggiunta alla fine dell'elenco delle variabili modificabili, indipendentemente dalla sua posizione nel testo.

### Ringraziamenti e riconoscimenti

Estensione di &kate; Modelli di file, copyright 2004 di &Anders.Lund; &Anders.Lund.mail;.

Copyright della documentazione 2004 di &Anders.Lund;.

## Validazione &XML;

Questa estensione controlla che i file &XML; siano validi e scritti in forma corretta.

L'estensione controlla il file attuale. Sul fondo della finestra principale di &kate; apparirà un elenco di avvertimenti ed errori. Puoi fare clic su un messaggio d'errore per saltare al punto corrispondente nel file. Se il file ha un DOCTYPE, si userà il suo DTD per controllarne la validità. Ci si aspetta che il DTD sia in posizione relativa al file attuale: per esempio se il doctype si riferisce a `DTD/xhtml1-transitional.dtd` e il file è `/home/pippo/prova.xml`, ci si aspetta che il DTD sia a `/home/pippo/DTD/xhtml1-transitional.dtd`. Comunque, sono supportati anche i DTD remoti specificati con http.

Se il file non ha un doctype, ne sarà controllata la corretta formattazione.

Per saperne di più su &XML;, vedi le pagine ufficiali del W3C su &XML;.

Internamente, questa estensione chiama il comando esterno `xmllint`, che fa parte di libxml2. Se questo comando non è correttamente installato sul sistema, l'estensione non funzionerà.

Deve essere scritto un file temporaneo nella stessa cartella del file che viene controllato, quindi avrai bisogno dell'accesso in scrittura a quella cartella.

Per caricare questa estensione apri la finestra di configurazione di &kate; sotto Impostazioni Configura Kate.... Seleziona quindi Validazione XML che apparirà nella sezione Estensioni, sotto Applicazione, e chiudi la finestra.

### Struttura dei menu

XML Convalida XML

- Questo avvierà il controllo, come sopra descritto.

### Ringraziamenti e riconoscimenti

Estensione di &kate; Validazione XML, copyright 2002 di &Daniel.Naber; &Daniel.Naber.mail;.

Copyright 2002 della documentazione di &Daniel.Naber;

## Completamento &XML;

Questa estensione suggerisce cosa è ammissibile in un certo punto di un file &XML;, secondo la DTD del file. Elencherà i possibili elementi, attributi, valori degli attributi o entità a seconda della posizione del cursore (per esempio, se il carattere a sinistra del cursore è &, vengono elencate tutte le entità). È anche possibile chiudere l'ultimo tag aperto a sinistra.

La DTD deve esistere in formato &XML;, come prodotta dal programma Perl `dtdparse`. Indicheremo una tale DTD come meta-DTD. Sono fornite alcune meta-DTD; sono installate in `$`KDEDIR`/share/apps/katexmltools/`, che è anche la cartella predefinita alla selezione di Assegna meta-DTD. Per produrre le tue meta-DTD, recupera `dtdparse` da questo indirizzo.

### Uso

Avvia &kate; e apri apri la finestra di configurazione sotto Impostazioni Configura Kate. Seleziona quindi Completamento XML che apparirà nella sezione Estensioni, sotto Applicazione, e chiudi la finestra. Dopodiché, seleziona XML Assegna meta-DTD. Se il documento non contiene nessun DOCTYPE o questo è ignoto, dovrai selezionare una meta-DTD dal filesystem. Altrimenti, la meta-DTD corrispondente al DOCTYPE del documento attuale sarà automaticamente caricata.

Puoi ora usare l'estensione mentre scrivi del testo:

< (minore)

- Questo attiverà un elenco di elementi possibili, a meno che il cursore sia già dentro a un tag. Nota che attualmente non puoi usarlo per inserire degli elementi di massimo livello (per esempio <html>).

</ (minore e sbarra)

- Inserire questi caratteri chiuderà l'elemento attuale (l'ultimo aperto a sinistra del cursore). Premi &Enter; per accettare il suggerimento. Al contrario dell'elemento del menu Chiudi elemento, questo funziona solo quando è stata assegnata una DTD.

" (virgolette)

- Il tasto delle virgolette attiverà un elenco di valori possibili per gli attributi (se ce ne sono) se sei all'interno di un tag.

(spazio)

- Questo tasto attiverà un elenco di attributi possibili per l'elemento attuale se sei dentro a un tag.

& (e commerciale)

- Questo tasto attiverà un elenco di entità.

### Funzionalità e limiti

Puoi provare tutte le funzioni e i limiti caricando in &kate; `$`KDEDIR`/share/apps/katexmltools/testcases.xml` e seguendo le istruzioni.

### Struttura dei menu

&Ctrl;&Enter; XML Inserisci elemento

- Questo aprirà una finestra che permette di inserire un elemento &XML;. Saranno inseriti automaticamente i caratteri <, > e il tag di chiusura. Se avevi selezionato del testo al momento della selezione di questo elemento del menu, il testo sarà incluso tra i tag di apertura e chiusura. La finestra offre il completamento per tutti gli elementi che possono essere inseriti alla posizione attuale del cursore se hai assegnato una meta-DTD con Assegna meta-DTD.

&Ctrl;< XML Chiudi elemento

- Questo cercherà nel testo un tag non ancora chiuso e lo chiuderà inserendone il tag di chiusura corrispondente. La ricerca parte alla posizione del cursore e va verso sinistra. Se non è possibile trovare un tag aperto, non succederà nulla.

XML Assegna meta-DTD

- Questo dirà all'estensione quale meta-DTD usare per il documento attuale. Nota che questa assegnazione non verrà salvata. La dovrai ripetere al prossimo riavvio di &kate;.

### Ringraziamenti e riconoscimenti

Estensione di &kate; Completamento XML, copyright 2001, 2002 di &Daniel.Naber; &Daniel.Naber.mail;.

Copyright della versione per KDE SC 4 2010 di Tomáš Trnka

Copyright 2001, 2002 della documentazione di &Daniel.Naber;