Il sistema di Scripting di Altium Designer è composto da due parti principali: l’editor e il debugger. L’editor offre una gamma di funzioni di assistenza e ispezione del codice di scripting, mentre il debugger fornisce accesso ai componenti dello script e alle funzionalità di debug.
Strumenti di scripting
Il sistema di scripting mette a disposizione una serie di strumenti per aiutarti a scrivere ed eseguire il debug degli script. Insieme alle funzionalità di completamento automatico e analisi del codice, il sistema di scripting ti consente di scorrere interattivamente gli script riga per riga, ispezionare variabili e oggetti e impostare breakpoint su una o più righe dello script.
Gli strumenti dell’Editor di Scripting sono una risorsa fondamentale quando si esegue il debug degli script.
Impostazione del linguaggio
Dalla finestra di dialogo Language Setup, puoi creare, modificare e gestire un elenco di linguaggi che possono essere associati ai documenti aperti in una variante del Text Editor con supporto al codice. Ogni linguaggio è costituito da uno schema sintattico, un insieme di modelli di codice e un elenco di associazioni di file. Per accedere alla finestra di dialogo, fai clic su
nella Text Utilities barra degli strumenti.

La finestra di dialogo Language Setup
La finestra di dialogo contiene un elenco dei linguaggi attualmente definiti. Usala per creare, duplicare, modificare e rimuovere i linguaggi secondo necessità . Per ogni linguaggio devono essere definiti i seguenti elementi:
- La mappatura di un’estensione di file a un linguaggio è univoca; se aggiungi la stessa estensione a un altro linguaggio, la mappatura al linguaggio precedente viene rimossa automaticamente.
- Se un file con una particolare estensione è associato a un linguaggio, il contenuto del file viene evidenziato in base alla sintassi definita per quel linguaggio.
- Quando duplichi un linguaggio, ne copi anche lo schema sintattico, oltre a tutti i modelli di codice che contiene.
Evidenziazione della sintassi
L’evidenziazione della sintassi è un metodo usato per rendere i documenti di testo più leggibili, in cui i diversi elementi del documento vengono evidenziati in base alla loro sintassi. Questo avviene assegnando a parole, simboli e identificatori diversi un colore univoco. Questo insieme di assegnazioni di colore è chiamato sintassi del linguaggio.
Lo schema sintattico del linguaggio associato al documento corrente può essere definito/modificato dalla finestra di dialogo Syntax Editor, accessibile dal Text Editor (o da qualsiasi sua variante con supporto al codice), facendo clic sul pulsante
nella Text Utilities barra degli strumenti.

La finestra di dialogo Syntax Editor
Sebbene il comando sia disponibile in modo generico dalla barra degli strumenti Text Utilities, tieni presente che ai file di testo standard (*.txt) non è associato alcun linguaggio e quindi l’accesso alla finestra di dialogo non è consentito all’interno di un documento di questo tipo.
La finestra di dialogo Syntax Editor è suddivisa in cinque schede, ciascuna delle quali rappresenta una diversa area della sintassi del linguaggio:
- Options - usata per definire varie opzioni sintattiche generali.
- Comments - usata per definire i commenti. I commenti sono elementi nel file di testo che desideri definire come commenti del codice. Possono essere definiti come commenti su singola riga, su riga intera o su più righe. I commenti sono definiti dai loro delimitatori, cioè i caratteri che indicano che un blocco di testo è un commento. I commenti su singola riga e su riga intera richiedono solo un delimitatore sinistro (l’altra estremità è definita da un carattere EOL). I commenti su singola riga possono iniziare in qualsiasi punto della riga, mentre i commenti su riga intera richiedono che il delimitatore del commento sia il primo carattere della riga. I commenti multilinea richiedono un delimitatore sinistro e uno destro per definire dove iniziano e dove terminano.
- Strings - usata per definire le stringhe. Le stringhe sono elementi nel file di testo che desideri definire come stringhe nel codice, ad esempio stringhe che appaiono come messaggio in una finestra di dialogo visualizzata dal programma. Sono supportate sia stringhe su singola riga sia stringhe multilinea, ed entrambi i tipi richiedono delimitatori sinistro e destro per definirne il punto di inizio e di fine.
- Numbers - usata per definire i numeri. Come commenti e stringhe, i numeri sono un’altra classe di informazioni nel documento che potresti voler mettere in evidenza. Simple numbers sono definiti come stringhe di cifre numeriche, che possono contenere o meno un punto decimale, per esempio, 45, 45.6 ma non 45.6.6. I numeri semplici possono anche includere un carattere E, che denota la notazione scientifica, come 53E3 o 24e6. Special numberssono definiti come aventi un prefisso e/o un suffisso e contengono cifre numeriche o le lettere da A a F. Questi possono essere usati, per esempio, per indicare a un compilatore che il numero è esadecimale o ottale. Esempi di questi numeri sono 0xAF034AD, 88j, j8A8y, ma non 0xA.4. Ogni tipo di numero è specificato da un suffisso, un prefisso oppure da una combinazione di prefisso e suffisso. Il comportamento di base di prefissi e suffissi è che, ogni volta che viene rilevato un prefisso o suffisso valido in combinazione con un numero, il numero e il prefisso (o suffisso) vengono evidenziati secondo lo stile del numero. Questo comportamento di base può essere modificato tramite ulteriori opzioni disponibili.
- Keywords - usata per definire le parole chiave. Le parole chiave sono un insieme di parole predefinite che desideri mettere in evidenza nel documento. In genere si tratta di parole riservate dal linguaggio di programmazione per identificare una funzione specifica, una procedura, un tipo di oggetto e così via. Le parole chiave sono definite come parte di uno o più insiemi di parole chiave, ciascuno con il proprio stile (parametri di colore e carattere), migliorando ulteriormente la leggibilità del documento.
- Abilita/disabilita l’evidenziazione della sintassi per ciascuno degli elementi sintattici nelle rispettive schede. Se l’opzione di evidenziazione per un elemento sintattico è disabilitata, qualsiasi sintassi di quel tipo presente nel documento non verrà più evidenziata e tornerà allo stile del testo normale.
- Se la stessa parola chiave compare in più di un insieme di parole chiave, verrà applicato lo stile di evidenziazione dell’insieme che appare per primo nell’elenco.
- Le parole chiave possono contenere caratteri alfabetici e numerici, oltre al carattere underscore. La parola chiave non può iniziare con un carattere numerico.
Completamento del codice
L’editor supporta una funzione di completamento del codice, che consiste in una finestra pop-up automatica che visualizza opzioni di codice sensibili al contesto.
Quando digiti un punto dopo il nome di un’interfaccia oggetto, viene mostrato un elenco delle proprietà e dei metodi disponibili per quell’oggetto in una finestra pop-up di completamento del codice; continua a digitare per restringere ulteriormente l’elenco. Selezionando un’opzione dall’elenco, il codice verrà completato con quella procedura/funzione o proprietà .

