A szerkesztők gyakran rendelkeznek megfelelő tartalomkiemelőkkel, amelyek a szerkesztőtartalom strukturált nézetét biztosítják, és segítséget nyújtanak a felhasználó számára a szerkesztő tartalmában navigáláshoz.
A munkaterület egy általános Kiemelő nézetet biztosít ezen célra. A munkaterület-felhasználó az Ablak > Nézet megjelenítése menü segítségével szabályozhatja a nézet láthatóságát.
Mivel az általános TextEditor nem tud semmit a szöveg struktúrájáról, nem biztosíthat jellemzőket az érintett kiemelőnézethez. Az alább látható alapértelmezett Kiemelő nézet nem tesz sokmindent.

A szövegkeretrendszer szerkesztői saját tartalomkiemelőt biztosíthatnak a kiemelő nézethez. A szerkesztő kiemelője akkor van megadva, ha a munkaterület egy IContentOutlinePage típusú adaptert kér.
public Object getAdapter(Class required) {
if (IContentOutlinePage.class.equals(required)) {
if (fOutlinePage == null) {
fOutlinePage= new JavaContentOutlinePage(getDocumentProvider(), this);
if (getEditorInput() != null)
fOutlinePage.setInput(getEditorInput());
}
return fOutlinePage;
}
return super.getAdapter(required);
}
A tartalomkiemelő oldalnak meg kell valósítani az IContentOutlinePage elemet. Ez a felület egyesíti a kiválasztásmódosítási figyelők értesítésének képességét (ISelectionProvider) azzal a jellemzővel, hogy az oldal egy nézetben legyen (IPage). Tartalomkiemelők jellemzően JFace megjelenítők segítségével kerülnek megvalósításra. A tartalomkiemelő alapértelmezett megvalósítása (ContentOutlinePage) a JFace famegjelenítőt használja a kiemelő hierarchikus ábrázolásának megjelenítéséhez. Ez az ábrázolás számos strukturált kiemelőhöz megfelelő, a JavaContentOutlinePage elemet is beleértve.
Tekintsük meg az oldal megvalósítását. Ha a kiemelőoldalt a szerkesztő a fenti kódrészletben létrehozta, akkor a bemeneti elem a szerkesztő bemeneti elemére van beállítva. Ez a bemenet gyakran közvetlenül átadható a kiemelőoldal megjelenítőjének az alábbi módon.
public void createControl(Composite parent) {
super.createControl(parent);
TreeViewer viewer= getTreeViewer();
viewer.setContentProvider(new ContentProvider());
viewer.setLabelProvider(new LabelProvider());
viewer.addSelectionChangedListener(this);
if (fInput != null)
viewer.setInput(fInput);
}
A famegjelenítő létrehozása a ContentOutlinePage elemből öröklődik. A rendszer a szabványos címkeszolgáltatót használja. A tartalomszolgáltató a JavaContentOutlinePage elemen belül kerül biztosításra, és a szerkesztőbemenet egyedi szegmensekre bontásáért felelős, amennyiben módosul.
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
...
if (newInput != null) {
IDocument document= fDocumentProvider.getDocument(newInput);
if (document != null) {
document.addPositionCategory(SEGMENTS);
document.addPositionUpdater(fPositionUpdater);
parse(document);
}
}
}
A szöveg tartományokra van osztva a dokumentumon belül, amelyeket szegmenseknek hívnak. Ezeket a szegmenseket a név jeleníti meg a vázlat nézetben.

Ha a kiválasztás változásakor, akkor a kiválasztott szegmens lekérésre kerül. Az eltolások beállítják a kiemelési tartományt a szerkesztőben.
public void selectionChanged(SelectionChangedEvent event) {
super.selectionChanged(event);
ISelection selection= event.getSelection();
if (selection.isEmpty())
fTextEditor.resetHighlightRange();
else {
Segment segment= (Segment) ((IStructuredSelection) selection).getFirstElement();
int start= segment.position.getOffset();
int length= segment.position.getLength();
try {
fTextEditor.setHighlightRange(start, length, true);
} catch (IllegalArgumentException x) {
fTextEditor.resetHighlightRange();
}
}
}