summaryrefslogtreecommitdiffstats
path: root/tde-i18n-it/docs/kdevelop/kdevelop/plugin-tools.docbook
blob: 560ff9378d33a749ebed91d4db67e68e3ee84c63 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
<appendix id="plugin-tools">
<title
>Plugin</title>

<indexterm zone="plugin-tools">
  <primary
>plugin</primary
></indexterm>

<para
>&kdevelop; contiene un grande numero di piccoli strumenti che aiutano ad eseguire alcuni compiti. La maggior parte di essi è realizzata come plugin, che quando non sono necessari possono essere disabilitati.</para>
<para
>Se si sta cercando un funzionalità che dovrebbe essere presente ma no lo è, allora potrebbe essere stata implementata in un plugin che è disattivato. Ad esempio, nel menu file è presente la funzionalità Apertura rapida file, ma solo se è stata abilitato nella finestra di dialogo Opzioni Progetto. </para>
 
<para
>Tecnicamente, i plugin sono costituiti dalla classe KDevPlugin definita nel file lib/interfaces/kdevplugin.h. Le informazioni seguenti sono tratte da un commento presente in quel file.</para>

<para
>KDevPlugin è la classe base per tutti i plugin di KDevelop. Un plugin è un componente che viene caricato nella shell di KDevelop all'avvio o su richiesta. Un plugin ha un ambito che può essere: <itemizedlist>
<listitem
><simpara
>Core</simpara
></listitem>
<listitem
><simpara
>Globale</simpara
></listitem>
<listitem
><simpara
>Progetto</simpara
></listitem>
</itemizedlist>
</para>

<para
>I plugin core sono plugin globali che forniscono alcune funzionalità fondamentali che non sono selezionabili dall'utente nella finestra di configurazione dei plugin.</para>

<para
>I plugin globali richiedono solo la shell per essere caricati, non funzionano con l'interfaccia di KDevProject e/o non usano le informazioni del progetto. Ad esempio, il plugin uimode permette allo sviluppatore di selezionare l'interfaccia utente desiderata. </para>

<para
>I plugin di progetto richiedono un progetto per essere caricati e sono normalmente caricati/scaricati assieme al progetto stesso. Se un plugin funziona con le informazioni relative ad un progetto allora è un plugin di progetto. Ad esempio, il gestore automake deve essere attivo solo quando viene caricato un progetto basato su automake. </para>

<para
>Come detto precedentemente, i plugin core non possono essere disabilitati. I plugin globali possono essere abilitati/disabilitati in <menuchoice
><guimenu
>Impostazioni</guimenu
> <guimenuitem
>Configura KDevelop...</guimenuitem
></menuchoice
> selezionando <guibutton
>Plugin</guibutton
>. I plugin di progetto possono essere abilitati/disabilitati in <menuchoice
><guimenu
>Progetto</guimenu
> <guimenuitem
>Opzioni Progetto...</guimenuitem
></menuchoice
> in <guibutton
>Plugin</guibutton
>. A seconda della loro funzione, i plugin abilitati possono avere molti effetti su KDevelop, come aggiungere menu, voci di menu, pulsanti, ecc. </para>

<para
>I plugin disabilitati non disturberanno i menu e non verranno caricati in memoria. </para>


<para
>Il seguente elenco di plugin è generato da un piccolo script (listplugins.sh) scritto da Volker Paul. Tutti i plugin possiedono un file .desktop contenente informazioni come il nome e i commenti. La eventuale scarsa utilità di quest'ultimi è da attribuire agli autori dei plugin.</para>
<para
>I plugin vengono raggruppati a seconda del loro ambito (core, globale, di progetto).</para>

<para
>Ambito: Core</para>
<itemizedlist>
<listitem
><formalpara id="KDevAppWizard">
<title
>Procedura guidata per le applicazioni</title>
<para
>Procedura guidata Nuovo Progetto</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevDiff">
<title
>Difference Viewer</title>
<para
>Visualizzatore differenze</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevFileCreate">
<title
>FileCreate</title>
<para
>FileCreate</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevFullScreen">
<title
>FullScreen</title>
<para
>FullScreen</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevTipOfDay">
<title
>Tip of the Day</title>
<para
>Consiglio del giorno</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevUIChooser">
<title
>Selezione dell'interfaccia utente</title>
<para
>Fornisce una finestra di dialogo per la selezione della modalità dell'interfaccia utente</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevVCSManager">
<title
>VCSManager</title>
<para
>Gestore del sistema di controllo della versione </para
></formalpara
></listitem>
</itemizedlist>