Puoi usare i tasti di scelta rapida Ctrl+Space per visualizzare in qualsiasi momento la finestra dell’elenco di completamento del codice..
L’elenco di completamento del codice includerà anche le procedure e le funzioni globali disponibili nel progetto attualmente aperto, comprese quelle nello script corrente.
La funzione di completamento del codice è estremamente utile per selezionare l’interfaccia oggetto, il metodo e la proprietà corretti da applicare in uno script.
Modelli di istruzione
I modelli di codice sono blocchi di codice predefiniti che possono essere inseriti automaticamente in un file testuale con supporto al codice e rappresentano un eccellente aiuto alla produttività quando scrivi codice in un determinato linguaggio. Ogni modello di codice ha tre proprietà : un nome, una descrizione e il codice effettivo da inserire tramite il modello.
La funzione dei modelli di script genererà automaticamente una struttura di codice per l’istruzione selezionata dalla finestra dell’elenco pop-up.
L’elenco pop-up può essere attivato in qualsiasi momento tramite i tasti di scelta rapida Ctrl+J , il pulsante Show Code Templates (
nella Text Utilitiesbarra degli strumenti), oppure con il comando Tools » Show Code Templates dai menu principali. Se attivato dopo aver digitato le prime lettere di un’istruzione di codice, per esempio 'proc', il codice dell’istruzione corrispondente compilerà automaticamente il documento con la struttura Procedure . In alternativa, se sono disponibili più istruzioni per le lettere di codice già digitate (per esempio 'if'), la finestra dell’elenco dei modelli offrirà un elenco filtrato di istruzioni.
Puoi anche posizionare il cursore nel punto desiderato del file e quindi avviare il comando. Apparirà una finestra pop-up che elenca tutti i modelli di codice disponibili definiti per il linguaggio associato. Scegli la voce richiesta per inserire quel modello.

Ogni modello di codice è identificato dal proprio nome, come specificato nella finestra di dialogo Code Templates Editor. È possibile accedere a questa finestra di dialogo dalla finestra di dialogo Language Setup (fai clic su
nella Text Utilities barra degli strumenti), scegliendo il comando Templates da Menu.
Parametri del metodo
La funzione Parametri del metodo dello script visualizza un messaggio pop-up che mostra quali parametri vengono usati per un particolare metodo (funzione/procedura ecc.) di un’interfaccia oggetto.
Quando viene digitata la parentesi tonda iniziale dopo un metodo, come mostrato nell’immagine seguente, il messaggio Parametri apparirà automaticamente. I tasti Shift+Ctrl+Space possono essere usati per visualizzare manualmente il messaggio pop-up Parametri, ove applicabile.

Per vedere la definizione dei parametri di un’istruzione di metodo completata, posiziona il cursore all’interno delle parentesi dei parametri e usa Shift+Ctrl+Space per richiamare il pop-up.
Il messaggio pop-up Parametri mostra anche la posizione sorgente della definizione del metodo (funzione/procedura), ove applicabile. Nell’esempio sopra, il metodo (ShowAParametricMessage) è definito nello script HelloWorld.pas alla riga 14: passa il mouse sull’immagine per vedere il metodo come usato nello script HelloWorldDialog.
Navigazione alla definizione
L’origine della definizione di una variabile o di un metodo di script può essere individuata immediatamente usando la funzione di Navigazione dell’editor.
Per trovare l’origine della definizione di una variabile, premi il tasto Ctrl mentre fai clic sulla variabile nel punto in cui viene usata nello script. Il cursore si sposterà sulla definizione. Usa lo stesso metodo (Ctrl+Click) per individuare la definizione sorgente di una procedura. Se la procedura è definita in un altro script del progetto, quello script verrà aperto con il cursore posizionato sulla procedura.

Insight ToolTip
La funzione Insight ToolTip mostra il tipo di variabile quando il cursore del mouse passa sopra la variabile. Analogamente, passando il mouse sopra una procedura ne vengono mostrati la definizione e la posizione (script e numero di riga).

