<chapter id="plugins">

<chapterinfo>
<authorgroup>
<author
>&Anders.Lund; &Anders.Lund.mail;</author>
<othercredit role="translator"
><firstname
>Paolo</firstname
><surname
>Zamponi</surname
><affiliation
><address
><email
>zapaolo@email.it</email
></address
></affiliation
><contrib
>Traduzione e manutenzione della documentazione</contrib
></othercredit
><othercredit role="translator"
><firstname
>Vincenzo</firstname
><surname
>Reale</surname
> <affiliation
><address
><email
>smart2128@baslug.org</email
></address
></affiliation
><contrib
>Traduzione della documentazione</contrib
></othercredit
><othercredit role="translator"
><firstname
>Nicola</firstname
><surname
>Ruggero</surname
><contrib
>Traduzione della documentazione</contrib
></othercredit
><othercredit role="translator"
><firstname
>Federico</firstname
><surname
>Zenith</surname
><affiliation
><address
><email
>federico.zenith@member.fsf.org</email
></address
></affiliation
><contrib
>Traduzione della documentazione</contrib
></othercredit
> 
</authorgroup>
</chapterinfo>

<title
>Lavorare con le estensioni</title>

<para
>&kate; ha molte estensioni, ma essenzialmente di due tipi: alcune sono scritte in C++ nativo, altre invece nel linguaggio di programmazione Python. Esistono delle sottili differenze tra questi, come descritto qui sotto.</para>

<para
>Puoi abilitare qualsiasi tipo di estensione nella <link linkend="configuring-kate-configdialog"
>finestra di configurazione</link
>, che dà anche accesso ad opzioni di configurazione aggiuntive, se richieste dalle estensioni.</para>

<sect1 id="kate-application-plugins">
<title
>Estensioni dell'applicazione &kate;</title>

<!-- from doc/kate-addons/index.docbook -->
<para
>Le estensioni di &kate; sono funzioni aggiuntive per l'editor &kate;. Possono aggiungere nuovi menu e nuove scorciatoie, ed estendere le funzionalità di &kate;. Puoi installarne quante ne vuoi, e dall'interno di &kate;: apri la finestra di configurazione di &kate; con <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Configura Kate...</guimenuitem
></menuchoice
>, seleziona <menuchoice
><guimenu
>Applicazione</guimenu
><guimenuitem
>Estensioni</guimenuitem
></menuchoice
> e scegli quelle che vuoi. </para>

<para
>Le estensioni per l'applicazione disponibili sono: </para>
<itemizedlist>
<listitem>
<para
><link linkend="kate-application-plugin-backtracebrowser"
>Navigatore backtrace</link
> - vista dello strumento di navigazione dei backtrace C/C++</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-build"
>Estensione di compilazione</link
> - compila o esegue il <command
>make</command
> ed elabora i messaggi d'errore</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-closeexceptlike"
>Chiudi escludendo/includendo</link
> - chiude un gruppo di documenti basati su un percorso comune, o su un'estensione di file</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-ctags"
>CTags</link
> - cerca definizioni e dichiarazioni con CTags</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-preview"
>Anteprima del documento</link
> - anteprima del documento nel formato di destinazione</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-documentswitcher"
>Scambiatore di documenti</link
> - sfoglia rapidamente i documenti per mezzo della combinazione <keycombo action="simul"
>&Alt; &Tab;</keycombo
></para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-fsbrowser"
>Selettore dei file</link
> - vista dello strumento Selettore dei file</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-documents"
>Vista Albero dei documenti</link
> - visualizza i file aperti in un albero di file</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-gdb"
>&gdb;</link
> - fornisce una semplice interfaccia a &gdb;</para>
</listitem>
<!--from workspace/plasma-sdk, why picked up here?
<listitem>
<para
>Icon picker - Invokes Cuttlefish icon picker</para>
</listitem>
-->
<listitem>
<para
><link linkend="kate-application-plugin-openheader"
>Apri intestazioni</link
> - Apre il corrispondente file .h/[.cpp|.c]</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-projects"
>Estensione di progetto</link
> - integrazione con Git e con altri sistemi di controllo del sorgente</para>
</listitem>
<listitem>
<para
>Replicode - linguaggio costruttivista per IA ed l'esecuzione</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-lspclient"
>Client LSP</link
> - il client LSP fornisce navigazione e completamento del codice per molti linguaggi</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-searchinfiles"
>Cerca e sostituisci</link
> - cerca e sostituisci nei documenti, nelle cartelle o nei progetti</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-snippets"
>Vista strumento per i frammenti di testo</link
> - Vista dello strumento che incorpora la gestione dei frammenti</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-sql"
>Estensione SQL</link
>: interroga le banche dati SQL</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-symbolviewer"
>Visore di simboli</link
> - estrae e visualizza i simboli di riferimento dal sorgente</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-konsole"
>Vista strumento Terminale</link
> - hai un terminale pronto all'uso, usando l'oggetto Konsole di KDE</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-textfilter"
>Filtro di testo</link
> - elabora il testo usando comandi da terminale</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-xmltools"
>Completamento &XML;</link
> - elenca gli elementi, gli attributi, i valori di attributi e le entità &XML; permesse da DTD.</para>
</listitem>
<listitem>
<para
><link linkend="kate-application-plugin-xmlcheck"
>Validazione &XML;</link
> - valida i file &XML; con xmllint</para>
</listitem>
</itemizedlist>
</sect1>

<sect1 id="kate-application-plugin-backtracebrowser">
<!--https://kate-editor.org/2008/08/12/kate-fast-backtrace-navigation/-->
<title
>Estensione per il Navigatore backtrace</title>

<sect2 id="backtracebrowser-using">
<title
>Usare l'estensione Navigatore backtrace</title>

<para
>Questa estensione è destinata più agli sviluppatori che agli utenti: mostra in uno strumento visivo di &kate; il backtrace consegnato da gdb in una vista a elenco: facendo clic su di un elemento si apre il file selezionato al numero di riga corretto. Funziona solo per i backtrace generati sulla tua macchina, ma funzionerà anche sui backtrace di altre, &ie; verrà trovato <filename
>/home/dummy/qt-copy/…/qwidget.cpp</filename
> anche su altre macchine. Affinché questo funzioni devi indirizzare le cartelle in cui è localizzato il codice sorgente. </para>

<para
>A volte ci sono più file con lo stesso nome, &eg;</para>

<simplelist>
<member
><filename
>kdegraphics/okular/generators/dvi/config.h</filename
></member>
<member
><filename
>kdepim-runtime/resources/gmail/saslplugin/config.h</filename
></member>
</simplelist>

<para
>Per selezionare quello giusto l'estensione prende le ultime due parti dell'url, che in questo caso sarebbero</para>

<simplelist>
<member
><filename
>dvi/config.h</filename
></member>
<member
><filename
>saslplugin/config.h</filename
></member>
</simplelist>

<para
>E quindi di solito l'estensione trova quello giusto.</para>

<para
>L'indicizzazione di master e di altri rami porterà ovviamente ad un conflitto.</para>

</sect2>

<sect2 id="backtracebrowser-config">
<title
>Configurazione</title>

<para
>Aggiungi le cartelle che contengono il codice sorgente nella pagina di configurazione.</para>

<screenshot id="screenshot-backtrace-settings">
<screeninfo
>Navigatore backtrace</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="backtrace-settings.png" format="PNG"/></imageobject>
<caption
>Configura i percorsi nella vista dello strumento di navigazione Backtrace</caption>
</mediaobject>
</screenshot>

<para
>Un clic su <guibutton
>OK</guibutton
> fa iniziare l'indicizzazione; apri lo strumento visivo <guilabel
>Navigatore Backtrace</guilabel
> quando questa finisce.</para>
<para
>Ora puoi caricare un backtrace dagli appunti (&eg;, quando fai clic su <guibutton
>Copia negli appunti</guibutton
> in DrKonqi), o da un file.</para>

</sect2>

</sect1>

<sect1 id="kate-application-plugin-build">
<!--http://kate-editor.org/2011/06/21/kate-plugin-updates-part-1/ -->
<sect1info>
<authorgroup>
<author
><firstname
>Salma</firstname
> <surname
>Sultana</surname
></author>
<author
>&TC.Hollingsworth; &TC.Hollingsworth.mail;</author>
</authorgroup>
</sect1info>
<title
>Estensione di generazione</title>

<sect2 id="build-intro">
<title
>Introduzione</title>

<para
>L'estensione di generazione ti permette di eseguire azioni come la generazione, la pulizia e la compilazione di un progetto.</para>

</sect2>

<sect2 id="build-using">
<title
>Usare l'estensione di generazione</title>

<para
>L'estensione di generazione aggiunge la vista dello strumento <guilabel
>Output compilazione</guilabel
> in basso, ed un menu <guimenu
>Compila</guimenu
> nella barra dei menu. La vista dello strumento può essere usata per configurare le impostazioni degli obiettivi della compilazione, mentre il menu può essere usato per effettuare le azioni di generazione, di pulizia e di compilazione.</para>

<screenshot id="screenshot-build-output">
<screeninfo
>Output della compilazione</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="build-output.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>La vista dello strumento <guilabel
>Output compilazione</guilabel
> ha due schede:</para>

<itemizedlist>
<listitem
><para
><guilabel
>Impostazioni obiettivo</guilabel
></para
></listitem>
<listitem
><para
><guilabel
>Output</guilabel
></para
></listitem>
</itemizedlist>

<sect3 id="build-using-target-settings">
<title
>Scheda delle impostazioni degli obiettivi</title>

<para
>La scheda delle impostazioni dell'obiettivo può essere usata per configurare i vari obiettivi della compilazione e per definire gli insiemi degli obiettivi.</para>

<para
>Per cambiare i nomi o i comandi fai doppio clic sulle voci nella tabella e usa la casella a tendina per selezionare l'insieme degli obiettivi attivi; se invece spunti la casella davanti ad un obiettivo, allora lo definisci come predefinito.</para>

<para
>Un nuovo insieme di obiettivi contiene molte opzioni di configurazione:</para>

<variablelist>
<varlistentry>
<term
><guilabel
>Cartella di lavoro</guilabel
></term>
<listitem
><para
>Qui puoi impostare il percorso del progetto; lascialo vuoto se vuoi usare la cartella in cui si trova il documento corrente.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Compila</guilabel
></term>
<listitem
><para
>Questa opzione ti permette di definire il comando di compilazione; l'impostazione predefinita è <command
>make</command
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Pulisci</guilabel
></term>
<listitem
><para
>Questa opzione ti permette di definire il comando di pulizia; l'impostazione predefinita è <command
>make clean</command
>.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Configurazione</guilabel
></term>
<listitem
><para
>Questa opzione permette di definire il comando di configurazione; l'impostazione predefinita è <command
>cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/usr/local ../</command
>.</para
></listitem>
</varlistentry>
</variablelist>

<para
>In alto questa estensione ha una barra degli strumenti, con i seguenti pulsanti:</para>

<simplelist>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="dialog-ok-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Compila l'obiettivo selezionato</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="list-add-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Aggiungi un nuovo obiettivo di compilazione</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="document-new-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Crea un nuovo insieme di obiettivi</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="edit-copy-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Copia un comando o un insieme di obiettivi</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="edit-delete-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Elimina il comando o l'insieme degli obiettivi attuali</member>
</simplelist>

</sect3>

<sect3 id="build-using-output">
<title
>Scheda dell'output</title>

<para
>La scheda <guilabel
>Output</guilabel
> mostra l'output della console generato dall'ultimo comando.</para>

<para
>Usa il cursore presente nella parte superiore per mostrare o nascondere alcune categorie di output:</para>

<para
><guilabel
>Output compilazione completo</guilabel
>, <guilabel
>Output compilazione ottimizzato</guilabel
>, <guilabel
>Errori ed avvisi</guilabel
> oppure <guilabel
>Solo errori</guilabel
> </para>

<para
>Ogni riga contiene un messaggio e, se disponibili, il nome del file e il numero di riga. Facendo clic sull'errore o sull'avviso vieni portato al file appropriato, e il cursore si trova già sulla riga corrispondente.</para>

<para
>Per andare all'errore precedente premi <keycombo action="simul"
>&Alt;&Shift;&Left;</keycombo
>, mentre per andare al successivo premi <keycombo action="simul"
>&Alt;&Shift;&Right;</keycombo
>.</para>

</sect3>
</sect2>

<sect2 id="build-menu">
<title
>Struttura del menu</title>

<variablelist id="build-build">
<varlistentry>
<term
><menuchoice id="build-targets"
><guimenu
>Compila</guimenu
><guimenuitem
>Seleziona obiettivo...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Seleziona da un elenco di obiettivi configurato dall'utente.</para
></listitem>
</varlistentry>

<varlistentry id="build-default">
<term
><menuchoice
><guimenu
>Compila</guimenu
> <guimenuitem
>Compila l'obiettivo predefinito</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Compila l'obiettivo definito come predefinito nell'insieme degli obiettivi attivi.</para
></listitem>
</varlistentry>

<varlistentry id="build-previous">
<term
><menuchoice
><guimenu
>Compila</guimenu
> <guimenuitem
>Compila l'obiettivo precedente</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Passa al precedente obiettivo configurato dall'utente.</para
></listitem>
</varlistentry>

<varlistentry id="build-stop">
<term
><menuchoice
><guimenu
>Compila</guimenu
> <guimenuitem
>Ferma</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Ferma la compilazione di un obiettivo.</para
></listitem>
</varlistentry>

<varlistentry id="build-previous-error">
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl;&Alt;<keycap
>←</keycap
></keycombo
></shortcut
> <guimenu
>Compila</guimenu
><guimenuitem
>Errore precedente</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Sposta il cursore sull'errore precedente nel documento.</para
></listitem>
</varlistentry>

<varlistentry id="build-next-error">
<term
><menuchoice
><shortcut
><keycombo action="simul"
> &Ctrl;&Alt;<keycap
>→</keycap
></keycombo
></shortcut
> <guimenu
>Compila</guimenu
><guimenuitem
>Errore successivo</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Sposta il cursore sull'errore successivo nel documento.</para
></listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2 id="build-ack">
<title
>Ringraziamenti e riconoscimenti</title>
<para
>L'estensione di compilazione di &kate; è stata scritta da Kåre Särs.</para>
<para
>Ringraziamenti speciali vanno alla partecipante del Google Code-In 2011, Salma Sultana, per aver scritto la gran parte di questa sezione.</para>
</sect2>
</sect1>

<sect1 id="kate-application-plugin-closeexceptlike">

<title
>Estensione di chiusura per gruppo</title>

<sect2 id="closeexceptlike-intro">
<title
>Introduzione</title>

<para
>Questa estensione ti permette di chiudere un gruppo di documenti in base alla loro estensione e al loro percorso.</para>

</sect2>

<sect2 id="closeexceptlike-using">
<title
>Usare l'estensione di chiusura per gruppo</title>

<para
>Assumendo che tu abbia questi documenti aperti in &kate;:</para>

<simplelist>
<member
>/tmp/subfolder/test.h</member>
<member
>/tmp/test.cpp</member>
<member
>/tmp/test.txt</member>
</simplelist>

<para
>Allora hai le seguenti opzioni per chiudere i documenti, come visualizzato nella schermata successiva:</para>

<screenshot id="screenshot-closeexceptlike">
<screeninfo
>Chiudi tranne</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="close-except-like.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>Usa la casella nell'ultima voce della lista per abilitare o disabilitare una finestra di conferma. Le opzioni selezionate saranno applicate ad entrambe le azioni di chiusura. </para>