<para
>Ambito: Globale</para>
<itemizedlist>
<listitem
><formalpara id="KDevAbbrev">
<title
>Espansione delle abbreviazioni</title>
<para
>Fornisce il supporto per le abbreviazioni personalizzabili - parole brevi che vengono espanse in strutture di codice usate frequentemente.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevDocumentation">
<title
>Documentazione</title>
<para
>Il plugin Documentation permette di navigare e di effettuare ricerche nella documentazione locale e online con il supporto per vari sistemi di documentazione.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevfilelist">
<title
>ListaFile</title>
<para
>Fornisce un elenco di tutti i file attualmente aperti. (Comodo quando la barra delle schede non è abbastanza lunga).</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevFileSelector">
<title
>Selettore File</title>
<para
>Una potente utility trasparente alla rete per sfogliare i file.</para
></formalpara
></listitem>
<listitem
><formalpara>
<title
>Inserimento e filtraggio da shell</title>
<para
>Permette di modificare il testo nell'editor usando strumenti a linea di comando. È presente nel menu Strumenti.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevGrepView">
<title
>Interfaccia a Grep</title>
<para
>Integra le funzioni di ricerca e del programma grep in KDevelop - permette la ricerca veloce in file multipli usando pattern o espressioni regolari.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevKonsoleView">
<title
>Konsole integrata</title>
<para
>Questo plugin fornisce una console integrata in KDevelop che permette un accesso facile e rapido alla linea di comando.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevOpenWith">
<title
>Aggiunta al menu della voce "Apri con"</title>
<para
>Questo plugin fornisce varie alternative di apertura nei vari menu contestuali.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevPartExplorer">
<title
>Strumento per l'esplorazione di componenti</title>
<para
>Uno strumento a interfaccia grafica per effettuare interrogazioni di tipo KTrader ai servizi registrati.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevRegexpTest">
<title
>Convalidatore per espressioni regolari</title>
<para
>Strumento per scrivere e effettuare il test di espressioni regolari in base alle sintassi più comuni.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevReplace">
<title
>Componente per sostituire</title>
<para
>Questo plugin è uno strumento interattivo per effettuare ricerche e sostituzioni. Le ricerche sono basate su stringhe o espressioni regolari e le sostituzioni da effettuare possono essere visualizzate in un'anteprima. Quando il plugin viene caricato, appare nel menu Modifica.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevscripting">
<title
>Script</title>
<para
>Questo plugin fornisce le funzionalità di scripting basate su KScript</para
></formalpara
></listitem>
<listitem
><formalpara id="Code_Snippets">
<title
>Frammenti di codice</title>
<para
>Questo plugin permette di memorizzare i frammenti di codice e aggiungerli al proprio codice</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevTextTools">
<title
>Struttura testo</title>
<para
>Fornisce una visualizzazione strutturata e la navigazione nei file HTML e TEX.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevTools">
<title
>Aggiunte al menu Strumenti</title>
<para
>Questo plugin fornisce un sistema semplice per aggiungere applicazioni esterne al menu strumenti e alla barra degli strumenti.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevvalgrind">
<title
>Interfaccia a Valgrind</title>
<para
>Valgrind è uno strumento che aiuta a trovare i problemi di gestione della memoria nei programmi. http://developer.kde.org/~sewardj/</para
></formalpara
></listitem>
</itemizedlist>