Punti di interruzione
I punti di interruzione sono uno strumento di debug fondamentale che consente di sospendere l’esecuzione di uno script in punti predefiniti. Un uso tipico dei punti di interruzione è nei diversi rami di un’istruzione condizionale, dove viene inserito un punto di interruzione in ciascun ramo per verificare quale venga eseguito.
Il modo più semplice per specificare un punto di interruzione è fare clic nel margine dell’editor accanto a una riga di codice, che verrà evidenziata in rosso. L’evidenziazione della riga cambierà in verde pisello quando uno script in esecuzione avrà raggiunto quel punto di interruzione. Lo script può essere eseguito fino al punto di interruzione successivo con il comando Run (scorciatoia: F9) o con i comandi di esecuzione passo-passo.

Per attivare/disattivare un punto di interruzione per la riga corrente, è anche possibile usare il comando Run » Toggle Breakpoint dal menu principale (scorciatoia: F5).
In alternativa, usare il comando Run » Add Breakpoint dal menu principale per aprire la finestra di dialogo Add New Breakpoint, dalla quale è possibile definire un nuovo punto di interruzione da aggiungere a qualsiasi documento di script attualmente aperto. Usare questa finestra di dialogo per definire a quale numero di riga, all’interno del documento selezionato, debba essere aggiunto il punto di interruzione. Il campo Condition della finestra di dialogo consente di definire un punto di interruzione condizionale, per cui l’esecuzione dello script si interromperà solo se la condizione associata al punto di interruzione restituisce true; in caso contrario, l’esecuzione proseguirà senza interruzioni.
È inoltre possibile scegliere se il punto di interruzione debba essere inizialmente impostato come abilitato o disabilitato. Un punto di interruzione disabilitato rimane definito ma non farà arrestare uno script in esecuzione quando viene raggiunto.
- Un punto di interruzione abilitato è indicato nel codice da un’evidenziazione rossa sulla riga del punto di interruzione e da un cerchio rosso con una croce nel margine (
). Un punto di interruzione disabilitato è indicato nel codice da un’evidenziazione verde sulla riga del punto di interruzione e da un cerchio verde con una croce nel margine (
).
- Un punto di interruzione disabilitato non può essere rimosso direttamente dal documento di script. Nello stato disabilitato, l’eliminazione è possibile solo dal pannello Breakpoints.

La finestra di dialogo Add New Breakpoint
Si noti che un punto di interruzione di script deve trovarsi su una riga contenente un’istruzione. Eventuali punti di interruzione impostati su righe vuote, righe commentate o altri elementi che non siano istruzioni verranno ignorati.
È possibile accedere ai punti di interruzione tramite il pannello Breakpoints per individuare e gestire facilmente tutti i punti di interruzione impostati, senza doverli cercare nello script. Il pannello fornisce informazioni su tutti i punti di interruzione attualmente definiti in tutti i file di script aperti (indipendentemente dal progetto script padre (*.PrjScr) a cui appartengono), oltre a offrire comandi per aggiungere, abilitare, disabilitare ed eliminare i punti di interruzione selezionati secondo necessità dal menu contestuale accessibile con il tasto destro.

Il pannello Breakpoints
Fare doppio clic su una voce di punto di interruzione nel pannello (oppure selezionare il comando Edit Source dal menu contestuale accessibile con il tasto destro) per rendere attivo nello spazio di progettazione il documento di script associato, posizionando il cursore di testo all’inizio della riga di script a cui si applica il punto di interruzione.
Selezionare il comando Properties dal menu contestuale accessibile con il tasto destro per accedere alla finestra di dialogo Breakpoint Properties relativa alla voce di punto di interruzione selezionata. È possibile usare questa finestra di dialogo per modificare lo stato del punto di interruzione (abilitarlo/disabilitarlo) e anche aggiungere/modificare una condizione per il punto di interruzione secondo necessità . Non è possibile modificare il file in cui il punto di interruzione è stato aggiunto, né il numero di riga specifico all’interno di quel file.

La finestra di dialogo Breakpoint Properties
Valutazione delle espressioni
Quando uno script viene arrestato in risposta a un punto di interruzione o a un errore, il valore di qualsiasi espressione (un’istruzione dello script) può essere determinato tramite una funzione ToolTip oppure tramite la finestra di dialogo interattiva Evaluate .
Gli strumenti di valutazione sono principalmente strumenti di debug, usati insieme ai pannelli di supporto al debug come i pannelli Watch List e Call Stack.
ToolTip di valutazione
La funzione ToolTip di valutazione delle espressioni visualizza il valore corrente dei dati per la variabile sopra cui si trova il cursore.

Funzione Evaluate
Per usare la finestra di dialogo Evaluate dell’editor, fare clic su una variabile di espressione nello script e selezionare il pulsante Run » Evaluate (scorciatoia: Ctrl+F7). La finestra di dialogo verrà popolata automaticamente con l’espressione e il relativo risultato corrente.
In alternativa, è possibile copiare un’espressione dallo script nel campo Expression della finestra di dialogo e fare clic su Evaluate per vedere il risultato. È anche possibile digitare direttamente un nome di espressione nel campo Expression per valutarne il risultato.

Uno script in modalità punto di interruzione con la finestra di dialogo Evaluate attivata.
Espressioni di controllo
Le espressioni di controllo consentono di tenere traccia dei valori di variabili/espressioni durante il debug passo-passo del documento di script corrente. Un’espressione di controllo può essere una singola variabile oppure un’espressione contenente una o più variabili.
Per definire espressioni di controllo per il documento di script corrente, usare il comando Run » Add Watch dal menu principale (scorciatoia: Ctrl+F5). Dopo aver avviato il comando, viene visualizzata la finestra di dialogo Add New Watch. Usare questa finestra di dialogo per definire l’espressione richiesta che si desidera monitorare. Ad esempio, l’espressione potrebbe essere una particolare variabile usata nel codice (ad es., OUT, a, Remainder), oppure un’espressione basata su una o più variabili definite (ad es., a+b, a*b, c+(b-a)).