</sect2>

<sect2 id="closeexceptlike-menu">
<title
>Struttura del menu</title>

<variablelist>
<varlistentry id="file-close-except">
<term
><menuchoice
><guimenu
>File</guimenu
> <guisubmenu
>Chiudi tranne</guisubmenu
> </menuchoice
></term>
<listitem>
<para
><action
>Chiude</action
> tutti i documenti <emphasis
>tranne</emphasis
> quelli con il percorso o l'estensione selezionati dal sotto-menu.</para>
</listitem>
</varlistentry>

<varlistentry id="file-close-like">
<term
><menuchoice
><guimenu
>File</guimenu
> <guisubmenu
>Chiudi simili</guisubmenu
> </menuchoice
></term>
<listitem>
<para
><action
>Chiude</action
> tutti i documenti con il percorso o l'estensione selezionati nel sotto-menu.</para>
</listitem>
</varlistentry>

</variablelist>

</sect2>

</sect1>


<sect1 id="kate-application-plugin-ctags">
<!--https://kate-editor.org/2012/11/02/using-the-projects-plugin-in-kate/-->
<title
>Estensione CTags</title>

<sect2 id="ctags-intro">
<title
>Introduzione</title>

<para
><ulink url="https://en.wikipedia.org/wiki/Ctags"
>CTags</ulink
> genera un file indice (o tag) di oggetti del linguaggio trovati nei file sorgente, che permette a queste voci di essere velocemente e facilmente localizzate da &kate; per mezzo di questa estensione. </para>
<para
>Un tag è un oggetto del linguaggio per il quale è disponibile una voce indice (o in alternativa la voce indice creata per quell'oggetto).</para>

<para
>La generazione di tag è supportata per questi <ulink url="http://ctags.sourceforge.net/languages.html"
>linguaggi di programmazione</ulink
>. </para>
</sect2>

<sect2 id="ctags-config">
<title
>Configurazione</title>

<para
>L'estensione CTags usa due diversi file di banca dati per l'indice.</para>

<para
>Nella pagina delle impostazioni di CTags nella configurazione di &kate; puoi aggiungere o rimuovere le cartelle contenenti il codice sorgente e rigenerare la banca dati comune di CTags.</para>

<sect3 id="ctags-config-common">
<title
>Indice comune</title>

<screenshot id="screenshot-ctags-global-settings">
<screeninfo
>Impostazioni di CTags</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="ctags-global-setting.png" format="PNG"/></imageobject>
<caption
>Configurare la banca dati globale di CTags</caption>
</mediaobject>
</screenshot>

<para
>In basso alla pagina delle impostazioni puoi adattare il <guilabel
>comando CTags</guilabel
>. </para>

<para
>Per ulteriori informazioni su tutte le opzioni disponibili leggi le pagine man di CTags, che sono presenti nel &khelpcenter;; puoi anche digitare l'&URL; <emphasis
>man/:ctags</emphasis
> direttamente in &konqueror; </para>

<para
>L'indicizzazione inizia facendo clic su <guibutton
>Aggiorna</guibutton
>; quando finisce chiudi la finestra.</para>
</sect3>

<sect3 id="ctags-config-session">
<title
>Sessione di indicizzazione</title>

<para
>Per configurare la sessione di indicizzazione apri la vista <guilabel
>CTags</guilabel
>.</para>

<variablelist>
<varlistentry>
<term
><menuchoice>
<guimenu
>Fonti indicizzazione</guimenu>
</menuchoice
></term>
<listitem>
<para
>In questa scheda puoi aggiungere o rimuovere le cartelle contenenti il codice sorgente e rigenerare manualmente la banca dati specifica per la sessione di CTags.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice>
<guimenu
>Banca dati</guimenu>
</menuchoice
></term>
<listitem>
<screenshot id="screenshot-ctags-session-settings">
<screeninfo
>Impostazioni della banca dati</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="ctags-session-setting.png" format="PNG"/></imageobject>
<caption
>Configurare la banca dati per la sessione di CTags</caption>
</mediaobject>
</screenshot>
<para
>Seleziona un altro file di banca dati di CTags, configura i comandi di CTags oppure ripristina quelli predefiniti.</para>
</listitem>
</varlistentry>

</variablelist>

</sect3>

</sect2>

<sect2 id="ctags-using">
<title
>Utilizzare l'estensione CTags</title>

<para
>Metti il puntatore del mouse sugli oggetti del linguaggio come le funzioni, i simboli &etc; a cui sei interessato e seleziona una delle azioni dal menu <guimenu
>CTags</guimenu
>: salterai alla riga del file dove l'oggetto è stato definito o dichiarato.</para>
<para
>Le azioni del menu <guimenu
>CTags</guimenu
> non hanno nessuna scorciatoia predefinita; per configurarle usa l'<ulink url="help:/fundamentals/shortcuts.html"
>editor di scorciatoie da tastiera</ulink
>.</para>

<para
>In alternativa puoi usare il campo di ricerca nella scheda <guilabel
>Ricerca</guilabel
> della vista CTags.</para>
<para
>Digitando dei caratteri nel campo di ricerca, questa inizierà: saranno visualizzati i nomi corrispondenti degli oggetti del linguaggio, come funzioni, classi, simboli &etc;, insieme al tipo ed al nome del file.</para>
<para
>Seleziona una voce nella lista per saltare nel file sorgente alla riga corrispondente.</para>
<!--FIXME why Tag Type here but Name Kind in Project plugin, is there really any difference?-->

<!--FIXME completion as in Project plugin? -->

</sect2>

<sect2 id="ctags-menu">
<title
>Struttura del menu</title>

<variablelist>

<varlistentry id="ctags-jumpback">
<term
><menuchoice
><guimenu
>CTags</guimenu
> <guisubmenu
>Torna indietro di un passo</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Torna indietro all'ultimo tag visitato nella cronologia.</para>
</listitem>
</varlistentry>

<varlistentry id="ctags-lookup">
<term
><menuchoice
><guimenu
>CTags</guimenu
> <guisubmenu
>Cerca testo corrente</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Apre la scheda <guilabel
>Ricerca</guilabel
> della vista CTags e visualizza tutti gli oggetti del linguaggio corrispondenti all'attuale selezione di testo nella lista.</para>
</listitem>
</varlistentry>

<varlistentry id="ctags-gotodeclaration">
<term
><menuchoice
><guimenu
>CTags</guimenu
> <guisubmenu
>Vai alla dichiarazione</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Se il cursore è su una definizione di oggetto allora il documento contenente la dichiarazione dello stesso si aprirà, se necessario, e sarà attivata la sua vista, con il cursore posizionato all'inizio della dichiarazione.</para>
</listitem>
</varlistentry>

<varlistentry id="ctags-gotodefinition">
<term
><menuchoice
><guimenu
>CTags</guimenu
> <guisubmenu
>Vai alla definizione</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Se il cursore è su una dichiarazione di oggetto, questa aprirà il documento contenente la dichiarazione dello stesso, se necessario, e attiverà la sua vista, con il cursore all'inizio della definizione.</para>
</listitem>
</varlistentry>

</variablelist>

<!--context menu with Lookup Current Text, Goto Declaration, Goto Definition -->

</sect2>

</sect1>
<!--https://frinring.wordpress.com/2017/11/07/ktexteditorpreviewplugin-0-2-1-last-stand-alone/-->
<!-- https://frinring.wordpress.com/2017/08/21/look-what-you-have-donewwdo/-->
<sect1 id="kate-application-plugin-preview">
<title
>Estensione per l'anteprima del documento</title>

<sect2 id="preview-introduction">
<title
>Introduzione</title>
<para
>Questa estensione abilita un'anteprima in diretta del documento di testo attualmente modificato; questo avviene nella barra laterale nel suo formato finale. Quindi il risultato sarà immediatamente visibile vicino al testo sorgente quando, ad esempio, modifichi un testo Markdown o un'immagine SVG. </para>

<para
>Per la visualizzazione viene utilizzata l'estensione KParts che è attualmente selezionata come preferita per il tipo &MIME; del documento. L'anteprima non è quindi possibile se non c'è nessuna estensione KParts per quel tipo. </para>

<para
>Per cambiare l'estensione preferita apri il modulo <guilabel
>Associazioni dei file</guilabel
> nelle &systemsettings; e modifica l'<guilabel
>Ordine di preferenza dei servizi</guilabel
> nella scheda <guilabel
>Integrazione</guilabel
>. </para>

<table>
<title
>Alcune estensioni KParts disponibili</title>
<tgroup cols="2">
<tbody>
<row>
<entry
>Tipo &MIME;</entry
><entry
>Estensione KParts</entry>
</row>
<row>
<entry
>Testo Markdown</entry
><entry
>KMarkdownWebViewPart oppure OkularPart</entry>
</row>
<row>
<entry
>Immagine SVG</entry
><entry
>SVGPart</entry>
</row>
<row>
<entry
>File UI di &Qt;</entry
><entry
>KUIViewerPart</entry>
</row>
<row>
<entry
>File grafi DOT</entry
><entry
>KGraphviewerPart</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>

<sect2 id="preview-menu">
<title
>Struttura del menu</title>
<variablelist>

<varlistentry id="view-toolviews-show-preview">
<term
><menuchoice
><guimenu
>Visualizza</guimenu
><guisubmenu
>Viste degli strumenti</guisubmenu
><guimenuitem
>Mostra anteprima</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Mostra o nasconde in una barra laterale l'anteprima del documento di &kate;.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="preview-interface">
<title
>Interfaccia</title>
<para
>I pulsanti nella parte alta della finestra dell'anteprima forniscono queste azioni: </para>
<itemizedlist>
<listitem>
<para
>Blocca l'anteprima su un certo documento. Selezionando questa opzione ti assicuri che, se il fuoco passa ad un altro documento nella stessa finestra di &kate;, l'anteprima non seguirà quel documento ma rimarrà invece sul precedente.</para>
</listitem>
<listitem>
<para
>Abilita o disabilita l'aggiornamento del contenuto dell'anteprima del documento corrente</para>
</listitem>
<listitem>
<para
>Aggiorna manualmente il contenuto dell'anteprima del documento corrente</para>
</listitem>
<listitem>
<para
>Un menu a discesa con delle azioni dall'estensione KParts</para>
</listitem>
</itemizedlist>
</sect2>

</sect1>

<sect1 id="kate-application-plugin-documentswitcher">

<title
>Estensione per lo scambio dei documenti</title>

<sect2 id="documentswitcher-menu">
<title
>Struttura del menu</title>

<variablelist>

<varlistentry id="view-documentswitcher">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;&Tab;</keycombo
> </shortcut
> <guimenu
>Visualizza</guimenu
> <guisubmenu
>Ultime viste usate</guisubmenu
> </menuchoice
></term>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;&Shift;&Tab;</keycombo
> </shortcut
> <guimenu
>Visualizza</guimenu
> <guisubmenu
>Ultime viste usate (Opposto)</guisubmenu
> </menuchoice
></term>
<listitem>

<para
><action
>Apre</action
> una lista con i documenti visualizzati di recente:</para>

<screenshot id="screenshot-documentswitcher">
<screeninfo
>Documenti visualizzati di recente</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="documentswitcher.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>Tieni il tasto &Ctrl; premuto ed usa &Tab; per scorrere avanti nell'elenco; premi anche il tasto &Shift; per invertire la direzione. </para>

<para
>Tieni premuta la scorciatoia <keycombo action="simul"
>&Ctrl;&Tab;</keycombo
> e potrai usare i tasti &Up;, &Down;, &Home; o &End; per spostarti nella lista. Se invece premi più volte un carattere, allora passerai su tutte le voci della lista che cominciano con quella lettera; rilasciando la scorciatoia andrai al documento che hai selezionato. </para>
</listitem>
</varlistentry>

</variablelist>

</sect2>

</sect1>


<sect1 id="kate-application-plugin-fsbrowser">

<title
>Selettore dei file</title>

<para
>Il selettore dei file è un visore di cartelle, che ti permette di aprire i file da una cartella visualizzata nel riquadro attuale.</para>

<sect2 id="fsbrowser-menu">
<title
>Struttura del menu</title>
<variablelist>

<varlistentry id="view-toolviews-show-filebrowser">
<term
><menuchoice
><guimenu
>Visualizza</guimenu
><guisubmenu
>Viste degli strumenti</guisubmenu
><guimenuitem
>Mostra il selettore dei file</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Mostra o nasconde il selettore dei file di &kate;.</para>
</listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2 id="fsbrowser-interface">
<title
>Interfaccia</title>

<para
>Dall'alto al basso, il selettore dei file è composto dai seguenti elementi:</para>

<variablelist>
<varlistentry>
<term
>Una barra degli strumenti</term>
<listitem>
<para
>Questa contiene i pulsanti standard per la selezione:</para>
<variablelist>
<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="go-previous-22.png" format="PNG"/></imageobject
></inlinemediaobject
> Indietro</guiicon
></term>
<listitem
><para
>Provoca l'esecuzione del comando <command
>cd</command
> nella cartella precedente nella cronologia. Questo pulsante è disabilitato se la cartella in questione non esiste.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="go-next-22.png" format="PNG"/></imageobject
></inlinemediaobject
> Avanti</guiicon
></term>
<listitem
><para
>Provoca l'esecuzione del comando <command
>cd</command
> nella cartella successiva nella cronologia. Questo pulsante è disabilitato se la cartella in questione non esiste.</para
></listitem>
</varlistentry>
<!--varlistentry>
<term
><guibutton
>Parent Folder</guibutton
></term>
<listitem
><para
>This will cause the folder view to <command
>cd</command
> to the immediate parent of the currently displayed
folder if possible.</para
></listitem>
</varlistentry-->
<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="bookmarks-22.png" format="PNG"/></imageobject
></inlinemediaobject
> Segnalibri</guiicon
></term>
<listitem
><para
>Apre un sotto-menu da cui puoi modificare o aggiungere i segnalibri, e anche aggiungere una nuova cartella di segnalibri.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="system-switch-user-22.png" format="PNG"/></imageobject
></inlinemediaobject
> Cartella del documento attuale</guiicon
></term>
<listitem
><para
>Questo pulsante fa eseguire alla vista delle cartelle il comando <command
>cd</command
> nella posizione in cui è contenuto il documento attualmente attivo, se possibile. Questo pulsante è disabilitato se il documento attivo è un nuovo file che non è ancora stato salvato, oppure se la cartella in cui risiede non è individuabile.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="games-config-options-22.png" format="PNG"/></imageobject
></inlinemediaobject
> Opzioni</guiicon
></term>
<listitem>
<variablelist>
<varlistentry>
<term
><guimenuitem
>Vista breve</guimenuitem
></term>
<listitem
><para
>Mostra solo i nomi dei file.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guimenuitem
>Vista dettagliata</guimenuitem
></term>
<listitem
><para
>Visualizza il <guilabel
>Nome</guilabel
>, la <guilabel
>Data</guilabel
> e la <guilabel
>Dimensione</guilabel
> dei file.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guimenuitem
>Vista ad albero</guimenuitem
></term>
<listitem
><para
>Come la vista breve, ma le cartelle possono essere espanse per visualizzarne i contenuti.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guimenuitem
>Vista ad albero dettagliata</guimenuitem
></term>
<listitem
><para
>Anche questa permette di espandere le cartelle, ma mostra le colonne aggiuntive disponibili nella vista dettagliata.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guimenuitem
>Mostra i file nascosti</guimenuitem
></term>
<listitem
><para
>Mostra i file che sono normalmente nascosti dal &OS;.</para
></listitem>
</varlistentry>
<varlistentry>
<term
><guimenuitem
>Sincronizza automaticamente con il documento attuale</guimenuitem
></term>
<listitem
><para
>Quando questa opzione è abilitata il selettore dei file eseguirà automaticamente il comando <command
>cd</command
> nella cartella del documento attualmente aperto nell'area di modifica ogni volta che cambia.</para
></listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>

<varlistentry>
<term
>Una voce per la posizione</term>
<listitem>
<para
>Questo mostra il percorso di navigazione della cartella attualmente aperta, come in &dolphin;: puoi fare clic su qualsiasi cartella per sfogliarla, o fare clic su una delle frecce alla sinistra di una cartella per selezionare qualsiasi cartella sottostante. Puoi anche effettuare selezioni dall'elenco delle tue Risorse facendo clic sull'icona in fondo a sinistra nel percorso di navigazione, che mostra un'icona rappresentante la Risorsa attuale.</para>

<para
>Puoi anche fare clic alla destra del percorso di navigazione per trasformarlo in una casella di testo; qui puoi digitare il percorso di una cartella da sfogliare. La voce &URL; mantiene una lista di tutti i percorsi precedentemente inseriti: per sceglierne uno usa il pulsante con la freccia alla sua destra.</para>
<tip
><para
>Il campo &URL; ha il completamento automatico dei nomi delle cartelle, che può essere impostato utilizzando il &RMB; sul campo di inserimento.</para
></tip>
</listitem>
</varlistentry>

<varlistentry>
<term
>Una vista delle cartelle</term>
<listitem
><para
>Questa è una vista standard delle cartelle di &kde;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
>Una voce di filtro</term>
<listitem>
<para
>La voce di filtro ti permette di definire un filtro per i file visualizzati nella vista delle cartelle. Il filtro usa gli schemi standard; questi devono essere separati da spazi, per esempio: <userinput
>*.cpp *.h *.moc</userinput
>.</para>
<para
>Inserisci un asterisco singolo <userinput
>*</userinput
> per visualizzare tutti i file.</para>
<para
>La voce di filtro salva gli ultimi dieci filtri inseriti durante la sessione: per usarne uno fai clic sul pulsante con la freccia a destra del campo di inserimento, e seleziona quello che desideri. Puoi disattivare il filtro premendo il pulsante <guibutton
>Pulisci il testo</guibutton
>, che si trova alla sinistra del pulsante di auto-completamento a freccia.</para>
</listitem>
</varlistentry>

</variablelist>
</sect2>


<sect2 id="fsbrowser-config">
<title
>Configurazione</title>

<para
>Questa estensione può essere configurata nella pagina del <guilabel
>Selettore dei file</guilabel
> della <link linkend="configuring-kate-configdialog"
>configurazione di &kate;</link
>.</para>

<variablelist>
<varlistentry>
<term
><guilabel
>Barra degli strumenti</guilabel
></term>
<listitem
><para
>Configura i pulsanti della barra del selettore dei file spostando quelli che desideri nell'elenco <guilabel
>Azioni selezionate</guilabel
>, e ordinali con i pulsanti a freccia di fianco all'elenco.</para>
 </listitem>
</varlistentry>

</variablelist>
</sect2>
</sect1>

<sect1 id="kate-application-plugin-documents">
<title
>L'elenco dei documenti</title>
<!-- https://kate-editor.org/2010/09/12/kate-tree-view-plugin-update/-->
<sect2 id="documents-intro">
<title
>Introduzione</title>

<para
><indexterm
><primary
>Elenco dei documenti</primary
></indexterm
> L'elenco dei documenti mostra la lista di tutti i documenti attualmente aperti in &kate;. Per indicarne lo stato, i file modificati avranno una piccola icona a forma di <guiicon
>dischetto</guiicon
> alla loro sinistra.</para>

<para
>In alto all'elenco dei documenti c'è una barra degli strumenti, che ha i seguenti pulsanti:</para>

<simplelist>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="document-new-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Crea un nuovo documento</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="document-open-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Apre un documento esistente</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="go-up-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
>Il documento precedente</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="go-down-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Il documento successivo</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="document-save-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Salva il documento attuale</member>
<member
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="document-save-as-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> Salva il documento attuale con un nuovo nome</member>
</simplelist>

<para
>L'elenco dei documenti compare come impostazione predefinita nella <guimenuitem
>Modalità ad albero</guimenuitem
>, che mostra la struttura delle cartelle attorno a tutti i documenti aperti. È disponibile anche la <guimenuitem
>Modalità a lista</guimenuitem
>, che mostra invece un semplice elenco dei documenti aperti. Puoi cambiare la modalità facendo clic destro sull'elenco e selezionando la <guisubmenu
>Modalità di visualizzazione</guisubmenu
> dal menu.</para>

<para
>Se due o più file (che si trovano in cartelle diverse) hanno lo stesso nome e sono aperti nella <guimenuitem
>Modalità elenco</guimenuitem
>, al nome del secondo file e dei successivi verrà anteposto un <quote
>(2)</quote
>, e così via. Il suggerimento del file ti mostrerà comunque il suo nome con il percorso completo, permettendoti così di scegliere quello che desideri.</para
> <para
>Fai clic sul nome del documento nella lista per visualizzare un documento nel riquadro attivo.</para>

<para
>Il menu contestuale ha alcune azioni in comune con il menu <guimenu
>File</guimenu
>.</para>

<para
>Ci sono anche le azioni proprie di un gestore di file, che servono per rinominare o per eliminare i file; con <guimenuitem
>Copia percorso del file</guimenuitem
> potrai copiare negli appunti l'intero percorso del documento.</para>

<para
>Facendo clic con il tasto destro sulla lista, e selezionando una voce dal menu <guisubmenu
>Ordina per</guisubmenu
>, potrai ordinare l'elenco in diversi modi. Le opzioni sono: <variablelist>

<varlistentry>
<term
><guimenuitem
>Nome documento</guimenuitem
></term>
<listitem
><para
>Elenca i documenti alfabeticamente per nome.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Percorso documenti</guimenuitem
></term>
<listitem
><para
>Elenca i documenti alfabeticamente in base al loro percorso.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guimenuitem
>Ordine di apertura</guimenuitem
></term>
<listitem
><para
>Elenca i documenti in base all'ordine di apertura.</para
></listitem>
</varlistentry>

</variablelist>

</para>

<para
>L'elenco dei documenti visualizza, come impostazione predefinita, la cronologia, ombreggiando il colore dello sfondo dei documenti più recenti: se il documento viene modificato gli viene miscelato un altro colore. I documenti più recenti hanno colori più vivi, quindi potrai trovare facilmente quelli su cui stai lavorando. Questa funzionalità può essere disabilitata dalla pagina <link linkend="config-dialog-documents"
>Documenti</link
> del pannello di configurazione.</para>
<para
>La posizione predefinita dell'elenco dei documenti nella finestra di &kate; è alla sinistra dell'area dell'editor.</para>

</sect2>

<sect2 id="documents-menus">
<title
>Struttura del menu</title>

<variablelist>

<varlistentry id="view-document-previous">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Alt;&Up;</keycombo
> </shortcut
> <guimenu
>Visualizza</guimenu
> <guimenuitem
>Documento precedente</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Apre il documento visualizzato sopra il documento attualmente aperto nell'elenco dei documenti.</para>
</listitem>
</varlistentry>

<varlistentry id="view-document-next">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Alt;&Down;</keycombo
> </shortcut
> <guimenu
>Visualizza</guimenu
> <guimenuitem
>Documento successivo</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Apre il documento visualizzato sotto il documento attualmente aperto nell'elenco dei documenti.</para>
</listitem>
</varlistentry>

<varlistentry id="view-active">
<term
><menuchoice
><guimenu
>Visualizza</guimenu
><guimenuitem
>Mostra attivo</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Mostra il documento attualmente aperto nell'elenco dei documenti.</para>
</listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2 id="config-dialog-documents">
<title
>Configurazione</title>

<variablelist>
<varlistentry>
<term
><guilabel
>Sfumature di sfondo</guilabel
></term>
<listitem
><para
>Questa sezione ti permette di abilitare o disabilitare la visualizzazione delle sfumature dello sfondo nelle tue attività recenti, e, se abilitata, di scegliere quali colori usare.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Ordina per</guilabel
></term>
<listitem
><para
>Imposta il tipo di ordinamento da dare ai documenti; può anche essere impostato con il menu che appare facendo clic con il &RMB; nell'elenco dei documenti.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Modalità di visualizzazione</guilabel
></term>
<listitem
><para
>Ci sono due opzioni che influenzano la visualizzazione della vista dei documenti: l'opzione <guilabel
>Vista ad albero</guilabel
> li visualizzerà in un albero, sotto le cartelle in cui si trovano, mentre l'opzione <guilabel
>Vista a elenco</guilabel
> li visualizzerà come un semplice elenco. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Mostra il percorso completo</guilabel
></term>
<listitem
><para
>Quando la vista ad albero e questa opzione sono abilitate, le voci delle cartelle visualizzate nella vista dei documenti mostreranno il percorso completo della cartella, oltre al nome. Non ha effetto nella vista a elenco.</para
></listitem>
</varlistentry>

</variablelist>

</sect2>

</sect1>

<sect1 id="kate-application-plugin-gdb">
<!--http://kate-editor.org/2011/06/23/kate-plugin-updates-part-2/-->
<sect1info>
<authorgroup>
<author
><firstname
>Martin</firstname
> <surname
>Gergov</surname
></author>
<author
>&TC.Hollingsworth; &TC.Hollingsworth.mail;</author>
</authorgroup>
</sect1info>
<title
>Estensione per &gdb;</title>

<sect2 id="gdb-intro">
<title
>Introduzione</title>

<para
>L'estensione per &gdb; di &kate; fornisce una semplice interfaccia al popolare debugger del progetto &GNU;.</para>

<important>
<para
>Una precedente esperienza con &gdb; è caldamente raccomandata; visita <ulink url="http://www.gnu.org/s/gdb/"
>il sito Web di &gdb;</ulink
> per maggiori informazioni sul suo uso.</para>
</important>

<para
>Puoi abilitare l'estensione per &gdb; nella <link linkend="config-dialog-plugins"
>sezione delle estensioni della configurazione di &kate;</link
>.</para>

<para
>Affinché l'estensione funzioni correttamente devi avere un file sorgente (di un qualsiasi tipo supportato da &gdb;), ed un eseguibile.</para>

<tip>
<para
>Se compili usando &gcc; o <command
>g++</command
>, potresti aver bisogno di usare l'argomento da riga di comando <command
><parameter
>-ggdb</parameter
></command
>. </para>
</tip>

<para
>Fatte queste preparazioni apri il file sorgente in &kate;, inserisci il percorso all'eseguibile nella scheda <guilabel
>Impostazioni</guilabel
> della vista dello strumento <guilabel
>Vista di debug</guilabel
> e seleziona dal menu <menuchoice
><guimenu
>Debug</guimenu
><guimenuitem
>Avvia il debug</guimenuitem
></menuchoice
> per cominciare.</para>

</sect2>

<sect2 id="gdb-menus">
<title
>Menu e struttura della barra degli strumenti</title>

<para
>Tutte queste opzioni sono disponibili nei menu di &kate;, e molte sono disponibili anche nella barra degli strumenti di debug.</para>

<variablelist>

<varlistentry id="gdb-menus-show-debug-view">
<term
><menuchoice
><guimenu
>Visualizza</guimenu
><guisubmenu
>Viste degli strumenti</guisubmenu
><guimenuitem
>Mostra Vista di debug</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Mostra una vista contenente l'output di &gdb;, la riga di comando di &gdb; usata, ed altre impostazioni.</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-show-locals-and-stack">
<term
><menuchoice
><guimenu
>Visualizza</guimenu
><guisubmenu
>Viste degli strumenti</guisubmenu
><guimenuitem
>Mostra locali e pila</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Mostra un elenco di tutte le variabili attualmente in memoria, i loro valori ed un backtrace di &gdb;. </para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-targets">
<term
><menuchoice
><guimenu
>Debug</guimenu
><guimenuitem
>Obiettivi</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Un sotto-menu contenente un elenco di obiettivi (eseguibili). </para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-start">
<term
><menuchoice
><guimenu
>Debug</guimenu
><guimenuitem
>Avvia il debug</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Avvia &gdb; con un obiettivo.</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-kill">
<term
><menuchoice
><guimenu
>Debug</guimenu
><guimenuitem
>Termina / interrompi il debug</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Interrompe &gdb;.</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-restart">
<term
><menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Riavvia il debug</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Riavvia &gdb;.</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-break">
<term
><menuchoice
><guimenu
>Debug</guimenu
><guimenuitem
>Commuta punto di interruzione / interrompi</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Imposta un punto di interruzione alla posizione attuale del cursore. </para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-step-in">
<term
><menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Entra</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Esegui l'istruzione attuale (sarà effettuato il debug della chiamata a funzione). </para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-step-over">
<term
><menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Passa oltre</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Esegui l'istruzione attuale (non sarà effettuato il debug della chiamata a funzione).</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-step-out">
<term
><menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esci</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Riprende l'esecuzione fino alla conclusione del programma in esecuzione.</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-move-pc">
<term
><menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Sposta contatore dei programmi</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Sposta contatore dei programmi (prossima esecuzione).</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-run-to-cursor">
<term
><menuchoice
><guimenu
>Debug</guimenu
> <guimenuitem
>Esegui fino al cursore</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Esegue il programma fino a raggiungere l'attuale posizione del cursore. </para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-continue">
<term
><menuchoice
><guimenu
>Debug</guimenu
><guimenuitem
>Continua</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Ignora qualsiasi punto di interruzione ed esegue il programma fino alla sua conclusione (corretta o meno).</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-print-value">
<term
><menuchoice
><guimenu
>Debug</guimenu
><guimenuitem
>Stampa valore</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Stampa il valore della variabile attualmente indicata dal cursore.</para
></listitem>
</varlistentry>

<varlistentry id="gdb-menus-toolbar">
<term
><menuchoice
><guimenu
>Impostazioni</guimenu
> <guisubmenu
>Barre mostrate</guisubmenu
> <guimenuitem
>Estensione &gdb;</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Mostra la barra degli strumenti di debug.</para
></listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2 id="gdb-debug-view">
<title
>Vista di debug</title>

<para
>La vista dello strumento <guilabel
>Vista di debug</guilabel
> è composta da diverse schede: </para>

<variablelist>

<varlistentry>
<term
><guilabel
>Uscita di &gdb;</guilabel
></term>
<listitem>
<para
>Contiene l'uscita di &gdb; ed una riga di comando per &gdb;.</para>

<screenshot id="screenshot-gdb-output">
<screeninfo
>La scheda Uscita</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="gdb-output.png" format="PNG"/></imageobject>
<textobject
><phrase
>La scheda Uscita.</phrase
></textobject>
<caption
><para
>La scheda <guilabel
>Uscita</guilabel
> mostra il risultato generato sulla console da una sessione di debug.</para
></caption>
</mediaobject>
</screenshot>

</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Impostazioni</guilabel
></term>
<listitem>
<variablelist>

<varlistentry>
<term
><guilabel
>Eseguibile</guilabel
></term>
<listitem
><para
>Percorso dell'obiettivo (l'eseguibile) su cui eseguire il debug.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Cartella di lavoro</guilabel
></term>
<listitem
><para
>La cartella di lavoro attuale fornita all'obiettivo. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Argomenti</guilabel
></term>
<listitem
><para
>Argomenti passati al programma.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Mantieni attivazione</guilabel
></term>
<listitem
><para
>Mantiene attiva la riga di comando di &gdb;.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Ridireziona I/O</guilabel
></term>
<listitem
><para
>Apre una nuova scheda <guilabel
>I/O</guilabel
> nella <guilabel
>Vista di debug</guilabel
>, dove puoi vedere l'uscita ed inserire gli ingressi al programma in esecuzione.</para
></listitem>
</varlistentry>