<para
>Ambito: Progetti</para>
<itemizedlist>
<listitem
><formalpara id="KDevannotation">
<title
>Plugin annotation</title>
<para
>Descrizione di annotation</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevAStyle">
<title
>Formattatore del codice sorgente</title>
<para
>Plugin per la formattazione del codice sorgente in base a specifiche regole. Quando viene caricato si trova nel menu Strumenti.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevBookmarks">
<title
>Segnalibri</title>
<para
>Questo plugin permette la navigazione tra i segnalibri e li memorizza tra una sessione e l'altra.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevClassView">
<title
>Visualizza Classe</title>
<para
>Questo plugin fornisce una visuale grafica di tutte le classi del progetto con i loro metodi e attributi, assieme ad un sistema per navigare direttamente nel codice sorgente.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevcopyto">
<title
>CopyTo</title>
<para
>Semplice plugin per il caricamento dei file (upload). Effettua la copia dei file attraverso qualunque protocollo supportato da KIO.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevCTags2">
<title
>Interfaccia a CTags</title>
<para
>CTags è uno strumento per la navigazione nel codice sorgente che supporta molti linguaggi. Quando è caricato fornisce un menu contestuale per trovare le definizioni/dichiarazioni e una finestra di dialogo per le interrogazioni (query). http://ctags.sourceforge.net/</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevdistpart">
<title
>Supporto finale per la creazione dei pacchetti</title>
<para
>Aiuta nella costruzione e pubblicazione del progetto finale. Per il momento è supportato solo il tipo di pacchetto RPM.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevDoxygen">
<title
>Supporto Doxygen</title>
<para
>Il plugin doxygen consente di specificare e controllare la generazione della documentazione per un progetto, in base al contenuto del codice sorgente. È necessario avere installato doxygen: per ulteriori informazioni vedere http://www.doxygen.org.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevQuickOpen">
<title
>Apertura rapida</title>
<para
>Permette di trovare e aprire in modo efficiente i file, le classi e i metodi in un progetto di grosse dimensioni. Quando viene caricato si trova nei menu File e Strumenti.</para
></formalpara
></listitem>
<listitem
><formalpara id="KDevSecurity">
<title
>Security Checker</title>
<para
>Controlla la sicurezza del codice</para
></formalpara
></listitem>
</itemizedlist>
<para
>Per l'elenco dei plugin generato è tutto.</para>


<table id="table-project-parts">
<title
>Plugin per la gestione dei progetti in &kdevelop;</title>
<tgroup cols="2"
><tbody>
<row>
  <entry
>antproject</entry>
  <entry
>Gestore di progetto ANT (per applicazioni &Java;)</entry>
</row>
<row>
  <entry
>autoproject</entry>
  <entry
>Gestore di progetto Automake</entry>
</row>
<row>
  <entry
>customproject</entry>
  <entry
>Gestore di progetto personalizzato</entry>
</row>
<row>
  <entry
>trollproject</entry>
  <entry
>Gestore di progetto basato su QMake</entry>
</row>
</tbody
></tgroup>
</table>
<para
>I precedenti plugin sono attualmente (maggio 2005) vuoti. È possibile che il supporto per la gestione dei progetti venga in futuro implementato sotto forma di plugin.</para>


<table>
<title
>Plugin per il supporto dei linguaggi in &kdevelop;</title>
<tgroup cols="2">
<tbody>
<row
><entry
>cppsupport</entry
><entry
>Supporto per C/C++</entry
></row>
<row
><entry
>fortransupport</entry
><entry
>Supporto per Fortran</entry
></row>
<row
><entry
>javasupport</entry
><entry
>Supporto per &Java;</entry
></row>
<row
><entry
>perlsupport</entry
><entry
>Supporto per Perl</entry
></row>
<row
><entry
>phpsupport</entry
><entry
>Supporto per PHP</entry
></row>
<row
><entry
>pythonsupport</entry
><entry
>Supporto per Phyton</entry
></row>
</tbody
></tgroup>
</table>


<para
>Di seguito verranno esaminati alcuni tra questi plugin.</para>

<itemizedlist>
<listitem>
<formalpara>
<title
>Il plugin <command
>abbrev</command
></title>
<indexterm zone="plugin-tools"
><primary
><command
>abbrev</command
></primary
></indexterm>

<para
>Questo plugin espande le abbreviazioni in frammenti di codice molto usati. Si attiva premendo <keycombo
><keycap
>Ctrl</keycap
> <keycap
>Spazio</keycap
></keycombo
>. Per esempio, se si inserisce nell'editor <literal
>"ife"</literal
> in un file C++ e si preme <keycombo
><keycap
>Ctrl</keycap
><keycap
>Spazio</keycap
></keycombo
>, si ottiene un modello di codice <literal
>if-else</literal
> e si risparmia qualche battitura di tasti. L'insieme delle abbreviazioni supportate dipende dal linguaggio di programmazione del file che viene modificato. Per esempio, per PHP si sarà ovviamente interessati ad altri modelli di codice rispetto a quelli di &Java;. </para>
</formalpara>

<para
>L'insieme dei modelli di codice è configurabile. Se il plugin è abilitato, si possono vedere quelli disponibili in <menuchoice
><guimenu
>Impostazioni</guimenu
> <guimenuitem
>Configura KDevelop...</guimenuitem
></menuchoice
> in <guibutton
>Abbreviazioni</guibutton
>. </para>
</listitem>