La finestra di dialogo Add New Watch
Dopo aver fatto clic su OK, l’espressione di controllo apparirà nel pannello Watch List. Usare il pannello per visualizzare contemporaneamente tutte le espressioni di controllo definite. Le espressioni di controllo possono essere aggiunte, modificate ed eliminate dal menu a comparsa del pannello accessibile con il tasto destro.

Il pannello Watch List
Man mano che si procede tra le righe di codice nel documento di script, le espressioni di controllo verranno valutate e i valori corrispondenti aggiornati se lo script modifica una qualsiasi delle variabili usate in tali espressioni.
Quando l’esecuzione dello script entra in una funzione o procedura, un’espressione di controllo sarà valida solo se le variabili nell’espressione sono definite e usate in quella funzione o procedura. Se una variabile non è disponibile per la funzione o procedura (cioè non è globale oppure è locale a un’altra parte dello script), allora il campo Value visualizzerà Undeclared identifier: VariableName.
Fare doppio clic su una voce di controllo nel pannello oppure fare clic con il tasto destro su una voce e selezionare il comando Edit Watch per accedere alla finestra di dialogo Watch Properties, dalla quale è possibile modificare l’espressione per il controllo selezionato secondo necessità .
Segnalibri
I segnalibri vengono usati negli script per annotare istruzioni e raggiungerle rapidamente. In uno script è possibile definire fino a 10 segnalibri.
Un segnalibro è indicato da un riquadro verde nel margine dell’editor con il numero del segnalibro al suo interno. Per aggiungere un segnalibro, selezionare una riga di codice, fare clic con il tasto destro, selezionare Toggle Bookmarks dal menu contestuale e quindi un numero di posizione dal sottomenu (Toggle Bookmarks » Set Location Mark n, dove "n" è il numero del segnalibro da 0 a 9).
Per andare a (saltare a) un segnalibro, fare clic con il tasto destro quindi selezionare Goto Bookmarks e la posizione del segnalibro desiderata dal sottomenu (Goto Bookmarks » Jump Location Mark n). Per rimuovere un segnalibro, disattivarlo ripetendo il processo di aggiunta del segnalibro per quella riga di codice.
La posizione memorizzata è disponibile solo finché il documento rimane aperto (attivo o meno). Se il documento viene chiuso e riaperto, l’indicatore di posizione sarà vuoto.