</variablelist>

<screenshot id="screenshot-gdb-settings">
<screeninfo
>La finestra delle impostazioni</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="gdb-settings.png" format="PNG"/></imageobject>
<textobject
><phrase
>La finestra delle impostazioni</phrase
></textobject>
<caption
><para
>La finestra <guilabel
>Impostazioni</guilabel
>, che mostra la configurazione di una sessione di debug.</para
></caption>
</mediaobject>
</screenshot>

</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>I/O</guilabel
></term>
<listitem>
<para
>Contiene un'area che mostra l'uscita del programma attuale, ed una riga di comando dalla quale puoi passare degli ingressi.</para>

<screenshot id="screenshot-gdb-io">
<screeninfo
>La scheda I/O</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="gdb-io.png" format="PNG"/></imageobject>
<textobject
><phrase
>La scheda I/O.</phrase
></textobject>
<caption
><para
>La scheda <guilabel
>I/O</guilabel
>, che mostra l'uscita di un semplice programma di prova.</para
></caption>
</mediaobject>
</screenshot>

</listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2 id="gdb-other">
<title
>Pila di chiamate e Locali</title>

<para
>La vista dello strumento <guilabel
>Pila delle chiamate</guilabel
> contiene un elenco di backtrace formattati restituiti da &gdb;.</para>

