Editor di testo e testo JFace
Il pacchetto del workbench org.eclipse.ui.editors.text
implementa l'editor di testo predefinito per la piattaforma. Utilizza la struttura dell'editor di testo
in org.eclipse.ui.texteditor per
l'implementazione.
La struttura dell'editor di testo fornisce un editor indipendente dal modello di dominio che supporta
le seguenti funzioni:
- Operazioni di modifica di testo standard come taglia/copia/incolla, trova/sostituisci
- Presentazione visiva degli indicatori di risorse adiacenti all'area di modifica del testo
- Aggiornamento automatico degli indicatori di risorse mentre l'utente modifica il testo
- Gestione dei menu di scelta rapida
- Risposte ad azioni dell'utente nel workbench, come l'aggiornamento di risorse dal
file system, la chiusura di progetti o la rimozione della risorsa dell'elemento di input dell'editor
ITextEditor è definito
come estensione specifica di testo di IEditorPart.
L'implementazione predefinita di questa interfaccia è fornita da AbstractTextEditor.
IDocumentProvider è utilizzato per
stabilire il collegamento tra un modello di dominio e un ITextEditor.
Il provider dei documenti gestisce la presentazione di testo del modello di dominio e può essere condiviso
tra più editor.
La struttura di modifica del testo del workbench viene creata sul testo JFace. L'esempio di editor
Java in org.eclipse.ui.examples.javaeditor è utile per familiarizzare con la struttura dell'editor di testo e
con il testo JFace. In tale esempio viene descritto il modo in cui implementare funzioni complesse quali la colorazione del testo,
l'aiuto a comparsa e l'indentazione automatica.
Testo JFace
Il pacchetto org.eclipse.jface.text
e i relativi pacchetti secondari supportano l'implementazione di editor di testo come ad esempio l'editor di testo del
workbench e l'editor JDT Java.
Di seguito viene descritto in sintesi il supporto nel testo JFace.
- org.eclipse.jface.text definisce
un modello di documento generico per il testo e fornisce un visualizzatore che mostra il testo
utilizzando questo modello. I documenti possono essere divisi in
partizioni non sovrapposte, utili quando il testo rappresenta più elementi con differenti
significati (ad esempio, metodi e commenti all'interno di un file Java). Le partizioni dispongono di
tipi di contenuto, utilizzati per identificare i posti in cui una funzionalità diversa deve essere assegnata
a differenti tipi di contenuto. Le posizioni dei documenti possono essere utilizzate per definire
aree di testo che vengono aggiornate mentre l'utente modifica il testo. IDocument
e TextViewer rappresentano un ottimo
inizio per imparare a conoscere questo pacchetto.
- org.eclipse.jface.text.formatter
definisce un visualizzatore di testo aggiunto che può essere configurato con diverse funzionalità
di formattazione per tipo di contenuto della
partizione. La formattazione si ottiene modificando gli spazi in bianco e i delimitatori
per presentare il testo in un aspetto strutturato. La formattazione è comunemente utilizzata durante la modifica di
codice ed è spesso guidata dalle preferenze dell'utente. L'editor del codice sorgente JDT utilizza questo
supporto per fornire una formattazione di codice Java guidata dall'utente.
- org.eclipse.jface.text.contentassist
definisce un visualizzatore di testo aggiunto che fornisce il supporto di completamento del testo guidato
dall'utente. Le finestre a comparsa vengono utilizzate per proporre possibili scelte di testo per il completamento di una
frase. L'utente può selezionare queste scelte per l'inserimento automatico nel testo. L'Assistente per il contenuto
supporta anche finestre a comparsa contestuali per fornire all'utente le informazioni relative
alla posizione corrente nel documento. IContentAssistant
rappresenta un ottimo punto per iniziare a conoscere questo pacchetto. Può essere
configurato con diverse strategie di completamento della frase per differenti tipi di contenuto delle
partizioni.
- org.eclipse.jface.text.presentation
definisce un visualizzatore di testo aggiunto in grado di controllare la presentazione visiva
(tipo di carattere, stile, colori) del testo che appare nel visualizzatore di testo. Per ogni modifica applicata
a un documento, il reconciler di presentazione determina quale area della presentazione visiva
deve essere invalidata e come procedere alla riparazione. Strategie differenti possono essere utilizzate
per tipi di contenuto di partizioni differenti.
- org.eclipse.jface.text.reconciler
definisce un visualizzatore di testo aggiunto che supporta la sincronizzazione di un
documento con una struttura esterna che potrebbe eventualmente modificare il
testo.
- org.eclipse.jface.text.rules
fornisce una scansione di documento basata su regole. I plug-in possono utilizzare delle regole per
distinguere token come delimitatori di riga, spazio in bianco e modelli generici durante la scansione
di un documento. Questo pacchetto fornisce anche il supporto, basato su regole,
per la riconciliazione della presentazione e per la partizione del documento. L'esempio dell'editor Java utilizza questo pacchetto
per esaminare il codice Java.
- org.eclipse.jface.text.source
definisce un visualizzatore di sorgente. Un visualizzatore di sorgente estende un visualizzatore di testo
per supportare annotazioni di testo visive. Tali annotazioni vengono utilizzate nell'editor del codice sorgente
JDT per annotare il codice sorgente Java con punti di interruzione e descrizioni di
problemi.
Il widget StyledText SWT è utilizzato
dal supporto per il testo JFace.