Usare i segnalibri per saltare rapidamente a un’istruzione nello script.
- Usare i tasti di scelta rapida Ctrl+n per saltare a un segnalibro esistente nello script (dove n è il numero del segnalibro da 0 a 9) — per esempio, per andare al segnalibro numero 3, premere i tasti di scelta rapida Ctrl+3.
- Usare i tasti di scelta rapida Ctrl+Shift+n per attivare/disattivare un segnalibro (dove n è il numero del segnalibro da attivare/disattivare), oppure per spostare un segnalibro assegnato sulla riga corrente.
Strutturazione del codice
Per facilitare il lavoro con il codice, le procedure/funzioni/subroutine nel documento sono organizzate in blocchi di struttura del codice. I blocchi di struttura del codice possono essere compressi o espansi per mostrare solo il contenuto del documento necessario in quel momento.
L’uso della strutturazione del codice, inclusa un’opzione per visualizzare le linee di compressione, ovvero l’estensione di un singolo blocco di codice, viene abilitato/disabilitato dalla pagina
Text Editors - Display page della finestra di dialogo
Preferences.
Per espandere/comprimere un singolo blocco di codice, fare clic sul piccolo controllo
o
, a sinistra dell’istruzione superiore del blocco. Quando è compresso, un controllo
appare a destra dell’istruzione superiore per ciascun blocco di codice. Passando il mouse sopra questo controllo verrà mostrato il codice che è stato compresso. Facendo doppio clic su questo controllo si espanderà quel singolo blocco di codice.
Per espandere/comprimere tutti i blocchi di struttura del codice nel documento corrente, fare clic con il tasto destro e scegliere Outlining » Collapse All o Expand All dal menu contestuale.
Strumenti generali di modifica del testo
Aggiunta di elementi To-Do
Un elemento To-Do, come suggerisce il nome, viene usato fondamentalmente come promemoria per un’attività che dovrà essere eseguita in relazione al documento in una fase successiva.
Per aggiungere un elemento To-Do in un punto del documento corrente, posiziona il cursore del testo in quel punto, fai clic con il pulsante destro del mouse e scegli Add To-Do Item dal menu contestuale. Dopo l’avvio del comando, viene visualizzata la finestra di dialogo Edit To-Do Item. Usa questa finestra per inserire un testo appropriato relativo all’attività da eseguire in quel punto del documento. Usa i campi disponibili nella finestra per definire una Priority per l’attività (da Lowest a Highest, con Normal selezionato per impostazione predefinita), il Owner dell’attività e anche una Category per l’attività (ad esempio, Formatting pass, Code Review pass, ecc.).
Dopo aver definito l’elemento To-Do come richiesto, facendo clic su OK la finestra si chiuderà e il focus tornerà al documento corrente. Una voce per l’elemento To-Do apparirà nel punto contrassegnato dalla posizione corrente del cursore del testo. La voce apparirà tra i delimitatori { e }, come illustrato nell’esempio seguente:
{TODO Name=Check Spelling|Priority=3|State=1|Owner=Jase|Category=Proofing|UID=UIDYOGFS}
Dove:
- Name è il testo effettivo dell’azione da eseguire.
- Priority è un valore che rappresenta la priorità assegnata (Lowest = 0, Low = 1, High = 3, Highest = 4). Se il Priority è stato impostato su Normal, non verrà visualizzata alcuna voce.
- State indica se l’elemento è stato completato o meno. In caso contrario, non verrà visualizzata alcuna voce. Se completato, il valore di State sarà 1.
- Owner è il proprietario assegnato dell’elemento.
- Category è la categoria assegnata all’elemento.
- UID è l’identificatore univoco di quel particolare elemento.
Tutti gli elementi To-Do per il progetto attivo sono elencati nel
pannello To-Do .
Modificare maiuscole/minuscole o capitalizzazione del testo
I comandi del menu Tools » Change Case consentono di modificare la capitalizzazione o l’uso di maiuscole/minuscole del testo selezionato o della parola sotto il cursore.
- Selection To UpperCase – seleziona il testo di cui desideri modificare il formato da lower a UPPER e avvia il comando. La selezione verrà convertita in maiuscolo.
- Selection To LowerCase – seleziona il testo di cui desideri modificare il formato da UPPER a lower e avvia il comando. La selezione verrà convertita in minuscolo.
- Capitalize Selection – seleziona il testo che desideri capitalizzare e avvia il comando. Ogni parola distinta nella selezione che non inizi già con una lettera maiuscola avrà la lettera iniziale convertita in maiuscolo.
- Word To UpperCase – posiziona il cursore del testo all’inizio, alla fine o in qualsiasi punto della parola di cui desideri modificare il formato da lower a UPPER e avvia il comando. La parola verrà convertita in maiuscolo.
- Word To LowerCase – posiziona il cursore del testo all’inizio, alla fine o in qualsiasi punto della parola di cui desideri modificare il formato da UPPER a lower e avvia il comando. La parola verrà convertita in minuscolo.
- Capitalize Word – posiziona il cursore del testo all’inizio, alla fine o in qualsiasi punto della parola che desideri capitalizzare e avvia il comando. La parola avrà la lettera iniziale convertita in maiuscolo.
Rientro del testo
Per una migliore leggibilità , puoi applicare il rientro del testo nel documento. Per aumentare o ridurre il rientro del testo selezionato nel documento corrente, scegli Tools » Indent o Tools » Unindent dai menu principali oppure fai clic sul pulsante
/
nella barra degli strumenti Text Utilities. La selezione verrà rientrata/non rientrata del numero di caratteri specificato nel campo Block Indent, nella pagina Text Editors - General della finestra di dialogo Preferences.
Se l’opzione Backspace unindents è abilitata (nella pagina Text Editors - General della finestra di dialogo Preferences ) puoi ridurre il rientro usando il tasto Backspace . Posiziona il cursore del testo prima del primo carattere non spazio sulla riga di cui vuoi ridurre il rientro e premi Backspace. La riga ridurrà il rientro, allineandosi con l’inizio delle nuove parole sulla riga precedente.
Ricerca e sostituzione del testo
Per configurare una ricerca di testo specifico presente nel documento corrente, in tutti i documenti basati su testo del progetto attivo, in tutti i documenti basati su testo aperti o in tutti i documenti basati su testo in una directory specificata, si usa la finestra di dialogo Find Text. È possibile accedere alla finestra dall’Editor di testo (o da qualsiasi variante dell’Editor di testo con supporto al codice) scegliendo il comando Edit » Find dai menu principali (scorciatoia: Ctrl+F).

La finestra di dialogo Find Text
La finestra opera essenzialmente in due modalità , con funzionalità fornite da due schede:
- Find - usa le opzioni in questa scheda per configurare una ricerca solo nel documento corrente. Dopo aver fatto clic su OK, la prima occorrenza del testo corrispondente trovata verrà evidenziata nel documento.
- Find in Files - usa le opzioni in questa scheda per configurare una ricerca in tutti i documenti basati su testo del progetto attivo, in tutti i documenti basati su testo aperti o in tutti i documenti basati su testo in una directory specificata. Dopo aver fatto clic su OK, tutte le occorrenze del testo corrispondente trovate nei file che rientrano nell’ambito della ricerca verranno elencate come voci nel pannello Messages. Ogni messaggio mostrerà il file sorgente, la riga in cui è stato trovato il testo cercato, l’intero testo di quella riga e la posizione del carattere all’interno di quella riga in cui inizia la stringa di testo cercata.
- Ogni messaggio nel pannello Messages è nella forma (x, y): <LineText>, dove x è la posizione del carattere sulla riga y del documento.
- I file non devono necessariamente essere aperti per poter cercare testo usando la modalità Find in Files.
- Quando si usa la modalità Find in Files, è possibile effettuare il cross-probing del testo trovato dalla voce nel pannello Messages : basta fare doppio clic sul messaggio.
Per trovare l’occorrenza successiva dell’ultima ricerca di testo specificata usando la finestra di dialogo Find Text, usa il comando Edit » Find Next dai menu principali (scorciatoia: F3). Dopo aver avviato il comando, verrà individuata ed evidenziata l’occorrenza successiva del testo specificato nel campo Text to find della finestra di dialogo Find Text. Usa ripetutamente il comando per scorrere tutte le altre occorrenze. Questa funzione applica tutti i criteri di ricerca specificati durante l’esecuzione della ricerca di testo originale.
Abilita l’opzione Find selected text on Find Next nella pagina Text Editors - General della finestra di dialogo Preferences per usare questo comando e trovare rapidamente le occorrenze successive del testo attualmente selezionato, invece del testo usato nell’azione di ricerca originale.
Puoi anche trovare l’occorrenza successiva del testo attualmente selezionato nel documento attivo usando il comando Edit » Find Next Selected dai menu principali (scorciatoia: Ctrl+Shift+F). Dopo aver avviato il comando, l’occorrenza successiva del testo selezionato verrà selezionata. Usa ripetutamente il comando per scorrere tutte le altre occorrenze. Questa funzione esegue essenzialmente una ricerca di testo usando la finestra di dialogo Find Text, con il testo selezionato usato come voce per il campo Text to find. Tutte le opzioni dei criteri di ricerca specificate l’ultima volta durante una ricerca di testo usando la finestra di dialogo Find Text verranno applicate con questa funzione.
Per configurare una ricerca per individuare e sostituire testo specifico presente nel documento corrente, in tutti i documenti basati su testo del progetto attivo, in tutti i documenti basati su testo aperti o in tutti i documenti basati su testo in una directory specificata, si usa la finestra di dialogo Replace Text. È possibile accedere alla finestra dall’Editor di testo (o da qualsiasi variante dell’Editor di testo con supporto al codice) scegliendo il comando Edit » Replace dai menu principali (scorciatoia: Ctrl+H).