<screenshot id="screenshot-gdb-call-stack">
<screeninfo
>La vista dello strumento Pila delle chiamate di &gdb;</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="gdb-call-stack.png" format="PNG"/></imageobject>
<textobject
><phrase
>La vista dello strumento Pila delle chiamate.</phrase
></textobject>
<caption
><para
>La vista dello strumento <guilabel
>Pila delle chiamate</guilabel
> dell'estensione &gdb;. </para
></caption>
</mediaobject>
</screenshot>

<para
>La vista dello strumento <guilabel
>Locali</guilabel
> mostra un elenco di tutte le variabili attualmente in memoria del programma, ed i loro valori corrispondenti.</para>

<screenshot id="screenshot-gdb-locals">
<screeninfo
>La vista dello strumento Locali di &gdb;</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="gdb-locals.png" format="PNG"/></imageobject>
<textobject
><phrase
>La vista dello strumento Locali.</phrase
></textobject>
<caption
><para
>La vista dello strumento <guilabel
>Locali</guilabel
> dell'estensione &gdb;. </para
></caption>
</mediaobject>
</screenshot>

</sect2>

<sect2 id="gdb-ack">
<title
>Ringraziamenti e riconoscimenti</title>

<para
>Ringraziamenti speciali vanno al partecipante del Google Code-In 2011, Martin Gergov, per aver scritto la maggior parte di questa sezione.</para>

</sect2>

</sect1>

<sect1 id="kate-application-plugin-openheader">

<title
>L'estensione Apri intestazioni</title>

<sect2 id="openheader-using">
<title
>Usare l'estensione Apri intestazioni</title>

<para
>Durante la scrittura di codice C o C++ questo comando passerà dal file di intestazione al corrispondente file C/C++ o viceversa.</para>

<para
>Per esempio, se stai editando <filename
>myclass.cpp</filename
> questa azione visualizzerà, se disponibile nella stessa cartella, il file <filename
>myclass.h</filename
>.</para>

<para
>Funziona con coppie che hanno le seguenti estensioni:</para>

<simplelist>
<member
>File di intestazioni: h, H, hh, hpp</member>
<member
>File sorgenti: c, cpp, cc, cp, cxx</member>
</simplelist>

</sect2>

<sect2 id="openheader-menu">
<title
>Struttura del menu</title>

<variablelist>

<varlistentry id="file-openheader">
<term
><menuchoice
><shortcut
> <keycap
>F12</keycap
> </shortcut
> <guimenu
>File</guimenu
> <guisubmenu
>Apri .h/.cpp/.c</guisubmenu
> </menuchoice
></term>
<listitem>
<para
><action
>Apri</action
> il corrispondente file sorgente o di intestazione per il documento attivo.</para>
</listitem>
</varlistentry>

</variablelist>

</sect2>

</sect1>


<sect1 id="kate-application-plugin-projects">
<!--https://kate-editor.org/2012/11/02/using-the-projects-plugin-in-kate -->

<title
>Estensione di progetto</title>

<sect2 id="project-intro">
<title
>Introduzione</title>

<para
>L'idea di base dell'estensione di progetto è quella di avere una lista strutturata di file che appartengono al progetto, con le seguenti proprietà:</para>

<orderedlist>
<listitem
><para
>Fornire una vista strutturata dei file</para
></listitem>
<listitem
><para
>Rendere semplice e molto veloce l'apertura ed il passaggio tra i vari progetti</para
></listitem>
<listitem
><para
>Supportare la ricerca e la sostituzione nel progetto</para
></listitem>
<listitem
><para
>Fornire un semplice completamento automatico</para
></listitem>
<listitem
><para
>Rendere semplice l'apertura rapida dei file del progetto</para
></listitem>
<listitem
><para
>Supportare la compilazione dei progetti</para
></listitem>
</orderedlist>
</sect2>

<sect2 id="project-view">
<title
>Mostrare una vista strutturata dei file</title>

<para
>Apri un file di un progetto una volta che l'estensione di progetto è caricata nella pagina di configurazione di &kate;: ti apparirà una barra laterale elencante tutti i progetti, così come i loro file, in questo modo:</para>

<screenshot id="screenshot-project-view">
<screeninfo
>Vista di progetto</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="project-view.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>Come puoi vedere, <quote
>Kate</quote
> è il progetto attualmente attivo, ed il suo contenuto è elencato nella vista ad albero; facendo clic sui file nella vista, questi si apriranno nell'editor. Viene inoltre fornito un menu contestuale con il quale puoi aprire i file con altre applicazioni, ad esempio i file <filename class="extension"
>.ui</filename
> con Qt Designer.</para>
<para
>Puoi filtrare le voci: digita una parte del nome del file che stai cercando nella barra di ricerca che è in fondo alla lista.</para>
</sect2>

<sect2 id="project-switch">
<title
>Passaggio ad un altro progetto</title>

<para
>L'idea è che non devi mai aprire un progetto manualmente, questo non è affatto supportato. Quindi, quello che succede quando apri un file è che l'estensione di progetto scansiona la sua cartella e quelle superiori alla ricerca di un file <filename
>.kateproject</filename
>: se lo trova, il progetto viene caricato automaticamente.</para>

<para
>Inoltre l'estensione di progetto cambierà automaticamente l'attuale progetto se apri con &kate; un documento che appartiene ad un altro progetto: in questo modo il progetto pertinente sarà attivo sempre. Naturalmente puoi anche cambiare il progetto attualmente attivo usando la casella combinata.</para>

</sect2>

<sect2 id="project-search-replace">
<title
>Ricerca e sostituzione nei progetti</title>

<para
>&kate; dispone di un'estensione di ricerca e sostituzione, che si trova nella barra laterale in basso: se c'è un progetto caricato apri la barra laterale Cerca e Sostituisci e passa alla modalità di ricerca e sostituzione nel progetto attuale:</para>

<screenshot id="screenshot-projects-search">
<screeninfo
>Ricerca nei progetti</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="project-search.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

</sect2>

<sect2 id="project-autocompletition">
<title
>Completamento automatico semplice</title>

<para
>Grazie alla conoscenza di tutti i file che appartengono ad un progetto, l'estensione di progetto fornisce un semplice servizio di auto-completamento basato su CTags: se c'è un progetto aperto, CTags analizza in un processo in background tutti i file del progetto, e salva le informazioni CTags in <filename class="directory"
>/tmp</filename
>; questo file viene poi utilizzato per popolare la finestra a comparsa del completamento automatico di &kate;.</para>

<para
>Di contro, senza questo auto-completamento &kate; è capace solo di mostrare le voci di auto-completamento basandosi solo sulle parole del file attuale. In questo modo l'auto-completamento fornito dall'estensione di progetto è molto più potente.</para>

<screenshot id="screenshot-completion-search">
<screeninfo
>Completamento nei progetti</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="project-completition.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>Una finestrella passiva ti avviserà sull'eventuale mancanza di CTag. Degno di nota è il fatto che il file di CTags in <filename class="directory"
>/tmp</filename
> viene cancellato alla chiusura di &kate;: così l'estensione non inquinerà nessuna cartella con dei file indesiderati.</para>

</sect2>

<sect2 id="project-quickopen">
<title
>Apertura rapida dei file</title>

<para
>Dato che fare clic su un file in una vista ad albero non è il modo più rapido per aprirlo, &kate; fornisce un veloce meccanismo integrato; lo puoi attivare con <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>O</keycap
></keycombo
>. Ottieni un elenco come questo:</para>

<screenshot id="screenshot-project-quickopen">
<screeninfo
>Apertura rapida</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="project-quickopen.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>Puoi filtrare digitando parte del nome del file che stai cercando, e puoi anche spostarti nella lista sia con i tasti freccia sia con Pagina su/giù.; con &Enter; attiverai invece il file selezionato, mentre con &Esc; nasconderai la vista di apertura rapida.</para>

<para
>Inoltre l'apertura rapida si ricorda del file precedente, che viene selezionato quando passi alla vista di apertura rapida; così tu non devi far altro che premere &Enter;, cosa generalmente molto comoda.</para>

</sect2>

<sect2 id="project-build">
<title
>Supporto alla compilazione del progetto</title>

<para
>Un'altra caratteristica è quella di offrire supporto all'<link linkend="projects-build-support"
>Estensione di compilazione</link
>, che così viene configurata correttamente.</para>

</sect2>

<sect2 id="project-create">
<title
>Creare i progetti</title>

<sect3 id="project-autoload">
<!--https://kate-editor.org/2014/10/12/autoloading-projects-plugin-kate-5/-->
<title
>Caricare i progetti automaticamente</title>

<para
>L'estensione di progetto ha una funzionalità di auto-caricamento, che ti consente di leggere la lista dei file dal sistema di controllo della versione. Questa funzionalità deve essere abilitata nelle impostazioni (lo è in maniera predefinita): </para>

<screenshot id="screenshot-project-configure">
<screeninfo
>Configurazione dell'estensione dei progetti</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="project-configure.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

</sect3>

<sect3 id="project-manual">
<title
>Creare i progetti manualmente</title>
<para
>Devi solo creare un file <filename
>.kateproject</filename
> nella cartella principale del progetto. Ad esempio, il file <filename
>.kateproject</filename
> di <quote
>Kate</quote
> apparirà così: </para>

<screen
>{
  "name": "Kate"
, "files": [ { "git": 1 } ]
}
</screen>

<para
>Il contenuto del file è scritto con la sintassi JSON: il nome del progetto è <quote
>Kate</quote
>, ed i file in esso contenuti dovrebbero essere letti da git. </para>

<para
>Al posto di <literal
>git</literal
> sono supportati anche subversion, attraverso <literal
>svn</literal
>, e mercurial con <literal
>hg</literal
>. Se non vuoi leggere da un sistema di controllo di versione puoi caricare ricorsivamente i file dalle cartelle, come segue: </para>

<screen
>{
  "name": "Kate"
, "files": [ { "directory": "kate", "filters": ["*.cpp", "*.h", "*.ui", "CMakeLists.txt", "Find*.cmake"], "recursive": 1 } ]
}
</screen>

<para
>Qui le sottocartelle ed i filtri definiscono ciò che fa parte del progetto; puoi anche mescolare il controllo della versione con dei file basati sui filtri. </para>

<para id="projects-build-support"
>Se vuoi aggiungere il supporto all'estensione di compilazione, allora puoi scrivere il file <filename
>.kateproject</filename
> così:</para>

<screen
>{
  "name": "Kate"
, "files": [ { "git": 1 } ]
, "build": {
    "directory": "build"
  , "build": "make all"
  , "clean": "make clean"
  , "install": "make install"
  }
}
</screen>

</sect3>

</sect2>

<sect2 id="project-current">
<title
>Progetto attuale</title>

<para
>Usando <menuchoice
><shortcut
><keycombo action="simul"
>&Alt;<keycap
>1</keycap
></keycombo
></shortcut
> <guimenu
>Progetti</guimenu
><guimenuitem
>Vai a</guimenuitem
></menuchoice
> potrai aprire il <guilabel
>Progetto attuale</guilabel
>, che è visualizzato in basso nella finestra dell'editor ed ha quattro schede:</para>

<screenshot id="screenshot-project-current">
<screeninfo
>Progetto attuale</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="project-current-analysis.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<variablelist>

<varlistentry>
<term>
<guimenu
>Terminale</guimenu>
</term>
<listitem>
<para
>Un <link linkend="kate-application-plugin-konsole"
>Emulatore di terminale</link
> che parte dalla cartella principale del progetto.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guimenu
>Indice del codice</guimenu>
</term>
<listitem>
<para
>La digitazione di caratteri nella barra di ricerca inizierà la ricerca, e visualizzerà i corrispondenti nomi delle funzioni, delle classi, dei simboli &etc;, insieme al tipo, al nome del file e al numero di riga.</para>
<para
>Seleziona una voce nella lista per saltare nel file sorgente alla riga corrispondente.</para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<guimenu
>Analisi del codice</guimenu>
</term>
<listitem>
<para
>Fai clic su <guilabel
>Inizia analisi</guilabel
> per iniziare un'analisi statica del codice C e C++ usando <command
>cppcheck</command
>, e per generare un rapporto mostrante il nome del file, il numero delle righe, la gravità (stile, avvisi &etc;) e il problema trovato.</para>
<para
>Seleziona una voce nella lista per saltare nel file sorgente alla riga corrispondente.</para>
</listitem>
</varlistentry>
<!--FIXME options for cppcheck? configurable?-->
<varlistentry>
<term>
<guimenu
>Note</guimenu>
</term>
<listitem>
<para
>Il testo inserito in questa scheda sarà salvato nel file <filename
><replaceable
>nomeprogetto</replaceable
>.kateproject.notes</filename
>.</para>
</listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2 id="projects-menu">
<title
>Il menu Progetti</title>

<para
>Il menu <guimenu
>Progetti</guimenu
> ti permette di passare tra i progetti attualmente aperti. Viene visualizzato dall'estensione dei progetti.</para>

<variablelist>

<varlistentry id="projects-back">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;&Alt;&Left;</keycombo
> </shortcut
> <guimenu
>Progetti</guimenu
> <guimenuitem
>Indietro</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Passa al progetto precedente.</para>
</listitem>
</varlistentry>

<varlistentry id="projects-forward">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;&Alt;&Right;</keycombo
> </shortcut
> <guimenu
>Progetti</guimenu
> <guimenuitem
>Avanti</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Passa al progetto successivo</para>
</listitem>
</varlistentry>

<varlistentry id="projects-goto">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Alt;<keycap
>1</keycap
></keycombo
> </shortcut
> <guimenu
>Progetti</guimenu
><guimenuitem
>Vai a</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Apre la vista del <guilabel
>Progetto attuale</guilabel
> nella parte bassa della finestra di modifica.</para>
</listitem>
</varlistentry>

