Obsahová asistence pomáhá uživateli vkládat nebo dokončit značku nebo funkci nebo dokončit řádek kódu ve strukturovaném textovém editoru. Umístění kurzoru do zdrojového souboru poskytuje kontext pro obsahovou asistenci, aby mohla nabídnout návrhy na dokončení.
Většina strukturovaných textových editorů obsahuje obsahovou asistenci. Seznam editorů obsahujících obsahovou asistenci viz Strukturované textové editory pro jazyky značek. Informace o tom, jak získat obsahovou asistenci, viz Získání obsahové asistence ve strukturovaných textových editorech
Níže uvedené sekce popisují použití obsahových asistencí HTML, JavaScript™ a JSP.
Jazyk HTML je tvárný v tom smyslu, že některé prvky HTML umožňují volitelné vynechání koncových značek, jako jsou P, DT, DD, LI, THEAD, TR, TD, TH atd. Jiné prvky HTML definované tak, že nemají žádný obsah, mohou vyžadovat soustavné vynechávání koncových značek, jako jsou BR, HR, LINK, META a IMG. Tato tvárnost způsobuje, že funkce obsahové asistence v rámci editoru zdrojové stránky HTML je méně přesná, než by mohla být u přísněji omezeného jazyka značek.
Obsahová asistence HTML přijde nejvíce vhod, když musíte dokončit název značky, přidat dvojici název-hodnota atributu v počáteční značce nebo vybrat hodnoty atributu z výčtového seznamu.
Ačkoli obsahová asistence zobrazí pouze názvy atributů, které ještě nebyly zadány v počáteční značce, nebere v úvahu gramatická omezení pro značky. Například prvek HEAD v kódu HTML povoluje pouze nulový nebo jeden výskyt značky TITLE ve svém obsahu. Pokud vyvoláte obsahovou asistenci v rámci obsahu HEAD, který již obsahuje značku TITLE, obsahová asistence přesto zobrazí TITLE v seznamu návrhů.
Nicméně, je-li nezbytný atribut podle daného DTD/Schema, tento atribut bude zobrazen v horní části seznamu včetně indikátoru žlutého kroužku na jeho ikoně.
Pokud je váš kurzor na pozici, kde je dostupná obsahová asistence, zobrazí se rozevírací seznam dostupných voleb. Tento seznam je založen na kontextu. Například, použijete-li obsahovou asistenci ihned po značce otevření odstavce (<p>), bude první položkou v seznamu obsahové asistence odpovídající značka uzavření odstavce (</p>).
Seznam obsahové asistence zobrazí všechny dostupné značky pro aktuální pozici kurzoru, a to včetně šablon. Níže uvedený obrázek uvádí výchozí seznam obsahové asistence pro ukázku značky odstavce:
Návrhy značek jsou seřazeny podle abecedy. Pokud zadáte < (začátek nové značky) před vyvoláním obsahové asistence a zadáte jedno či dvě písmena značky, kterou chcete přidat, seznam návrhů se automaticky obnoví podle právě zadaných znaků. Pokud nezadáte < před vyvoláním obsahové asistence, můžete klepnout v rámci seznamu návrhů a zadat písmeno, kterým daná značka začíná, abyste (trochu) zredukovali posouvání v seznamu při hledání požadované značky.
Jakmile zadáte jedno či dvě písmena názvu atributu nebo hodnot výčtového atributu, který chcete přidat do značky, seznam se automaticky obnoví podle návrhů odpovídajících právě zadaným znakům.
Použití obsahové asistence vám poskytuje mnoho voleb pro vkládání kódu Java a HTML do stránek JSP.
Všechny značky JSP jsou obsaženy v seznamu šablon i ve formátu XML (například <jsp:expression>).
Chcete-li např. přidat značky skriptletu JSP, přesuňte kurzor na příslušnou pozici v souboru a stisknutím
Ctrl+Mezera vyvolejte obsahovou asistenci. Vyberte ze seznam návrhů a vložte <% %> do dokumentu.
<% System.currentTimeMillis() %>
Tento příklad vyhodnotí příkaz Java a obdrží aktuální čas v milisekundách.
<b>Toto je aktuální čas: <%= System.currentTimeMillis()%></b>
<jsp:useBean id="useBean" class="java.lang.String"/>
Značka useBean umožňuje vytvořit objekt bean nazvaný aString typu String. Když pak použijete obsahovou asistenci, rozpozná se jako deklarovaná proměnná. Pokud například vyvoláte obsahovou asistenci po příkazu aString tímto způsobem:
<% aString. %>seznam obsahové asistence zobrazí dostupné metody. Je tomu tak proto, že příkaz aString byl deklarován jako objekt bean typu String.
<% a %>obsahová asistence ví, že příkaz aString existuje, a je proto zobrazen v jejím seznamu.