<listitem>
<formalpara id="KDevFilter">
<title
>Il plugin <command
>filter</command
></title>
<indexterm zone="plugin-tools"
><primary
><command
>filter</command
></primary
></indexterm>

<para
>Questo plugin fornisce due funzioni. Se si seleziona <menuchoice
><guimenu
>Strumenti</guimenu
> <guimenuitem
>Esegui comando...</guimenuitem
></menuchoice
>, si può inserire un comando di shell. L'output del comando è inserito nel buffer dell'editor quando si preme il pulsante <guibutton
>Avvia</guibutton
>. </para>
</formalpara>

<para
>La funzione relativa è disponibile in <menuchoice
><guimenu
>Strumenti</guimenu
><guimenuitem
>Selezione filtro tramite comando...</guimenuitem
></menuchoice
>. Per usarla, si deve selezionare un'area di testo nell'editor. Se si inserisce un comando e si preme il pulsante <guibutton
>Avvia</guibutton
> esso verrà avviato e verrà usata la selezione come input. Lo standard output del comando viene quindi inserito nell'editor. </para>

<para
>Ad esempio, scrivendo della documentazione si deve fare spesso riferimento alle voci dei menu. Per farlo correttamente, considerando ad es. il comando Copia del menu Modifica, si deve scrivere: <programlisting
>&lt;menuchoice&gt;&lt;guimenu&gt;Modifica&lt;/guimenu&gt;&lt;guimenuitem&gt;Copia&lt;/guimenuitem&gt;&lt;/menuchoice&gt;</programlisting
>. Siccome è piuttosto complesso, si può invece scrivere semplicemente "Modifica - Copia" e lasciare che sia il computer ad aggiungere i tag in questo modo. Si scrive un piccolo script per la shell chiamato mef e lo si memorizza ad es. nella directory bin di home: <programlisting
>sed s/"^\(.*\) - \(.*\)\$"/"&lt;menuchoice&gt;&lt;guimenu&gt;\1&lt;\/guimenu&gt;&lt;guimenuitem&gt;\2&lt;\/guimenuitem&gt;&lt;\/menuchoice&gt;"/</programlisting
> Non si deve dimenticare di renderlo eseguibile. Ora, nel file sorgente .docbook della documentazione si può scrivere "Modifica - Copia", selezionare questo testo, scegliere <menuchoice
><guimenu
>Strumenti</guimenu
><guimenuitem
>Selezione filtro tramite comando...</guimenuitem
></menuchoice
> e chiamare il file ~/bin/mef. Istantaneamente il testo "Modifica - Copia" verrà sostituito dal testo <programlisting
>&lt;menuchoice&gt;&lt;guimenu&gt;Modifica&lt;/guimenu&gt;&lt;guimenuitem&gt;Copia&lt;/guimenuitem&gt;&lt;/menuchoice&gt;</programlisting>
</para>


</listitem>

<listitem>
<formalpara>
<title
>Il plugin &doxygen;</title>
<indexterm zone="plugin-tools"
><primary
>&doxygen;</primary
></indexterm>
<indexterm zone="plugin-tools"
><primary
>strumento per la documentazione</primary
></indexterm>
<indexterm zone="plugin-tools"
><primary
>documentazione API</primary
></indexterm>

<para
>Questo plugin aiuta ad utilizzare lo strumento per la documentazione API &doxygen; (<ulink url="http://www.doxygen.org"
></ulink
>). Per generare la documentazione API del proprio progetto, in base alla configurazione contenuta nel file <filename
>Doxyfile</filename
> presente nella directory del progetto, selezionare <menuchoice
><guimenu
>Progetto</guimenu
> <guimenuitem
>Esegui doxygen</guimenuitem
></menuchoice
>. </para>
</formalpara>

<para
>Inoltre, si può configurare &doxygen; nella finestra di dialogo <menuchoice
><guimenu
>Progetto</guimenu
> <guimenuitem
>Opzioni progetto...</guimenuitem
></menuchoice
>, che è molto simile allo strumento &doxywizard;. </para>
</listitem>

<listitem>
<formalpara>
<title
>Il plugin &ctags;</title>
<indexterm zone="plugin-tools"
><primary
>&ctags;</primary
></indexterm>

<para
>Anche se il browser per le classi fornisce una visione approfondita dei simboli e delle classi del progetto, si può utilizzare anche lo strumento ctags, che supporta molti più linguaggi. </para>
</formalpara>