</variablelist>

</sect2>
<!--
context menu Project->Lookup:xxx
-->

</sect1>

<!--FIXME Replicode
Projects Replicode run / stop-->

<sect1 id="kate-application-plugin-lspclient">
<title
>Estensione client LSP</title>

<para
>L'estensione client LSP fornisce molte funzionalità per i linguaggi, quali il completamento e la navigazione del codice o la ricerca di riferimenti basata sul <ulink url="https://microsoft.github.io/language-server-protocol/"
>Language Server Protocol</ulink
>.</para>

<para
>Una volta che hai abilitato il client LSP, nella pagina delle estensioni della finestra di configurazione di &kate; te ne apparirà un'altra, chiamata Client LSP. </para>

<sect2 id="lspclient-menu">
<title
>Struttura del menu</title>

<para
>Se appropriato, nella spiegazione seguente viene menzionato anche un comando LSP corrispondente, la cui documentazione può quindi fornire informazioni e interpretazioni aggiuntive, sebbene possa variare a seconda del linguaggio effettivo. L'espressione "simbolo corrente" si riferisce al simbolo corrispondente alla posizione corrente del cursore, come determinato dal linguaggio e dall'implementazione del server. </para>

<variablelist>

<varlistentry id="lspclient-definition">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Vai alla definizione</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[textDocument/definition] Vai alla definizione attuale del simbolo.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-declaration">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Vai alla dichiarazione</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[textDocument/declaration] Vai alla dichiarazione attuale del simbolo.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-references">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Trova riferimenti</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[textDocument/references] Trova i riferimenti al simbolo attuale.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-highlight">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Evidenzia</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[textDocument/documentHighlight] Evidenzia i riferimenti ai simboli correnti nel documento attuale.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-hover">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Finestrella informativa</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[textDocument/hover] Finestrella informativa del simbolo attuale.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-format">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Formatta</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[textDocument/formatting] [textDocument/rangeFormatting] Formatta l'attuale documento o l'attuale selezione.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-rename">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Rinomina</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[textDocument/rename] Rinomina il simbolo attuale.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-completion-documentation">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Mostra la documentazione di completamento selezionata</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Mostra la documentazione dell'elemento selezionato nell'elenco di completamento.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-declaration-references">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Includi la dichiarazione nei riferimenti</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Richiede di includere la dichiarazione del simbolo quando ne vengono richiesti i riferimenti.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-show-hover">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Mostra la finestrella informativa</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Mostra la finestrella informativa sul cursore al passaggio del mouse. Indipendentemente da questa impostazione la richiesta può sempre essere inizializzata manualmente. </para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-format-typing">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Formattazione durante la digitazione</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[document/onTypeFormatting] Formatta parti del documento alla digitazione di alcuni caratteri di attivazione. Ad esempio questo si potrebbe applicare ai rientri nelle nuove righe, oppure a qualsiasi altra cosa stabilita dal server LSP. Nota che gli script dell'editor per il rientro potrebbero cercare di fare la stessa cosa (a seconda della modalità), perciò non è raccomandabile aver abilitato entrambi allo stesso tempo. </para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-incremental-sync">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Sincronizzazione incrementale del documento</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Invia delle modifiche parziali del documento per aggiornare il server piuttosto che l'intero documento di testo (se supportato).</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-diagnostics">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Mostra le notifiche di diagnostica</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>[textDocument/publishDiagnostics] Elabora e mostra le notifiche di diagnostica inviate dal server.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-diagnostics-highlight">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Mostra i punti salienti della diagnostica</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Aggiungi i punti salienti del testo per gli intervalli indicati nella diagnostica.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-diagnostics-marks">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Mostra i segni di diagnostica</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Aggiungi segni di documento nelle righe indicate dalla diagnostica.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-diagnostics-tab">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Passa alla scheda di diagnostica</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Passa alla scheda diagnostica nell'estensione dello strumento visivo.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-close-non-diagnostics">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Chiudi tutte le schede non di diagnostica</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Chiude tutte le schede non diagnostiche (ad esempio i riferimenti) nell'estensione dello strumento visivo.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-restart">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Riavvia server LSP</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Riavvia il server LSP del documento corrente.</para>
</listitem>
</varlistentry>

<varlistentry id="lspclient-restart-all">
<term
><menuchoice
><guimenu
>Client LSP</guimenu
> <guisubmenu
>Riavvia tutti i server LSP</guisubmenu
> </menuchoice
></term>
<listitem>
<para
>Ferma tutti i server LSP che saranno quindi (ri)avviati se necessario.</para>
</listitem>
</varlistentry>

</variablelist>

</sect2>


<sect2 id="lspclient-configuration">
<title
>Configurazione</title>

<para
>La pagina di configurazione dell'estensione permette principalmente la configurazione persistente di alcune delle voci di menu di cui sopra. Tuttavia esiste una voce aggiuntiva per specificare il file di configurazione del server: è un file JSON che può essere utilizzato per specificare il server LSP da avviare (e quindi con cui comunicare tramite stdin e stdout). Per comodità è inclusa la seguente configurazione predefinita (sebbene implementazione alternative del server siano ugualmente valide e possibili): </para>

<screen
>{
    "servers": {
        "bibtex": {
            "use": "latex",
            "highlightingModeRegex": "^BibTeX$"
        },
        "c": {
            "command": ["clangd", "-log=error", "--background-index"],
            "commandDebug": ["clangd", "-log=verbose", "--background-index"],
            "url": "https://clang.llvm.org/extra/clangd/",
            "highlightingModeRegex": "^(C|ANSI C89|Objective-C)$"
        },
        "cpp": {
            "use": "c",
            "highlightingModeRegex": "^(C\\+\\+|ISO C\\+\\+|Objective-C\\+\\+)$"
        },
        "d": {
            "command": ["dls", "--stdio"],
            "url": "https://github.com/d-language-server/dls",
            "highlightingModeRegex": "^D$"
        },
        "fortran": {
            "command": ["fortls"],
            "rootIndicationFileNames": [".fortls"],
            "url": "https://github.com/hansec/fortran-language-server",
            "highlightingModeRegex": "^Fortran.*$"
        },
        "latex": {
            "command": ["texlab"],
            "url": "https://texlab.netlify.com/",
            "highlightingModeRegex": "^LaTeX$"
        },
        "go": {
            "command": ["go-langserver"],
            "commandDebug": ["go-langserver", "-trace"],
            "url": "https://github.com/sourcegraph/go-langserver",
            "highlightingModeRegex": "^Go$"
        },
        "python": {
            "command": ["python3", "-m", "pyls", "--check-parent-process"],
            "url": "https://github.com/palantir/python-language-server",
            "highlightingModeRegex": "^Python$"
        },
        "rust": {
            "command": ["rls"],
            "rootIndicationFileNames": ["Cargo.lock", "Cargo.toml"],
            "url": "https://github.com/rust-lang/rls",
            "highlightingModeRegex": "^Rust$"
        },
        "ocaml": {
            "command": ["ocamlmerlin-lsp"],
            "url": "https://github.com/ocaml/merlin",
            "highlightingModeRegex": "^Objective Caml.*$"
        }
    }
}
</screen>

<para
>Nota che ciascun elemento «command» può essere un vettore o una stringa (nel qual caso viene suddiviso in un vettore). Inoltre viene considerata anche una voce «global» di livello superiore (vicina a «server») (vedi più avanti). </para>

<para
>«HighlightingModeRegex» viene usato per associare la modalità di evidenziazione usata da Kate sull'ID del linguaggio del server. Se non viene fornita alcuna espressione regolare, viene utilizzato l'id del linguaggio stesso. </para>

<para
>Dall'esempio qui sopra, il principio è probabilmente chiaro. Inoltre, ciascun oggetto di voce del server può avere anche una voce «initializationOptions», che viene passata al server come parte del metodo «initialize». Se presente, viene passata al server una voce «settings» per mezzo della notifica «workspace/didChangeConfiguration». </para>

<para
>Vengono applicate varie fasi di sovrapposizione/unione; <itemizedlist>
<listitem>
<para
>la configurazione utente (caricata dal file) ha la precedenza sulla configurazione predefinita (interna)</para>
</listitem>
<listitem>
<para
>La voce <filename
>.kateproject</filename
> nella configurazione del progetto ha la precedenza su quella qui sopra</para>
</listitem>
<listitem>
<para
>La voce «global» risultante viene utilizzata per integrare (non per sovrascrivere) ogni voce del server</para>
</listitem>
</itemizedlist>
</para>

<para
>Un'istanza del server viene utilizzata per ogni combinazione (root, servertype). Se «root» viene specificata come un percorso assoluto viene utilizzato così com'è, diversamente è relativo a <quote
>projectBase</quote
> (come determinato dall'<link linkend="kate-application-plugin-projects"
>estensione di progetto</link
>). Se non è stato specificato e se «rootIndicationFileNames» è un vettore, allora viene selezionata una cartella genitore del documento corrente che contiene quel file. Come ultimo ripiego viene selezionata come «root» la cartella home. Per qualsiasi documento la cartella «root» risultante determina se è necessaria o meno un'istanza separata. Se sì, «root» viene passata come rootUri/rootPath. </para>

<para
>In generale viene raccomandato di lasciare root non specificata poiché non è così importante per un server (ma dipende dalle tue esigenze). Un numero minore di istanze del server è ovviamente più efficiente e ha anche una visione "più ampia" rispetto a molte istanze separate. </para>

<sect3 id="lspclient-customization">
<title
>Configurazione del server LSP</title>

<para
>Ogni specifico server LSP ha il suo modo di gestire le personalizzazioni e può utilizzare mezzi specifici per linguaggio/strumento per la configurazione, ad esempio <filename
>tox.ini</filename
> (per python), <filename
>.clang-format</filename
> per lo stile di formattazione C++. Queste configurazioni possono quindi essere anche usate da altri strumenti non LSP, ad esempio da <application
>tox</application
> o da <application
>clang-format</application
>. Inoltre, alcuni server LSP caricano la configurazione anche da file personalizzati, ad esempio da <filename
>.ccls</filename
>. Infine, la configurazione personalizzata del server può anche venir passata con LSP (protocollo), vedi le voci «initializationOptions» e «settings» sopra menzionate nella configurazione del server. </para>

<para
>Dal momento che vengono applicati molti livelli di sovrapposizione/unione, il seguente esempio di configurazione client specificata dall'utente modifica una configurazione di un server per linguaggio Python. </para>

<screen
>{
    "servers": {
        "python": {
            "settings": {
                "pyls": {
                    "plugins": {
                        "pylint": {
                            "enable": true
                        }
                    }
                }
            }
        }
    }
}
</screen>

<para
>Sfortunatamente la configurazione/personalizzazione del server LSP spesso non è così ben documentata, e spesso solo esaminando il codice sorgente si capiscono gli approcci di configurazione e l'insieme delle opzioni di configurazione disponibili. In particolare, il server di esempio qui sopra supporta molte altre opzioni in «settings». Consulta la <ulink url="https://github.com/neoclide/coc.nvim/wiki/Language-servers"
>documentazione di un altro client LSP</ulink
> per molti altri esempi di server di linguaggi e per le impostazioni corrispondenti, che possono essere facilmente e prontamente trasformate nella configurazione JSON utilizzata qui e descritta sopra. </para>

</sect3>

</sect2>

<!--TODO: Supported languages, describe features and actions a bit -->

<!--<screenshot id="screenshot-rust-configuration">
<screeninfo
>Rust Configuration</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="rust-configuration.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>Edit the command to run <ulink url="https://github.com/phildawes/racer"
>Racer</ulink
>,
an utility intended to provide Rust code completion for editors.</para>

<para
>You also need the Rust source code and have to provide the path to the source tree.
</para>

<para
>While typing code a popup list appears with items for completion:
</para>

<screenshot id="screenshot-rust-completion">
<screeninfo
>Rust Completion</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="rust-completion.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>In addition to code completion popups, the plugin also installs
a <guimenuitem
>Go to Definition</guimenuitem
> action in the <guimenu
>Edit</guimenu
> menu and
in the context menu. You can configure a keyboard shortcut for it as well.
</para>

<para
>This action will open the document containing the definition if needed, activate
its view and place the cursor at the start of the definition.
</para
>-->

</sect1>

<sect1 id="kate-application-plugin-searchinfiles">
<sect1info>
<authorgroup
><author
>&TC.Hollingsworth; &TC.Hollingsworth.mail; </author
></authorgroup>
</sect1info>
<title
>Ricerca e sostituzione</title>

<sect2 id="searchinfiles-intro">
<title
>Introduzione</title>
<para
>L'estensione di ricerca e sostituzione di &kate; ti consente di cercare del testo o delle <ulink url="help:/katepart/regular-expressions.html"
>espressioni regolari</ulink
> in molti file contemporaneamente. Puoi cercare in tutti i file aperti, in tutti i file di una cartella e, se vuoi, nelle sue sottocartelle, oppure nei file attivi. Puoi filtrare anche in base al nome del file, ad esempio cercando solo nei file che hanno un'estensione particolare.</para>

</sect2>

<sect2 id="searchinfiles-ui">
<title
>Interfaccia</title>

<sect3 id="searchinfiles-ui-query">
<title
>Interrogazione di ricerca</title>

<para
>Le opzioni seguenti sono sempre visualizzate in cima alla vista dello strumento di ricerca nei file:</para>

<variablelist>

<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="tab-new-22.png" format="PNG"/>
</imageobject
></inlinemediaobject
></guiicon
></term>
<listitem
><para
>Puoi avere tante ricerche aperte quante vuoi allo stesso tempo: basta fare clic sul pulsante nuova scheda nell'angolo in alto a sinistra nella vista dello strumento di ricerca. Apparirà una nuova scheda di risultati, che ti permette di effettuare una nuova ricerca. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="games-config-options-22.png" format="PNG"/>
</imageobject
></inlinemediaobject
></guiicon
></term>
<listitem
><para
>Il pulsante nell'angolo in alto a destra dello strumento di ricerca nei file visualizzerà alternativamente nella metà inferiore della vista dello strumento le opzioni aggiuntive per la modalità di ricerca nelle cartelle e i risultati della tua ricerca. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Trova</guilabel
></term>
<listitem
><para
>Qui è dove scrivi quello che vuoi cercare. Puoi inserire del testo normale oppure un'espressione regolare, se queste sono abilitate. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Sostituisci</guilabel
> (casella di testo)</term>
<listitem
><para
>Il testo di sostituzione che verrà aggiunto ai file al posto del testo nella casella <guilabel
>Trova</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Cerca</guibutton
></term>
<listitem
><para
>Quando hai finito di configurare tutto premi il pulsante <guibutton
>Cerca</guibutton
> per effettuare la ricerca. Per fare la stessa cosa puoi anche premere &Enter; nella casella di testo <guilabel
>Trova</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Sostituisci</guibutton
></term>
<listitem
><para
>Quando hai finito di configurare tutto premi il pulsante <guibutton
>Sostituisci</guibutton
> per sostituire il testo inserito nella casella <guilabel
>Trova</guilabel
> con quello della casella <guilabel
>Sostituisci</guilabel
>. Per fare la stessa cosa puoi anche premere &Enter; nella casella di testo <guilabel
>Sostituisci</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Successivo</guibutton
></term>
<listitem
><para
>Vai alla corrispondenza successiva della ricerca, cambiando file se necessario. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Sostituisci spuntati</guibutton
></term>
<listitem
><para
>Come per <guibutton
>Sostituisci</guibutton
>, ma la sostituzione sarà effettuata solo nei file che sono spuntati nel pannello sottostante. </para
></listitem>
</varlistentry>