La finestra di dialogo Replace Text
La finestra opera essenzialmente in due modalità , con funzionalità fornite da due schede:
- Replace Text - usa le opzioni in questa scheda per configurare la sostituzione del testo solo nel documento corrente. Per sostituire solo la prima occorrenza del testo corrispondente, fai clic su OK. Se l’opzione Prompt on replace era abilitata, il testo verrà evidenziato e apparirà una finestra di dialogo per confermare la sostituzione. Fai clic su Yes per sostituire solo questa occorrenza. Da questa finestra avrai la possibilità di sostituire tutte le occorrenze corrispondenti. In alternativa, per sostituire tutto fin dall’inizio, fai clic su Replace All, anziché su OK. Anche in questo caso, tutte le occorrenze corrispondenti del testo cercato verranno sostituite direttamente oppure tramite richiesta di conferma individuale, a seconda dello stato dell’opzione Prompt on replace.
- Replace in Files - utilizzare le opzioni in questa scheda per configurare una sostituzione di testo in tutti i documenti basati su testo del progetto attivo, in tutti i documenti basati su testo aperti oppure in tutti i documenti basati su testo presenti in una directory specificata. Dopo aver fatto clic su OK, tutte le occorrenze del testo corrispondente trovate nei file che rientrano nell'ambito della ricerca verranno sostituite. Anche in questo caso, è possibile scegliere di ricevere una richiesta di conferma prima della sostituzione impostando preventivamente l'opzione Prompt on replace. Verrà visualizzata la finestra di dialogo Replacing per mostrare l'avanzamento della sostituzione. Ogni sostituzione effettuata verrà elencata come voce nel pannello Messages. Ogni messaggio riporterà il file di origine, la riga in cui è stato trovato il testo cercato, l'intero testo di quella riga e la posizione del carattere all'interno della riga in cui inizia la stringa di testo cercata.
In ogni caso, verrà visualizzata una finestra di dialogo informativa che riepiloga il numero di sostituzioni effettuate.
- Ogni messaggio nel pannello Messages è nel formato (x, y): <OriginalLineText>, dove x è la posizione del carattere alla riga y del documento. Il testo mostra il testo originale, prima della sostituzione.
- I file non devono necessariamente essere aperti per sostituire il testo utilizzando la modalità Replace in Files. Tali file possono facoltativamente essere aperti dopo la sostituzione abilitando l'opzione Open changed files in editor prima di eseguire la sostituzione.
- Quando si utilizza la modalità Replace in Files, è possibile eseguire il cross-probing del testo sostituito risultante dalla voce del pannello Messages : è sufficiente fare doppio clic sul messaggio.
Per la ricerca e la sostituzione del testo, vedere anche le opzioni correlate nella sezione Find, nella pagina Text Editors - General page della finestra di dialogo Preferences.
Options and Controls of the Find-Replace Text Dialog
Scheda Find/Replace Text
- Text to find - immettere la stringa di testo da trovare nel documento oppure utilizzare l'elenco a discesa per selezionare la stringa dalle ricerche precedenti.
- Replace with - immettere la stringa di testo con cui sostituire il testo trovato oppure utilizzare l'elenco a discesa per selezionare la stringa sostitutiva dalle precedenti stringhe di sostituzione. Questo comando è disponibile solo nella finestra di dialogo Replace Text.
- Options
- Case sensitive - selezionare per eseguire la ricerca distinguendo tra maiuscole e minuscole.
- Whole words only - selezionare per trovare solo parole intere.
- Regular expressions - selezionare per eseguire la ricerca utilizzando espressioni regolari.
- ^ - corrisponde solo quando la stringa si trova all'inizio di una riga.​
- $ - corrisponde solo quando la stringa si trova alla fine di una riga.
- . - indica un singolo carattere qualsiasi (ad esempio, "te.t" corrisponde a "test", "text" e "tent", ma non a "tet").
- * - indica qualsiasi insieme di caratteri, incluso nessun carattere (ad esempio, "te*" corrisponde a "text", "tent" e "te", ma non a "t").
- + - indica qualsiasi insieme di caratteri, escluso nessun carattere (ad esempio, "te+" corrisponde a "text" e "tent", ma non a "te").
- [ ] - trova uno qualsiasi dei caratteri racchiusi tra parentesi quadre.
- [^] - un accento circonflesso all'inizio di una stringa tra parentesi quadre significa NOT (ad esempio, "[^tes]" corrisponde a qualsiasi carattere tranne t, e o s).
- [-] - un trattino all'interno di una stringa tra parentesi quadre indica un intervallo di caratteri (ad esempio, "[l-o]" corrisponde ai caratteri l, m, n e o).
- { } - utilizzato per raggruppare caratteri o espressioni. I gruppi possono essere nidificati con un massimo di 10 gruppi in un singolo pattern.
- \ - una barra rovesciata prima di un carattere jolly indica al Text Editor di trattare quel carattere in modo letterale, non come carattere jolly (ad esempio, "\^test" non cerca la stringa test all'inizio di una riga; cerca la stringa "^test").
- Prompt on replace - selezionare per ricevere una richiesta di conferma prima che avvenga la sostituzione. Questo comando è disponibile solo nella finestra di dialogo Replace Text.
- Search hidden text - selezionare per includere il testo nascosto nella ricerca.
- Wrap search - selezionare per mandare a capo la stringa di ricerca. Questo comando è disponibile solo nella finestra di dialogo Find Text.
- Direction - utilizzare queste selezioni insieme alle opzioni Origin per determinare da dove e come viene cercato il testo..
- Forward - selezionare per eseguire la ricerca in avanti dal cursore.
- Backward - selezionare per eseguire la ricerca all'indietro dal cursore.
- Scope
- Global - selezionare per cercare nell'intero documento.
- Selected text - selezionare per cercare solo nel testo attualmente selezionato.
- Origin - utilizzare queste selezioni insieme alle opzioni Direction per determinare da dove e come viene cercato il testo.
- From cursor - selezionare per iniziare la ricerca dalla posizione del cursore.
- Entire scope - selezionare per eseguire la ricerca nell'intero documento.
Scheda Find in Files/Replace in Files
- Text to find - immettere la stringa di testo da trovare nel documento oppure utilizzare l'elenco a discesa per selezionare la stringa dalle ricerche precedenti.
- Replace with - immettere la stringa di testo con cui sostituire il testo trovato oppure utilizzare l'elenco a discesa per selezionare la stringa sostitutiva dalle precedenti stringhe di sostituzione. Questo comando è disponibile solo nella finestra di dialogo Replace Text.
- Options
- Case sensitive - selezionare per eseguire la ricerca distinguendo tra maiuscole e minuscole.
- Whole words only - selezionare per trovare solo parole intere.
- Regular expressions - selezionare per eseguire la ricerca utilizzando espressioni regolari. Le espressioni regolari valide includono quanto segue:
- ^ - corrisponde solo quando la stringa si trova all'inizio di una riga.​
- $ - corrisponde solo quando la stringa si trova alla fine di una riga.
- . - indica un singolo carattere qualsiasi (ad esempio, "te.t" corrisponde a "test", "text" e "tent", ma non a "tet").
- * - indica qualsiasi insieme di caratteri, incluso nessun carattere (ad esempio, "te*" corrisponde a "text", "tent" e "te", ma non a "t").
- + - indica qualsiasi insieme di caratteri, escluso nessun carattere (ad esempio, "te+" corrisponde a "text" e "tent", ma non a "te").
- [ ] - trova uno qualsiasi dei caratteri racchiusi tra parentesi quadre.
- [^] - un accento circonflesso all'inizio di una stringa tra parentesi quadre significa NOT (ad esempio, "[^tes]" corrisponde a qualsiasi carattere tranne t, e o s).
- [-] - un trattino all'interno di una stringa tra parentesi quadre indica un intervallo di caratteri (ad esempio, "[l-o]" corrisponde ai caratteri l, m, n e o).
- { } - utilizzato per raggruppare caratteri o espressioni. I gruppi possono essere nidificati con un massimo di 10 gruppi in un singolo pattern.
- \ - una barra rovesciata prima di un carattere jolly indica al Text Editor di trattare quel carattere in modo letterale, non come carattere jolly (ad esempio, "\^test" non cerca la stringa "test" all'inizio di una riga; cerca la stringa "^test").
- Prompt on replace - selezionare per ricevere una richiesta di conferma prima che avvenga la sostituzione. Questo comando è disponibile solo nella finestra di dialogo Replace Text.
- Search hidden text - selezionare per includere il testo nascosto nella ricerca.
- Where
- Search all files in project - selezionare per cercare in tutti i file del progetto corrente.
- Search all open files - selezionare per cercare in tutti i file aperti.
- Search in directories - selezionare per cercare nelle directory.
- Open changed files in editor - selezionare per aprire i file modificati.
- Search Directory Options
- File Mask -​ fare clic sul pulsante Browse per aprire una finestra di dialogo e selezionare la cartella desiderata in cui eseguire la ricerca.
- Include subdirectories - selezionare per includere le sottodirectory nella ricerca.
Controllo aggiuntivo
- Replace All - fare clic per sostituire tutte le stringhe trovate con il testo immesso nella casella di testo Replace with. Questo comando è disponibile solo nella finestra di dialogo Replace Text.
Passare a una riga specifica
Per passare a una riga specifica nel documento corrente, scegliere Edit » Goto Line Number dai menu principali. Dopo aver avviato il comando, verrà visualizzata la finestra di dialogo Go to Line Number.

La finestra di dialogo Go to Line Number
Inizialmente, la finestra di dialogo mostrerà la riga in cui è attualmente posizionato il cursore di testo. Immettere nel campo New Line Number il numero della riga a cui si desidera spostare il cursore. Se il numero di riga è maggiore del numero di righe nel documento, la finestra di dialogo verrà visualizzata nuovamente, pronta per l'immissione di un numero di riga valido. Dopo aver fatto clic su OK, il cursore salterà alla stessa posizione nella riga specificata.
Può essere molto utile abilitare la visualizzazione dei numeri di riga. Questa operazione può essere eseguita utilizzando l'opzione
Show line numbers (e le relative sotto-opzioni), nella pagina
Text Editors - Display page della finestra di dialogo
Preferences.
Aprire il documento sotto il cursore
Un documento sul quale si trova attualmente il cursore può essere aperto automaticamente dall'editor di testo. Posizionare il cursore di testo all'interno del testo che descrive il documento da aprire, fare clic con il pulsante destro del mouse e scegliere Open Document Under Cursor dal menu contestuale (scorciatoia: Ctrl+Enter). Il documento verrà aperto e diventerà il documento attivo.
Ad esempio, per aprire un documento chiamato Example_Schematic.SchDoc, assicurarsi innanzitutto che il testo Example_Schematic.SchDoc sia digitato da qualche parte nel documento di testo corrente. Quindi posizionare il cursore di testo in un punto qualsiasi all'interno di questa stringa e avviare il comando: Example_Schematic.SchDoc si aprirà come documento attivo.
- La funzione non distingue tra maiuscole e minuscole, quindi il testo immesso nel documento di testo non deve necessariamente avere la stessa combinazione di maiuscole/minuscole del file effettivo da aprire.
- La funzione aprirà solo i documenti che non hanno spazi nei nomi file. Ad esempio, Example_Design_File.SchDoc e ExampleDesignFile.SchDoc si apriranno entrambi usando questa funzione, ma Example Design File.SchDoc no.
- La funzione aprirà solo i documenti memorizzati nella stessa posizione sul disco rigido del documento di testo che effettua la chiamata. Se il documento non si trova in quella directory, verrà visualizzata una finestra di dialogo Open, dalla quale sarà possibile individuare e aprire il documento richiesto.
- Se un documento è già aperto quando viene effettuata una chiamata, quel documento diventerà il documento attivo.
Ritorno a capo automatico
Se il documento include righe di testo lunghe, è possibile renderlo più leggibile manualmente, inserendo ritorni a capo oppure abilitando il ritorno a capo automatico. Per gestire il ritorno a capo automatico, usare i comandi del menu principale Tools » Word Wrap:
- None – disattiva la modalità di ritorno a capo automatico nel documento corrente. Dopo aver eseguito il comando, il testo immesso non andrà più a capo né al margine destro né al bordo destro della finestra dell'area di visualizzazione.
- At Margin (oppure il pulsante
sulla barra degli strumenti Text Utilities) – le righe di testo andranno a capo al margine nel documento corrente. Dopo aver eseguito il comando, il testo immesso andrà a capo al margine destro, come definito dal valore inserito nel campo Margin width, nella pagina Text Editors - Display page della finestra di dialogo Preferences.
- At Window (oppure il pulsante
sulla barra degli strumenti Text Utilities) – le righe di testo andranno a capo al bordo della finestra di visualizzazione nel documento corrente. Dopo aver eseguito il comando, il testo immesso andrà a capo al bordo destro della finestra dell'area di visualizzazione.
- È possibile passare da una modalità di ritorno a capo automatico all'altra in qualsiasi momento: il testo nel documento verrà riformattato in base alla modalità scelta.
- Il ritorno a capo automatico può essere configurato anche usando l'opzione Word wrap (e le relative sotto-opzioni) nella pagina Text Editors - Display page della finestra di dialogo Preferences.
Divisione della visualizzazione del documento
È possibile "dividere" la visualizzazione del documento corrente in due sezioni distinte orizzontali o verticali, consentendo di sfogliare e modificare due aree diverse dello stesso documento. Per dividere la finestra del documento in due sezioni uguali, scegliere uno dei seguenti comandi:
- Window » Split Horizontally – la metà superiore mostrerà un'area a partire dall'inizio (parte superiore) del documento. La metà inferiore mostrerà un'area a partire dal punto del documento che si trovava originariamente nella parte superiore della finestra di visualizzazione prima dell'esecuzione del comando.
- Window » Split Vertically – la metà sinistra mostrerà un'area a partire dall'inizio (parte superiore) del documento, con la barra di scorrimento orizzontale completamente a sinistra. La metà destra mostrerà un'area a partire dal punto del documento che si trovava originariamente nella parte superiore della finestra di visualizzazione prima dell'esecuzione del comando.
Ora è possibile sfogliare e modificare liberamente diverse aree dell'unico documento corrente.
Una "barra di divisione" separa le due sezioni. Fare clic e trascinare questa barra divisoria per modificare l'area del documento visibile in ciascuna sezione.
Per tornare a una singola finestra per il documento, usare il comando Remove Split, accessibile dal menu Window. L'area del documento che verrà visualizzata quando la divisione viene rimossa sarà quella attualmente visualizzata nella sezione inferiore (per la divisione orizzontale) o nella sezione destra (per la divisione verticale).
Se si desidera cambiare la modalità di divisione da orizzontale a verticale o da verticale a orizzontale, usare rispettivamente il comando Split Vertically o Split Horizontally, anch'esso accessibile dal menu Window.