<para
>Il plugin viene attivato in <menuchoice
><guimenu
>Strumenti</guimenu
> <guimenuitem
>CTags...</guimenuitem
></menuchoice
>. Al primo avvio verrà chiesto di generare un database di ricerca. Quando si accetta, il programma &ctags; verrà avviato e creerà un file chiamato <filename
>tags</filename
> nella directory del progetto. È un file di testo contenente tutti i simboli dei file sorgenti. </para>

<para
>Si possono effettuare ricerche nel database dei simboli in due modi: quando è marcata la casella <guilabel
>Regular expression match</guilabel
>, il testo inserito verrà interpretato come una espressione regolare (tipo POSIX) e confrontata con i simboli esistenti. Ad esempio, il testo <literal
>.*Widget</literal
> corrisponde a tutti i simboli che terminano con <literal
>Widget</literal
>. Se la casella non è marcata, la ricerca sarà effettuata letteralmente. </para>

<para
>Quando viene fatta una ricerca si riceverà una lista di simboli corrispondenti accompagnati dal numero di linea del punto dove sono definiti. Facendo clic sulla lista si passerà al punto relativo.  </para>

<para
>&ctags; per alcuni linguaggi distingue i vari tipi di simboli. Ad esempio, Python ha classi e funzioni: si può decidere di cercare solo le classi selezionando il tipo relativo nella finestra di dialogo. </para>

<para
>Normalmente il database dei simboli non viene aggiornato quando si modificano i file sorgente. Di conseguenza dopo un po' i numeri di linea non saranno più corretti e mancheranno le nuove classi e funzioni. Perciò si dovrebbe aggiornare il file <filename
>tags</filename
> ad intervalli regolari premendo il pulsante <guibutton
>Rigenerare</guibutton
>. </para>
</listitem>

<listitem>
<formalpara>
<title
>Il plugin <command
>astyle</command
></title>
<indexterm zone="plugin-tools"
><primary
><command
>astyle</command
></primary
></indexterm>
<indexterm zone="plugin-tools"
><primary
><application
>Artistic Style</application
></primary
></indexterm>
<indexterm zone="plugin-tools"
><primary
>indentazione</primary
></indexterm>

<para
>Il plugin Astyle formatta il codice sorgente in base a specifiche regole. </para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title
>Il plugin <command
>regexptest</command
></title>
<indexterm zone="plugin-tools"
><primary
><command
>regexptest</command
></primary
></indexterm>
<indexterm zone="plugin-tools"
><primary
>debug</primary
><secondary
>espressioni regolari</secondary
></indexterm>
<indexterm zone="plugin-tools"
><primary
>espressioni regolari</primary
><secondary
>debug</secondary
></indexterm>

<para
>La progettazione con le espressioni regolari può diventare un lavoro pesante. Spesso al primo tentativo l'espressione corrisponde a troppe stringhe. In particolare, quando si lavora con un linguaggio compilato, i tempi di debug di una espressione regolare possono essere scomodi. Il plugin regexptest permette di esplorare direttamente i cambiamenti in una espressione regolare. Viene attivato con <menuchoice
><guimenu
>Strumenti</guimenu
> <guimenuitem
>Debug dell'espressione regolare</guimenuitem
></menuchoice
>. </para>
</formalpara>

<para
>Nelle caselle si può scegliere il tipo di motore di espressioni regolari da usare. Attualmente sono supportati il tipo definito dallo standard POSIX, usato dal programma &grep;, e la sintassi POSIX estesa usata dal programma &egrep;. </para>

<para
>Quando si inserisce un'espressione si riceverà un feedback immediato su ogni errore di sintassi. Inserendo un testo in <guilabel
>Test stringa</guilabel
>, si può vedere se l'espressione corrisponde alla stringa. In particolare, se l'espressione regolare include gruppi come <literal
>([a-z])</literal
>, viene visualizzato il contenuto del sottogruppo corrispondente in un elenco. </para>
</listitem>

<!--
<listitem>
<formalpara>
<title
>The <command
>konsole</command
> Plugin</title>
<indexterm zone="plugin-tools"
><primary
><command
>konsole</command
></primary
></indexterm>
<indexterm zone="plugin-tools"
><primary
>terminal</primary
><secondary
>embedded</secondary
></indexterm>
<para
></para>
</formalpara>
</listitem>
-->

</itemizedlist>

</appendix
> <!-- plugin-tools -->

<!-- ====================================================================== -->