</variablelist>
</sect3>

<sect3 id="searchinfiles-ui-folder">
<title
>Opzioni di ricerca nelle cartelle</title>

<para
>Queste opzioni sono mostrate sotto le opzioni di interrogazione di cui sopra. Se sono invece visualizzati i risultati della ricerca premi il pulsante <guiicon
><inlinemediaobject
><imageobject
> <imagedata fileref="games-config-options-22.png" format="PNG"/></imageobject
></inlinemediaobject
></guiicon
> per mostrarle.</para>

<variablelist>

<varlistentry>
<term
><guilabel
>Cerca in</guilabel
></term>
<listitem
><para
>Qui ci sono tre opzioni: seleziona <guilabel
>File aperti</guilabel
> per cercare in tutti i file attualmente aperti in &kate;, <guilabel
>Cartella</guilabel
> per cercare in una cartella e, a scelta, nelle sue sottocartelle, oppure <guilabel
>File attuale</guilabel
> per cercare solo nel file attivo. </para>
<para
>Se l'estensione dei <guilabel
>Progetti</guilabel
> è caricata, puoi cercare sia nel <guilabel
>Progetto attuale</guilabel
> che in <guilabel
>Tutti i progetti aperti</guilabel
>. </para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Distingui le maiuscole</guilabel
></term>
<listitem
><para
>Limita i risultati a quelli che hanno le stesse maiuscole e minuscole specificate nella ricerca. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Espressioni regolari</guilabel
></term>
<listitem
><para
>Ti permette di usare le <ulink url="help:/katepart/regular-expressions.html"
>espressioni regolari</ulink
> invece che del semplice testo come stringa di ricerca. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Espandi i risultati</guilabel
></term>
<listitem
><para
>Visualizza tutti i risultati trovati in ogni file, invece che solo un elenco di file che contengono la stringa cercata. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Cartella</guilabel
></term>
<listitem
><para
>Puoi inserire il percorso della cartella in cui vuoi cercare; ad esempio, potresti inserire <userinput
>~/sviluppo/kde/kate/</userinput
> se volessi cercare nel codice sorgente di &kate;. Questa opzione è disponibile solo se utilizzi la modalità <guilabel
>nella cartella</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guiicon
>Apri finestra di selezione dei file</guiicon
></term>
<listitem
><para
>Premi questo pulsante per localizzare la cartella nel navigatore delle cartelle del tuo sistema. Questo pulsante funziona solo se si utilizza la modalità <guilabel
>Cartella</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="go-up-22.png" format="PNG"/>
</imageobject
></inlinemediaobject
></guiicon
></term>
<listitem
><para
>Premi questo pulsante per sostituire la <guilabel
>Cartella</guilabel
> con la cartella superiore a quella attualmente selezionata. Questo pulsante funziona solo se utilizzi la modalità <guilabel
>Cartella</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="view-refresh-22.png" format="PNG"/>
</imageobject
></inlinemediaobject
></guiicon
></term>
<listitem
><para
>Questo pulsante imposterà la voce della <guilabel
>Cartella</guilabel
> a quella in cui si trova il documento attuale. Il pulsante funziona solo se utilizzi la modalità <guilabel
>Cartella</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Filtro</guilabel
></term>
<listitem
><para
>Questa opzione ti permette di cercare solo i nomi di file che corrispondano ad un certo schema. Cambialo ad esempio in <userinput
>*.cpp</userinput
> per cercare solo file scritti in C++, e in <userinput
>kate*</userinput
> per quelli che cominciano per <literal
>kate</literal
>. Puoi inserire più filtri separandoli con delle virgole (<userinput
>,</userinput
>); quest'opzione non è però disponibile nella modalità <guilabel
>file aperti</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Escludi</guilabel
></term>
<listitem
><para
>Il contrario di <guilabel
>Filtro</guilabel
>: impedisce a &kate; di cercare dei file che corrispondono a modelli precisi. Come per il <guilabel
>Filtro</guilabel
> puoi digitare più modelli separandoli con delle virgole (<userinput
>.</userinput
>); quest'opzione non è però disponibile nella modalità <guilabel
>File aperti</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Ricorsivo</guilabel
></term>
<listitem
><para
>Se questa opzione è abilitata, &kate; cercherà anche in tutte le sottocartelle della cartella selezionata. Questa opzione è disponibile solo se si utilizza la modalità <guilabel
>cartella</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Includi i file nascosti</guilabel
></term>
<listitem
><para
>Se questa opzione è abilitata, &kate; cercherà anche nei file o nelle cartelle che sono normalmente nascosti dal &OS;. Questa opzione è disponibile solo se si utilizza la modalità <guilabel
>Cartella</guilabel
>. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Segui i collegamenti simbolici</guilabel
></term>
<listitem
><para
>L'estensione di ricerca nei file normalmente non segue i <ulink url="http://it.wikipedia.org/wiki/Collegamento_simbolico"
>collegamenti simbolici</ulink
>. Se questa opzione è abilitata l'estensione invece li seguirà, e cercherà nei file e nelle cartelle a cui riferiscono. Questa opzione è disponibile solo utilizzando la modalità <guilabel
>Cartella</guilabel
>. </para>
<warning
><para
>È possibile che i collegamenti simbolici puntino alla cartella genitore di quella attualmente cercata, o che altre cartelle contenenti collegamenti simbolici puntino ad essa. Se è presente un simile collegamento e l'opzione è abilitata, &kate; seguirà ripetutamente il collegamento, e la ricerca non si concluderà mai.</para
></warning>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Includi i file binari</guilabel
></term>
<listitem
><para
>Se questa opzione è abilitata, &kate; cercherà anche nei file che non sembrano essere file di testo. </para
></listitem>
</varlistentry>

</variablelist>
</sect3>

<sect3 id="searchinfiles-ui-results">
<title
>Risultati della ricerca</title>

<para
>I risultati della ricerca sono visualizzati sotto le opzioni dell'interrogazione. Se sono mostrate le opzioni per la modalità di ricerca nelle cartelle basta premere il pulsante <guiicon
><inlinemediaobject
><imageobject
><imagedata fileref="games-config-options-22.png" format="PNG"/> </imageobject
></inlinemediaobject
></guiicon
> per mostrarli. Saranno inoltre automaticamente visualizzati non appena verrà effettuata una ricerca.</para>

<para
>I risultati di ricerca visualizzano un elenco di file che contengono il testo che corrisponde alla ricerca effettuata, seguito dal numero di occorrenze trovate in quei file.</para>

<para
>Per vedere un elenco di corrispondenze in quel file basta fare clic sulla freccia di espansione a sinistra del nome del file. (Se è stata selezionata l'opzione <guilabel
>Espandi i risultati</guilabel
>, ciò avverrà automaticamente). Sarà visualizzato il numero di riga di ogni corrispondenza seguito dal contenuto di tale riga, con i termini di ricerca indicati in grassetto.</para>

<para
>Per aprire il file in cui è stato trovato il risultato basta fare doppio clic su di esso: se necessario &kate; lo aprirà. Puoi inoltre spostare il cursore nella posizione di una corrispondenza particolare facendo doppio clic sulla voce in elenco anziché sul nome del file. </para>

</sect3>
</sect2>

<sect2 id="searchinfiles-menu">
<title
>Struttura del menu</title>

<variablelist>

<varlistentry id="edit-searchinfiles">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;&Alt;<keycap
>F</keycap
></keycombo
> </shortcut
> <guimenu
>Modifica</guimenu
> <guimenuitem
>Cerca nei file</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Avvia la vista dello strumento Ricerca e sostituisci</para>
</listitem>
</varlistentry>

<varlistentry id="edit-next-match">
<term
><menuchoice
><guimenu
>Modifica</guimenu
> <guimenuitem
>Vai alla corrispondenza successiva</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Vai alla corrispondenza successiva in una ricerca eseguita dall'estensione Cerca e sostituisci.</para>
</listitem>
</varlistentry>

<varlistentry id="edit-previous-match">
<term
><menuchoice
><guimenu
>Modifica</guimenu
><guimenuitem
>Vai alla corrispondenza precedente</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Vai alla corrispondenza precedente in una ricerca eseguita dall'estensione Cerca e sostituisci.</para>
</listitem>
</varlistentry>

<varlistentry id="view-toolviews-searchandreplace">
<term
><menuchoice
><guimenu
>Visualizza</guimenu
> <guisubmenu
>Viste degli strumenti</guisubmenu
> <guimenuitem
>Mostra cerca e sostituisci</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Attiva o disattiva la visualizzazione dello strumento <guilabel
>Cerca e sostituisci</guilabel
> di &kate;. </para>
</listitem>
</varlistentry>

</variablelist>

</sect2>
</sect1>

<sect1 id="kate-application-plugin-snippets">
<sect1info>
<authorgroup>
<author
><firstname
>Martin</firstname
> <surname
>Gergov</surname
></author>
<author
>&TC.Hollingsworth; &TC.Hollingsworth.mail;</author>
</authorgroup>
</sect1info>
<title
>Frammenti di Kate</title>

<sect2 id="snippets-intro">
<title
>Introduzione</title>
<para
>I frammenti di Kate sono un'estensione usata per risparmiare tempo con il supporto dei cosiddetti <quote
>frammenti</quote
> (codice sorgente, codice macchina o testo riutilizzabile). L'estensione supporta anche il completamento del codice e JavaScript.</para>
</sect2>

<sect2 id="snippets-menu">
<title
>Struttura del menu</title>

<variablelist>
<varlistentry>
<term
><menuchoice
><guimenu
>Visualizza</guimenu
><guisubmenu
>Viste degli strumenti</guisubmenu
><guimenuitem
>Mostra frammenti</guimenuitem
></menuchoice
></term>
<listitem
><para
>Mostra il pannello contenente tutti i frammenti del tuo deposito che sono disponibili per il tipo di file attualmente aperto.</para
></listitem>
</varlistentry>

<varlistentry id="tools-create-snippet">
<term
><menuchoice
><guimenu
>Strumenti</guimenu
><guimenuitem
>Crea frammento</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Crea un nuovo frammento, cioè un pezzo di testo riutilizzabile che puoi inserire in qualsiasi parte di qualsiasi documento.</para>
</listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2 id="snippets-panel">
<title
>Pannello dei frammenti</title>

<screenshot id="screenshot-snippets-panel">
<screeninfo
>Pannello dei frammenti di Kate</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="snippets-panel.png" format="PNG"/></imageobject>
<textobject
><phrase
>Il pannello dei frammenti di &kate;.</phrase
></textobject>
<caption
><para
>Il pannello per i frammenti di &kate;.</para
></caption>
</mediaobject>
</screenshot>

<para
>Nel pannello dovresti vedere un elenco di depositi di frammenti, insieme alle opzioni per crearne di tuoi, di recuperarli da Internet o di caricarli da un file locale. Ogni deposito ha una casella con cui puoi attivarlo o disattivarlo; ci sono anche dei pulsanti per modificare ed eliminare i depositi esistenti.</para>

<sect3 id="snippets-repo-internet">
<title
>Caricare i file dei depositi di frammenti</title>
<para
>Puoi scaricare i depositi di frammenti da Internet: basta che fai clic su <guibutton
>Ottieni nuovi frammenti</guibutton
> e ti apparirà una finestra con un elenco di depositi di frammenti. Dopo aver scaricato il frammento desiderato assicurati di attivarlo.</para>
<!--FIXME no way to load a local file ?
<para
>You can also load snippet repositories from a local file using the file
browser at the bottom of the panel.  Click <guibutton
>Copy to repository</guibutton>
when finished.</para
>-->
</sect3>

<sect3 id="snippets-repo-editor">
<title
>Creare e modificare i depositi</title>

<para
>Per creare un nuovo deposito di frammenti fai clic su <guibutton
>Aggiungi deposito</guibutton
>. Ora dovresti vedere una finestrella che chiede il nome, la licenza e l'autore del file di frammenti: dopo aver scelto le opzioni desiderate fai clic su <guibutton
>Ok</guibutton
>.</para>

<screenshot id="screenshot-snippets-repository">
<screeninfo
>Editor di frammenti</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="snippets-repository.png" format="PNG"/></imageobject>
<textobject
><phrase
>L'editor di depositi.</phrase
></textobject>
<caption
><para
>L'interfaccia dell'editor di depositi.</para
></caption>
</mediaobject>
</screenshot>

<para
>L'editor dei depositi di frammenti contiene le seguenti opzioni:</para>

<variablelist>

<varlistentry>
<term
><guilabel
>Nome</guilabel
></term>
<listitem
><para
>Appare nell'elenco dei frammenti nella vista degli strumenti, e viene usato per la funzionalità di completamento del codice.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Spazio dei nomi</guilabel
></term>
<listitem
><para
>Prefisso usato nel completamento del codice.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Licenza</guilabel
></term>
<listitem
><para
>Seleziona la licenza per il tuo deposito di frammenti.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Autori</guilabel
></term>
<listitem
><para
>Inserisci i nomi degli autori del file di frammenti.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Tipi di file</guilabel
></term>
<listitem
><para
>Seleziona i tipi di file a cui vuoi che si applichi il deposito: l'impostazione predefinita è <quote
></quote
>, in modo che il deposito si applichi a tutti i file. Puoi cambiarla, per esempio in qualcosa come <userinput
>C++</userinput
>, oppure selezionare da un elenco mediante un clic sulle voci, e puoi specificare anche più di un tipo di file: basta che premi &Shift; mentre aggiungi i tipi.</para
></listitem>
</varlistentry>

</variablelist>

</sect3>

<sect3 id="snippets-editor">
<title
>Creare e modificare i frammenti</title>

<screenshot id="screenshot-snippets-form">
<screeninfo
>Editor di frammenti</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="snippets-form.png" format="PNG"/></imageobject>
<textobject
><phrase
>L'editor di frammenti.</phrase
></textobject>
<caption
><para
>L'interfaccia dell'editor di frammenti.</para
></caption>
</mediaobject>
</screenshot>

<variablelist>

<varlistentry>
<term
><guilabel
>Nome</guilabel
></term>
<listitem
><para
>Il nome che sarà mostrato nell'elenco di completamento.</para
></listitem>
</varlistentry>

<varlistentry>
<term
>Scorciatoia</term>
<listitem
><para
>Premendo questa scorciatoia il frammento sarà inserito nel documento.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Frammenti</guilabel
></term>
<listitem
><para
>Il testo che il tuo frammento inserirà nel documento.</para>
<para
>Un frammento può contenere campi modificabili, su cui puoi spostarti premendo &Tab;. Per creare i campi nel testo del modello si possono usare le seguenti espressioni:</para>
<para
><userinput
>${<replaceable
>field_name</replaceable
>}</userinput
> crea un semplice campo modificabile. Tutte le successive occorrenze dello stesso <replaceable
>field_name</replaceable
>creano campi che rispecchiano i contenuti del primo durante la modifica.</para>
<para
><userinput
>${<replaceable
>field_name=default</replaceable
>}</userinput
> può essere usato per specificare un valore predefinito per il campo. <replaceable
>default</replaceable
> può essere una qualsiasi espressione JavaScript.</para>
<para
>Usa <userinput
>${<replaceable
>field_name</replaceable
>=<replaceable
>testo</replaceable
>}</userinput
> per specificare una stringa fissa come valore predefinito.</para>
<para
><userinput
>${func(<replaceable
>other_field1</replaceable
>, <replaceable
>other_field2</replaceable
>, ...)}</userinput
> può essere usato per creare un campo che valuta una funzione JavaScript per ciascuna modifica e che contiene il suo contenuto. Vedi la scheda <guilabel
>Script</guilabel
> per maggiori informazioni.</para>
<para
><userinput
>${cursor}</userinput
> può essere usato per segnare la posizione finale del cursore dopo che è stato riempito tutto il resto.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Script</guilabel
></term>
<listitem
><para
>Funzioni di supporto in Javascript da usare nei tuoi frammenti.</para>
<para
>Tutte le funzioni JavaScript dovrebbero ritornare i contenuti che vuoi mettere nel modello di campo come una stringa.</para>
<para
>Le funzioni sono chiamate in un ambito che contiene i contenuti di tutti i campi modello come variabili locali. Per esempio, in un frammento che contiene <userinput
>${<replaceable
>field</replaceable
>}</userinput
> sarà presente una variabile, chiamata <userinput
>field</userinput
> , contenente i contenuti aggiornati del campo modello. Quelle variabili possono sia usate staticamente nella funzione sia passate come argomento usando la sintassi <userinput
>${func(field)}</userinput
> oppure <userinput
>${<replaceable
>field2=func(field)</replaceable
>}</userinput
> nella stringa del frammento.</para>
<para
>Puoi usare l'<ulink url="help:/katepart/development.html#dev-scripting-api"
>API di scripting di &kate;</ulink
> per ottenere il testo selezionato, l'intero testo, il nome del file ed altro usando i metodi appropriati degli oggetti <userinput
>document</userinput
> e <userinput
>view</userinput
>. Per ulteriori informazioni fai riferimento alla documentazione dell'API di scripting.</para>
</listitem>
</varlistentry>

</variablelist>
</sect3>
</sect2>

<sect2 id="snippets-using">
<title
>Usare i frammenti</title>

<screenshot id="screenshot-snippets-usage">
<screeninfo
>I frammenti di Kate in azione</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="snippets-usage.png" format="PNG"/></imageobject>
<textobject
><phrase
>Accesso ai frammenti di &kate; da una vista degli strumenti e un menu a cascata.</phrase
></textobject>
<caption
><para
>Selezione da un elenco di frammenti.</para
></caption>
</mediaobject>
</screenshot>

<para
>Puoi richiamare i frammenti in due modi:</para>

<itemizedlist>
<listitem
><para
>Scegliendo il frammento dalla vista dello strumento.</para
></listitem>
<listitem
><para
>Premendo <keycombo action="simul"
>&Ctrl;<keysym
>Spazio</keysym
></keycombo
> mentre scrivi: questo ti mostrerà tutti i frammenti in una comoda finestra da cui potrai sceglierne uno. Questa combinazione di tasti fornisce funzionalità simili a quelle del completamento del codice.</para
></listitem>
</itemizedlist>

<para
>Se il frammento contiene variabili (oltre a <userinput
>${cursor}</userinput
>) il cursore andrà automaticamente alla prima occorrenza di una variabile, e aspetterà che tu scriva qualcosa. Quando hai finito puoi premere &Tab; per passare alla prossima variabile, e così via.</para>

</sect2>

<sect2 id="snippets-ack">
<title
>Ringraziamenti e riconoscimenti</title>
<para
>I frammenti di &kate; sono stati scritti da Joseph Wenninger.</para>
<para
>Ringraziamenti speciali vanno al partecipante del Google Code-In 2011, Martin Gergov, per aver scritto la maggior parte di questa sezione.</para>
</sect2>

</sect1>


<sect1 id="kate-application-plugin-sql">
<sect1info>
<authorgroup>
<author
><firstname
>Ömer</firstname
> <othername
>Faruk</othername
> <surname
>Oruç</surname
></author>
<author
>&TC.Hollingsworth; &TC.Hollingsworth.mail;</author>
</authorgroup>
</sect1info>
<title
>Estensione SQL</title>

<sect2 id="sql-intro">
<title
>Introduzione</title>

<para
>Il linguaggio strutturato di interrogazione (SQL) è un linguaggio specializzato per l'aggiornamento, l'eliminazione e la richiesta di informazioni dalle banche dati.</para>

<para
>L'estensione SQL per &kate; ti permette di:</para>

<itemizedlist>
<listitem
><para
>Creare una banca dati</para
></listitem>
<listitem
><para
>Connetterti a banche dati esistenti</para
></listitem>
<listitem
><para
>Inserire ed eliminare dati dalle banche dati</para
></listitem>
<listitem
><para
>Eseguire le interrogazioni</para
></listitem>
<listitem
><para
>Visualizzare i risultati in una tabella</para
></listitem>
</itemizedlist>

</sect2>

<sect2 id="sql-connecting">
<title
>Connessione ad una banca dati</title>

<para
>Seleziona <guibutton
>Aggiungi connessione</guibutton
> dal menu o dalla barra degli strumenti <guimenu
>SQL</guimenu
>, e quindi seleziona il driver di banca dati di Qt che vuoi usare (inclusi QSQLITE, QMYSQL3, QMYSQL, QODBC3, QODBC, QPSQL7, e QPSQL); se non lo trovi devi installarlo. Premi quindi <guibutton
>Successivo</guibutton
>. </para>

<para
>Se la banca dati che hai selezionato usa un file, basta che ne indichi la posizione e che premi il pulsante <guibutton
>Successivo</guibutton
>; se è invece richiesta la connessione ad un server devi inserire il nome host, il tuo nome utente, la tua password e qualsiasi altra informazione che il driver ti richieda. Premi quindi <guibutton
>Successivo</guibutton
>.</para>

<para
>Infine dai un nome alla connessione e premi <guibutton
>Successivo</guibutton
>.</para>

</sect2>

<sect2 id="sql-querying">
<title
>Eseguire le interrogazioni</title>

<sect3 id="sql-querying-insert-delete-update">
<title
>INSERT/DELETE/UPDATE</title>

<para
>Con l'estensione SQL puoi inserire, eliminare ed aggiornare i dati, proprio come faresti da riga di comando o da un programma: basta che inserisci un'interrogazione e che premi il pulsante <guibutton
>Esegui interrogazione</guibutton
> nella barra degli strumenti, oppure <menuchoice
><guimenu
>SQL</guimenu
><guimenuitem
>Esegui interrogazione</guimenuitem
></menuchoice
> (<keycombo action="simul"
>&Ctrl;<keycap
>E</keycap
></keycombo
>).</para>

<example>
<title
>Alcune interrogazioni d'esempio</title>
<variablelist>

<varlistentry>
<term
><command
>INSERT</command
></term>
<listitem
><para
><programlisting
>INSERT INTO <replaceable
>nome_tabella</replaceable
> ("<replaceable
>campo1</replaceable
>", "<replaceable
>campo2</replaceable
>", "<replaceable
>campo3</replaceable
>", "<replaceable
>campo4</replaceable
>", "<replaceable
>campo5</replaceable
>")
VALUES ("<replaceable
>valore1</replaceable
>", "<replaceable
>valore2</replaceable
>", "<replaceable
>valore3</replaceable
>", "<replaceable
>valore4</replaceable
>", "<replaceable
>valore5</replaceable
>" )
</programlisting
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><command
>DELETE</command
></term>
<listitem
><para
><programlisting
>DELETE FROM <replaceable
>nome_tabella</replaceable
> WHERE name = "<replaceable
>testo</replaceable
>"
</programlisting
></para
></listitem>
</varlistentry>

<varlistentry>
<term
><command
>UPDATE</command
></term>
<listitem
><para
><programlisting
>UPDATE <replaceable
>nome_tabella</replaceable
> SET "<replaceable
>campo1</replaceable
>" = "<replaceable
>testo</replaceable
>", "<replaceable
>campo2</replaceable
>" = "<replaceable
>testo</replaceable
>", "<replaceable
>campo3</replaceable
>" = "<replaceable
>testo</replaceable
>", "<replaceable
>campo4</replaceable
>" = "<replaceable
>testo</replaceable
>", "<replaceable
>campo5</replaceable
>" = "<replaceable
>testo</replaceable
>"
</programlisting
></para
></listitem>
</varlistentry>

</variablelist>
</example>

</sect3>

<sect3 id="sql-querying-select">
<title
>SELECT</title>

<para
>Dopo aver eseguito un'interrogazione di tipo <command
>SELECT</command
> puoi vederne i risultati in una tabella; questa apparirà nella vista degli strumenti <guilabel
>Risultato di dati SQL</guilabel
> in fondo a &kate;, oppure come testo in <guilabel
>Risultato di testo SQL</guilabel
>. Se c'è un errore potrai vederlo dal risultato.</para>

<example>
<title
>Interrogazione <command
>SELECT</command
> d'esempio</title>
<para
><programlisting
>SELECT * FROM <replaceable
>nome_tabella</replaceable
>
</programlisting
></para>
</example>

<para
>Nella vista degli strumenti <guilabel
>Risultato di dati SQL</guilabel
> ci sono diversi pulsanti:</para>

<variablelist>

<varlistentry>
<term
><guibutton
>Ridimensiona le colonne in base ai contenuti</guibutton
></term>
<listitem
><para
>Cambia le dimensioni delle colonne per adattarsi al loro contenuto.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Ridimensiona le righe in base ai contenuti</guibutton
></term>
<listitem
><para
>Cambia le dimensioni delle righe per adattarsi al loro contenuto.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Copia</guibutton
></term>
<listitem
><para
>Seleziona tutto il contenuto della tabella e lo copia negli appunti.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Esporta</guibutton
></term>
<listitem
><para
>Esporta tutto il contenuto della tabella in un file, negli appunti o nel documento attuale in formato di valori separati da virgole (CSV).</para
></listitem>
</varlistentry>

<varlistentry>
<term
><guibutton
>Pulisci</guibutton
></term>
<listitem
><para
>Rimuove qualsiasi cosa dalla vista della tabella</para
></listitem>
</varlistentry>

<!--FIXME Use system locale -->

</variablelist>

<para
>Puoi ora cambiare i colori visualizzati nella tabella andando nella sezione <guilabel
>SQL</guilabel
> dopo aver selezionato <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Configura &kate;</guimenuitem
></menuchoice
>.</para>

</sect3>
</sect2>

<sect2 id="sql-browsing">
<title
>Sfogliare</title>

<para
>Puoi sfogliare la banca dati usando la vista dello strumento <guilabel
>Schema di banca dati</guilabel
> sulla sinistra. Le informazioni mostrate variano a seconda del driver per la banca dati che stai usando.</para>

<para
>Per aggiornare questo elenco fai clic con il &RMB; in qualsiasi parte nella vista dello strumento, e seleziona <guimenuitem
>Aggiorna</guimenuitem
>. Per generare un'interrogazione su una qualsiasi voce dell'elenco fai clic con il &RMB;, seleziona <guisubmenu
>Genera</guisubmenu
>, e quindi il tipo di interrogazione (<guimenuitem
>SELECT</guimenuitem
>, <guimenuitem
>UPDATE</guimenuitem
>, <guimenuitem
>INSERT</guimenuitem
>, o <guimenuitem
>DELETE</guimenuitem
>) dal sotto-menu che compare.</para>

</sect2>

<sect2 id="sql-menus">
<title
>Struttura del menu</title>
<variablelist>

<varlistentry>
<term
><menuchoice
><guimenu
>SQL</guimenu
><guimenuitem
>Aggiungi connessione...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Aggiunge una nuova connessione usando un qualsiasi driver per le banche dati. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>SQL</guimenu
><guimenuitem
>Rimuovi connessione</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Rimuove la connessione selezionata. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><guimenu
>SQL</guimenu
><guimenuitem
>Modifica connessione...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Modifica le impostazioni della connessione attuale. </para
></listitem>
</varlistentry>

<varlistentry>
<term
>Connessioni</term>
<listitem
><para
>Tutte le connessioni alle banche dati che hai creato sono elencate tra gli elementi del menu <guimenuitem
>Modifica connessione</guimenuitem
> ed <guimenuitem
>Esegui interrogazione</guimenuitem
>; selezionane una per eseguire interrogazioni o per modificarla. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><menuchoice
><shortcut
><keycombo action="simul"
>&Ctrl;<keycap
>E</keycap
></keycombo
></shortcut
> <guimenu
>SQL</guimenu
><guimenuitem
>Esegui interrogazione</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Esegue l'interrogazione. </para
></listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2 id="sql-ack">
<title
>Ringraziamenti e riconoscimenti</title>

<para
>L'estensione SQL è stata scritta da Marco Mentasti.</para>
<para
>Ringraziamenti speciali vanno al partecipante del Google Code-In 2011, Ömer Faruk Oruç, per aver scritto la maggior parte di questa sezione.</para>

</sect2>

</sect1>

<sect1 id="kate-application-plugin-symbolviewer">
<!--https://kate-editor.org/2010/10/27/php-treeview-improvements-in-kate/?-->
<title
>Estensione Visore di simboli</title>

<sect2 id="symbolviewer-using">
<title
>Usare l'estensione di chiusura per gruppo</title>

<para
>Permette agli sviluppatori di visualizzare i simboli (funzioni, macro e strutture) nel codice sorgente.</para>
<para
>Puoi agevolmente sfogliare il codice facendo clic sulle informazioni analizzate.</para>
<para
>Al momento sono supportati i seguenti linguaggi:</para>
<para
>C/C++, Java, Perl, PHP, Python, Ruby, XSLT, Tcl/Tk e Fortran</para>

<para
>Elenco delle funzionalità:</para>
<simplelist>
<member
>Modalità ad albero</member>
<member
>Abilita o disabilita l'ordinamento</member>
<member
>Mostra o nasconde i parametri delle funzioni</member>
<member
>Espande o collassa la modalità ad albero</member>
<member
>Auto-aggiorna dopo i cambiamenti</member>
<member
>L'analisi del codice è basata sull'infrastruttura di evidenziazione della sintassi di &kde-frameworks;</member>
</simplelist>

</sect2>

<sect2 id="symbolviewer-menu">
<title
>Struttura del menu</title>
<variablelist>

<varlistentry id="tools-symbolviewer">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>\</keycap
></keycombo
> </shortcut
> <guimenu
>Visualizza</guimenu
> <guisubmenu
>Vista degli strumenti</guisubmenu
> <guimenuitem
>Mostra lista dei simboli</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Commuta la vista della lista di simboli di &kate; visualizzando alternativamente le funzioni, le macro e le strutture del codice sorgente del documento attivo.</para>
</listitem>
</varlistentry>

</variablelist>

</sect2>

<sect2 id="symbolviewer-config">
<title
>Configurazione</title>

<screenshot id="screenshot-symbolviewer-settings">
<screeninfo
>Visore di simboli</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="symbolviewer-settings.png" format="PNG"/></imageobject>
<caption
><para
>Scegli le opzioni di elaborazione predefinite</para
></caption>
</mediaobject>
</screenshot>

</sect2>

</sect1>


<sect1 id="kate-application-plugin-konsole">
<title
>Estensione Strumento visivo per terminale</title>

<para
><indexterm
><primary
>Emulatore di terminale</primary
></indexterm
> L'emulatore di terminale integrato è, per tua comodità, una copia dell'applicazione di terminale &konsole; di &kde;. È disponibile alla voce di menu <menuchoice
><guimenu
>Visualizza</guimenu
><guisubmenu
>Viste degli strumenti</guisubmenu
> <guimenuitem
>Mostra terminale</guimenuitem
></menuchoice
>, e acquisirà il fuoco nel momento in cui viene visualizzato. In aggiunta, se l'opzione <link linkend="konsole-config"
>Sincronizza automaticamente il terminale con il documento attuale quando possibile</link
> è abilitata, passerà alla cartella del documento attuale quando viene visualizzato, se è possibile, oppure quando il documento corrente cambia.</para>

<para
>La posizione predefinita nella finestra di &kate; è in basso, sotto l'area di modifica.</para>

<para
>Puoi configurare &konsole; utilizzando il menu del &RMB;; per ulteriori informazioni vedi il <ulink url="help:/konsole/index.html"
>manuale di &konsole;</ulink
>.</para>

<para
>L'emulatore di terminale incorporato è fornito dall'estensione Strumento visivo per terminale.</para>

<sect2 id="konsole-menus">
<title
>Struttura del menu</title>

<variablelist>

<varlistentry id="view-toolviews-show-terminal">
<term
><menuchoice
><guimenu
>Visualizza</guimenu
> <guisubmenu
>Viste degli strumenti</guisubmenu
> <guimenuitem
>Mostra terminale</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Mostra o nasconde l'emulatore di terminale integrato.</para>
<para
>Il terminale sarà creato alla prima attivazione.</para>
<para
>Quando l'emulatore di terminale viene visualizzato, il fuoco si sposterà su di esso, in modo che tu possa digitare immediatamente i comandi. Se l'opzione <link linkend="konsole-config"
>Sincronizza automaticamente il terminale con il documento attuale quando possibile</link
> è abilitata nella pagina <guilabel
>Terminale</guilabel
> della <link linkend="config-dialog"
>finestra principale di configurazione</link
>, la sessione della shell passerà alla cartella del documento attuale, se questo è un file locale.</para>
</listitem>
</varlistentry>

<varlistentry id="view-toolviews-pipe-to-terminal">
<term
><menuchoice
><guimenu
>Strumenti</guimenu
> <guimenuitem
>Incanala al terminale</guimenuitem
></menuchoice
></term>
<listitem
><para
>Passa il testo selezionato all'emulatore di terminale integrato. Non viene aggiunto alcun carattere di fine riga dopo il testo.</para
></listitem>
</varlistentry>

<varlistentry id="tools-sync-terminal-document">
<term
><menuchoice
><guimenu
>Strumenti</guimenu
> <guimenuitem
>Sincronizza terminale con il documento attuale</guimenuitem
></menuchoice
></term>
<listitem>
<para
>Ciò avrà come effetto l'esecuzione del comando <command
>cd</command
> da parte del terminale incorporato, nella cartella del documento attivo.</para>

<para
>In alternativa puoi configurare &kate; in modo che mantenga sempre il terminale sincronizzato con il documento attuale, vedi <xref linkend="konsole-config"/> per ulteriori informazioni.</para>
</listitem>
</varlistentry>

<varlistentry id="tools-focus-terminal">
<term
><menuchoice
><guimenu
>Strumenti</guimenu
> <guimenuitem
>Attiva/Disattiva il terminale</guimenuitem
> </menuchoice
></term>
<listitem>
<para
>Passa il fuoco dal documento attuale al terminale e viceversa. </para>
</listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2 id="konsole-config">
<title
>Configurazione</title>

<para
>Puoi configurare l'estensione Strumento visivo per terminale dalla pagina <guilabel
>Terminale</guilabel
> della <link linkend="configuring-kate"
>finestra di configurazione</link
>.</para>

<para
>Sono disponibili le seguenti opzioni:</para>

<variablelist>
<varlistentry>
<term>
<guilabel
>Sincronizza automaticamente, quando è possibile, il terminale con il documento attuale</guilabel
></term>
<listitem
><para
>Ciò comporterà l'esecuzione nel terminale integrato del comando <command
>cd</command
> nella cartella del documento attivo al momento dell'avvio e quando un nuovo documento acquisisce il fuoco. Se non è abilitata, sarà necessario eseguire manualmente tutta la navigazione nel terminale. </para
></listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Impostare la variabile d'ambiente EDITOR a «kate -b»</guilabel
></term>
<listitem
><para
>Questa opzione imposta la variabile d'ambiente <envar
>EDITOR</envar
> in modo che i programmi eseguiti nel terminale integrato che aprono file in un editor li aprano in &kate; invece che nell'editor predefinito configurato nella tua shell. Affinché il programma che lo ha invocato sappia che la modifica del file è terminata, non sarà possibile continuare a utilizzare il terminale fino alla chiusura del file in &kate;.</para
></listitem>
</varlistentry>

</variablelist>
</sect2>

</sect1>

<sect1 id="kate-application-plugin-textfilter">

<title
>L'estensione Filtro di testo</title>

<sect2 id="textfilter-using">
<title
>Usare l'estensione Filtro di testo</title>

<para
>Puoi usare questa estensione per elaborare il testo selezionato usando i comandi da terminale. La selezione sarà utilizzata come input per il comando, e il risultato rimpiazzerà la selezione o sarà copiato negli appunti, a seconda delle preferenze dell'utente. </para>

<itemizedlist>
<title
>Esempi:</title>
<listitem
><para
><command
>less /etc/fstab</command
> - incolla il contenuto di questo file o lo copia negli appunti </para
></listitem>
<listitem
><para
><command
>wc</command
> - conta le righe, le parole e i caratteri della selezione e li incolla nel documento, o li copia negli appunti </para
></listitem>
<listitem
><para
><command
>sort</command
> - ordina le righe della selezione e incolla il risultato nel documento, o lo copia negli appunti </para
></listitem>
</itemizedlist>

</sect2>

<sect2 id="textfilter-menu">
<title
>Struttura del menu</title>

<variablelist>

<varlistentry id="tools-textfilter">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>\</keycap
></keycombo
> </shortcut
> <guimenu
>Strumenti</guimenu
> <guisubmenu
>Filtro di testo</guisubmenu
> </menuchoice
></term>
<listitem>

<para
><action
>Apre</action
> la finestra Filtro di testo:</para>

<screenshot id="screenshot-filtertext">
<screeninfo
>La finestra Filtro di testo</screeninfo>
<mediaobject>
<imageobject
><imagedata fileref="textfilter.png" format="PNG"/></imageobject>
</mediaobject>
</screenshot>

<para
>Inserisce il comando da shell nella casella combinata, oppure seleziona dalla cronologia un comando usato in precedenza.</para>

<variablelist>

<varlistentry>
<term
><guilabel
>Copia il risultato invece di incollarlo</guilabel
></term>
<listitem>
<para
>Copia il risultato negli appunti senza modificare il documento.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><guilabel
>Unisce STDOUT a STDERR</guilabel
></term>
<listitem>
<para
>Se selezionato verranno fusi i risultati da STDOUT e STDERR, e non saranno riportati gli errori. Diversamente STDERR sarà visualizzato come un messaggio passivo.</para>
</listitem>
</varlistentry>

</variablelist>

</listitem>
</varlistentry>

</variablelist>

</sect2>

</sect1>

<sect1 id="kate-application-plugin-xmlcheck">
<!-- from doc/kate-addons/xmlcheck.docbook -->
<sect1info>
<authorgroup
><author
>&Daniel.Naber; &Daniel.Naber.mail; </author
></authorgroup>
</sect1info>

<title
>Validazione &XML;</title>

<para
>Questa estensione controlla che i file &XML; siano validi e siano scritti correttamente.</para>
<para
>L'estensione controlla il file attuale: sul fondo della finestra principale di &kate; apparirà un elenco con gli avvertimenti e gli errori; puoi fare clic su un messaggio d'errore per saltare al punto corrispondente nel file. Se il file ha un <quote
>DOCTYPE</quote
>, allora per controllarne la validità si userà il DTD dato da questo. Ci si aspetta che il DTD sia in una posizione relativa al file attuale: per esempio, se il doctype si riferisce a <filename
>DTD/xhtml1-transitional.dtd</filename
> e il file è <filename
>/home/pippo/prova.xml</filename
>, allora ci si aspetta che il DTD sia a <filename
>/home/pippo/DTD/xhtml1-transitional.dtd</filename
>. Sono comunque supportati anche i DTD remoti specificati con http.</para>

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

<para
>Per saperne di più su &XML;, vedi le <ulink url="http://www.w3.org/XML/"
>pagine ufficiali del W3C su &XML;</ulink
>.</para>

<para
>Internamente questa estensione chiama il comando esterno <command
>xmllint</command
>, che fa parte di libxml2; l'estensione non funzionerà se questo comando non è correttamente installato nel tuo sistema.</para>

<para
>Per caricare questa estensione apri la finestra di configurazione di &kate; in <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Configura &kate;</guimenuitem
></menuchoice
>. Seleziona quindi <guilabel
>Validazione &XML;</guilabel
>, che apparirà nella sezione <guilabel
>Estensioni</guilabel
>, in <guilabel
>Applicazione</guilabel
>, e chiudi la finestra. </para>

<sect2 id="xmlcheck-menu">
<title
>Struttura del menu</title>

<variablelist>
<varlistentry>
<term>
<menuchoice
><guimenu
>&XML;</guimenu
> <guimenuitem
>Convalida &XML;</guimenuitem
> </menuchoice>
</term>
<listitem
><para
>Questo avvierà il controllo, come descritto sopra.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmlcheck-thanks-and-acknowledgements">
<title
>Ringraziamenti e riconoscimenti</title>
<para
>Estensione di &kate; <quote
>Validazione &XML;</quote
>, copyright 2002 di &Daniel.Naber; &Daniel.Naber.mail;. </para>
<para
>Copyright 2002 della documentazione di &Daniel.Naber;</para>

</sect2>
</sect1>

<sect1 id="kate-application-plugin-xmltools">
<!-- from doc/kate-addons/xmlcheck.docbook -->
<sect1info>
<authorgroup
><author
>&Daniel.Naber; &Daniel.Naber.mail; </author
></authorgroup>
</sect1info>
<title
>Completamento &XML;</title>

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

<para
>La <acronym
>DTD</acronym
> deve esistere in formato &XML;, come prodotta dal programma Perl <command
>dtdparse</command
>; indicheremo una tale DTD come <quote
>meta-DTD</quote
>. Sono fornite alcune meta-DTD, che sono installate in <filename class="directory"
>katexmltools/</filename
> in <userinput
><command
>qtpaths</command
> <option
>--paths GenericDataLocation </option
></userinput
>; questa è anche la cartella predefinita alla selezione di <guimenuitem
>Assegna meta-DTD</guimenuitem
>. Per produrre le tue meta-DTD recupera <command
>dtdparse</command
> da <ulink url="http://dtdparse.sourceforge.net"
>questo indirizzo</ulink
>.</para>

<sect2 id="xmltools-how-to-use">
<title
>Uso</title>

<para
>Avvia &kate; e apri la finestra di configurazione da <menuchoice
><guimenu
>Impostazioni</guimenu
><guimenuitem
>Configura &kate;...</guimenuitem
></menuchoice
>. Seleziona quindi <guilabel
>Completamento &XML;</guilabel
>, che apparirà nella sezione <guilabel
>Estensioni</guilabel
> sotto <guilabel
>Applicazione</guilabel
>, e chiudi la finestra, dopodiché seleziona <menuchoice
><guimenu
>&XML;</guimenu
><guimenuitem
>Assegna meta-DTD...</guimenuitem
></menuchoice
>. Se il documento non contiene alcun <quote
>DOCTYPE</quote
> o questo è sconosciuto, dovrai selezionare una meta-DTD dal filesystem, altrimenti sarà automaticamente caricata la meta-DTD corrispondente al DOCTYPE del documento attuale.</para>

<para
>Puoi ora usare l'estensione mentre scrivi del testo:</para>

<variablelist>

<varlistentry>
<term
><keycap
>&lt;</keycap
> (minore)</term>
<listitem
><para
>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 <quote
>&lt;html&gt;</quote
>).</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycombo action="seq"
><keycap
>&lt;</keycap
><keycap
>/</keycap
></keycombo
> (minore e sbarra)</term>
<listitem
><para
>Inserendo questi caratteri avrai la possibilità di chiudere l'elemento attuale (l'ultimo aperto a sinistra del cursore); premi &Enter; per accettare il suggerimento. Contrariamente all'elemento del menu <guimenuitem
>Chiudi elemento</guimenuitem
> questo funziona solo quando è stata assegnata una DTD.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>"</keycap
> (virgolette)</term>
<listitem
><para
>Il tasto delle virgolette attiverà un elenco di valori possibili per gli attributi (se ce ne sono), se sei all'interno di un tag.</para
></listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>&nbsp;</keycap
> (spazio)</term>
<listitem
><para
>Questo tasto attiverà un elenco di attributi possibili per l'elemento attuale, se sei dentro a un tag.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
><keycap
>&amp;</keycap
> (e commerciale)</term>
<listitem
><para
>Questo tasto attiverà un elenco di entità.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmltools-features-and-limitations">
<title
>Funzionalità e limitazioni</title>

<para
>Puoi provare tutte le funzioni e le limitazioni caricando in &kate; <filename
>katexmltools/testcases.xml</filename
> in <userinput
><command
>qtpaths</command
> <option
>--paths GenericDataLocation </option
></userinput
> e seguendo le istruzioni.</para>

</sect2>


<sect2 id="xmltools-menu">
<title
>Struttura del menu</title>

<variablelist id="xml-insert-element">
<varlistentry>
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;&Enter;</keycombo
> </shortcut
> <guimenu
>&XML;</guimenu
> <guimenuitem
>Inserisci elemento...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Questo aprirà una finestra che ti permette di inserire un elemento &XML;, mentre saranno inseriti automaticamente i caratteri &lt;, &gt; e il tag di chiusura. Il testo sarà incluso tra i tag di apertura e chiusura se lo avevi selezionato al momento della selezione di questo elemento del menu. Se hai assegnato una meta-DTD con <guimenuitem
>Assegna meta-DTD...</guimenuitem
> la finestra offre il completamento per tutti gli elementi che possono essere inseriti alla posizione attuale del cursore. </para
></listitem>
</varlistentry>

<varlistentry id="xml-close-element">
<term
><menuchoice
><shortcut
> <keycombo action="simul"
>&Ctrl;<keycap
>&lt;</keycap
></keycombo
> </shortcut
> <guimenu
>&XML;</guimenu
> <guimenuitem
>Chiudi elemento</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Questo cercherà nel testo un tag non ancora chiuso, e lo chiuderà inserendone il tag di chiusura corrispondente. La ricerca inizia dalla posizione del cursore e va verso sinistra. Se non è possibile trovare un tag aperto non succederà nulla.</para
></listitem>
</varlistentry>

<varlistentry id="xml-assign-metadtd">
<term
><menuchoice
><guimenu
>&XML;</guimenu
> <guimenuitem
>Assegna meta-DTD...</guimenuitem
> </menuchoice
></term>
<listitem
><para
>Questo dirà all'estensione quale meta-DTD usare per il documento attuale. Nota che questa assegnazione non verrà salvata, dovrai ripeterla al prossimo riavvio di &kate;.</para
></listitem>
</varlistentry>
</variablelist>

</sect2>

<sect2 id="xmltools-thanks-and-acknowledgements">
<title
>Ringraziamenti e riconoscimenti</title>
<para
>Estensione di &kate; <quote
>Completamento XML</quote
>, copyright 2001, 2002 di &Daniel.Naber; &Daniel.Naber.mail;. </para>
<para
>Copyright della versione per KDE SC 4 2010 di Tomáš Trnka</para>
<para
>Copyright 2001, 2002 della documentazione di &Daniel.Naber;</para>
</sect2>
</sect1>


</chapter>
