JavaScript IntelliSense
Technologie IntelliSense umožňuje napsat kód rychleji a s menším množstvím chyb poskytnutím informací při kódování.Při práci s klientským skriptem v editoru jazyka JavaScript technologie IntelliSense zobrazí seznam objektů, funkcí, vlastností a parametrů, které jsou k dispozici podle aktuálního kontextu.Ze seznamu místní nabídky technologie IntelliSense můžete vybrat možnost kódování a kód dokončit.
Technologie IntelliSense usnadňuje provádění následujících úkonů:
Vyhledání informací o členech
Vložení prvků jazyka přímo do kódu
Údržba kódu bez odejití z editoru kódu
Podpora vlastní technologie IntelliSense s dokumentačními komentáři XML a rozšířením technologie IntelliSense jazyka JavaScript
Toto téma obsahuje následující oddíly:
Určení kontextu technologie IntelliSense
Zpracování informací technologie IntelliSense
Funkce technologie IntelliSense jazyka JavaScript
Rozšíření technologie IntelliSense jazyka JavaScript
Ověření jazyka JavaScript
Další informace o funkcích technologie IntelliSense v aplikaci Visual Studio naleznete v tématu Používání atributu IntelliSense.
Určení kontextu technologie IntelliSense
Technologie IntelliSense jazyka JavaScript poskytuje možnosti kódování na základě veškerého skriptu, který je relevantní pro váš aktuální skriptovací kontext.To zahrnuje skriptovací prvky v aktuálním souboru.Patří sem také jakýkoli kód, na který váš skript odkazuje přímo nebo nepřímo, například odkazy na soubor skriptu, odkazy na skript sestavení, odkazy na služby a odkazy související se stránkami.
Aktuální kontext skriptu je vytvořen na základě následujících položek:
Funkce, které jsou definovány ve všech blocích skriptu v aktivním dokumentu.Vložené bloky kódu skriptu jsou podporovány v souborech, které mají přípony názvu souboru .aspx., .ascx, .master, .html a .htm.
Prvky script s atributy src, které ukazují na jiný soubor skriptu.Cílový soubor skriptu musí mít příponu názvu souboru .js.
Soubory jazyka JavaScript, které odkazují na jiné soubory jazyka JavaScript pomocí direktivy reference.
Referenční skupiny pro globální objekty, rozšíření technologie IntelliSense nebo soubory skriptů pro načtení zpoždění.
Odkazy na webové služby XML
ScriptManager a ScriptManagerProxy řídí, zda je webová aplikace aplikací technologie ASP.NET s podporou technologie AJAX.
Microsoft Ajax Library, pokud pracujete v aplikaci technologie ASP.NET s podporou technologie AJAX.
[!POZNÁMKA]
Technologie IntelliSense není podporována pro skript v atributech obslužné rutiny události na prvcích HTML nebo pro skript definovaný v atributech href.
Zpracování informací technologie IntelliSense
K poskytnutí technologie IntelliSense jazyka JavaScript provádí služba jazyka následující operace:
Vytvoří seznam závislých souborů jazyka JavaScript, které jsou založené na odkazech v aktivním dokumentu a na opakovaném zkoumání odkazů skriptu v odkazovaných souborech.
Projde seznam a z každého souboru shromáždí informace o typu a další relevantní data.
Agreguje data a předá je službě jazyka JavaScript, která informace o typu a data zpřístupňuje technologii IntelliSense.
Sleduje změny v souborech, které by mohly ovlivnit seznam technologie IntelliSense, a podle potřeby seznam aktualizuje.Skripty na vzdálených úložištích (například skripty odkazované pomocí HTTP) monitorovány nejsou.
Funkce technologie IntelliSense jazyka JavaScript
Technologie IntelliSense jazyka JavaScript podporuje následující objekty:
Prvky Document Object Model (DOM)
Vnitřní objekty
Uživatelem definované proměnné, funkce a objekty
Objekty definované v externích souborech pomocí odkazů jako odkazy skriptu, direktivy odkazů a referenční skupiny.
Objekty definované ve vzdálených souborech stažených pomocí sady Visual Studio.
Objekty zadané v dokumentačních komentářích XML, například parametry a pole.
Objekty, které jsou popsány pomocí standardních značek komentářů jazyka JavaScript (/ /).Další informace naleznete v tématu Rozšíření JavaScript IntelliSense.
Objekty, které jsou podporovány pomocí mechanismu rozšíření.Další informace naleznete v tématu Rozšíření JavaScript IntelliSense.
Objekty technologie ASP.NET AJAX
Pokud technologie IntelliSense nedokáže určit typ objektu, poskytuje možnosti pro doplňování výrazů pomocí identifikátorů v aktivním dokumentu.Další informace naleznete v tématu Doplňování výrazů pro identifikátory.
Prvky HTML DOM
Technologie IntelliSense jazyka JavaScript poskytuje programovací odkazy pro dynamické prvky modelu HTML (DHTML) DOM, například body, form a div.Technologie IntelliSense zobrazuje pouze prvky, které jsou obsaženy v aktuálním dokumentu a na hlavní stránce.Technologie IntelliSense jazyka JavaScript také podporuje objekty window a document a jejich členy.
Vnitřní objekty
Technologie IntelliSense jazyka JavaScript poskytuje programovací odkazy pro vnitřní objekty, například Array, String, Math, Date a Number.Další informace o vnitřních objektech naleznete v tématu Vnitřní objekty (JavaScript).
Uživatelem definované proměnné, funkce a objekty
Pokud změníte soubor jazyka JavaScript, aplikace Visual Studio prohledá otevřené a odkazované dokumenty k určení všech dostupných prostředků kódu.Sem patří proměnné, funkce a objekty, které jste vytvořili.Tyto prostředky jsou pak k dispozici technologii IntelliSense jazyka JavaScript.
Další informace o uživatelem definovaných proměnných, funkcích a objektech naleznete v tématu Vytváření vlastních objektů na webu MSDN.
Odkazy na externí soubory
Můžete zahrnout různé typy odkazů na externí soubory, které má technologie IntelliSense ve vašem kódu podporovat.Odkazy na externí soubory mohou být odkazy skriptu, direktivy odkazů nebo mohou být určeny pomocí referenčních skupin.
Odkazy skriptu
Místo psaní celého klientského skriptu na stránce můžete odkazovat na externí soubory, které obsahují kód skriptu.To usnadňuje opětovné použití kódu mezi stránkami a umožňuje ukládání klientského skriptu do mezipaměti prohlížeče.
Pokud nepracujete s webovou stránkou s podporou technologie ASP.NET AJAX, můžete na externí soubor skriptu odkazovat pomocí atributu src v úvodní značce prvku script.Atribut src určuje adresu URL externího souboru, který obsahuje zdrojový kód nebo data.
Následující příklad ukazuje značky, které používají atribut src ve značce <script> k odkázání na soubor skriptu.
<script type="text/javascript" src="~/Scripts/JavaScript.js">
</script>
Pokud pracujete s webovou stránkou s podporou technologie ASP.NET AJAX, můžete na soubory skriptu odkazovat pomocí objektu ScriptReference ovládacího prvku ScriptManager.
Následující příklad ukazuje značky, které používají objekt ScriptReference v ovládacím prvku ScriptManager k odkázání na soubor skriptu.
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Scripts/JavaScript.js" />
</Scripts>
</asp:ScriptManager>
Technologie IntelliSense také podporuje soubory skriptu, které jsou vloženy jako prostředky v sestavení ve webových aplikacích technologie ASP.NET AJAX.Další informace o použití integrovaných prostředků skriptu naleznete v tématu Embedding a JavaScript File as a Resource in an Assembly.
Direktivy odkazů
Pomocí direktivy reference může Visual Studio vytvořit vztah mezi skriptem, který právě upravujete, a jinými skripty.Direktiva reference umožňuje zahrnout soubor skriptu do kontextu skriptování aktuálního souboru skriptu.Technologie IntelliSense tak může při kódování odkazovat na externě definované funkce, typy a pole.
Direktiva reference se vytváří ve formě komentáře XML.Direktiva musí být deklarována v souboru dříve než jakýkoli skript.Direktiva reference může zahrnovat odkaz na skript na základě disku, odkaz na skript na základě sestavení, odkaz na skript na základě služby nebo odkaz na skript na základě stránky.
Následující příklad ukazuje příklady použití direktiv odkazu na skript na základě disku.V prvním příkladu služba jazyka vyhledá soubor ve stejné složce, která obsahuje soubor projektu (například .jsproj).
/// <reference path="ScriptFile1.js" />
/// <reference path="Scripts/ScriptFile2.js" />
/// <reference path="../ScriptFile3.js" />
/// <reference path="~/Scripts/ScriptFile4.js" />
Následující příklad ukazuje způsob vytvoření odkazu na skript na základě sestavení.
/// <reference name "Ajax.js" assembly="System.Web.Extensions, ..." />
Následující příklad ukazuje způsob vytvoření odkazu na skript na základě služby:
/// <reference path="MyService.asmx" />
/// <reference path="Services/MyService.asmx" />
/// <reference path="../MyService.asmx" />
/// <reference path="~/Services/MyService.asmx" />
[!POZNÁMKA]
Technologie IntelliSense jazyka JavaScript není podporována pro skript, který je obsažen v souborech webové služby (.asmx) v projektech webových aplikací (WAP).
Následující příklad ukazuje způsob vytvoření odkazu na skript na základě stránky.
/// <reference path="Default.aspx" />
/// <reference path="Admin/Default.aspx" />
/// <reference path="../Default.aspx" />
/// <reference path="~/Admin/Default.aspx" />
Pro direktivu reference platí následující pravidla.
Komentář XML reference musí být deklarován před veškerým skriptem.
Je nutné použít syntaxi komentářů XML se třemi lomítky.Odkazy vytvořené pomocí syntaxe standardních komentářů (dvě lomítka) jsou ignorovány.
Na jednu direktivu lze určit pouze jeden soubor nebo prostředek.
Více odkazů na skripty na základě stránky není povoleno.
Pokud je zadán odkaz na stránku, není povolen žádný jiný typ direktiv odkazu.
Názvy souborů používají relativní cesty.Můžete použít operátor tilda (~) a vytvořit relativní kořenové cesty aplikace.
Absolutní cesty jsou ignorovány.
Direktivy odkazu na odkazovaných stránkách nebudou zpracovány; direktivy odkazu nejsou pro stránky řešeny rekurzivně.Je zahrnut pouze jeden skript, na který stránka odkazuje přímo.
Referenční skupiny
Pomocí předdefinovaných referenčních skupin můžete určit, že konkrétní soubory .js technologie IntelliSense jsou v oboru pro různé projekty jazyka JavaScript.K dispozici jsou následující typy referenčních skupin:
Implicitní (Windows) pro aplikace Windows Store využívající jazyk JavaScript.Soubory zahrnuté v této skupině jsou v oboru pro každý soubor .js otevřený v editoru kódu pro projekt určeného typu.
Implicitní (web) pro projekty HTML5.Soubory zahrnuté v této skupině jsou v oboru pro každý soubor .js otevřený v editoru kódu pro tyto typy projektů.
Referenční skupiny vyhrazeného pracovníka, pro HTML5 Web Workers.Soubory zahrnuté v této skupině jsou v oboru pro každý soubor .js, který má explicitní odkaz na referenční skupinu vyhrazeného pracovníka.
Obecné, pro ostatní typy projektů jazyka JavaScript.
Ve většině případů není nutné referenční skupiny měnit.Pokud však chcete provést změny, můžete použít možnosti konfigurace pro editor kódu jazyka JavaScript a určit soubory, které budou do referenčních skupin zahrnuty.Pokyny týkající se použití této funkce naleznete v tématu Možnosti, textový editor, JavaScript, IntelliSense.
Tip
Odkazy technologie IntelliSense se zpravidla používají k zajištění podpory technologie IntelliSense pro globální objekty a rozšíření technologie IntelliSense.Tuto funkci můžete použít také pro skripty, které musí být v době běhu načteny pomocí modulu pro zavádění skriptu.
Odkazy na vzdálené soubory
Můžete nastavit, aby aplikace Visual Studio stáhla vzdálené soubory jazyka JavaScript, které jsou odkazovány v souboru jazyka JavaScript, s cílem poskytnout podporu technologie IntelliSense pro vzdálený soubor nebo knihovny.Při použití této funkce se soubory stáhnou, pokud je vložíte jako referenci do souboru s kódem JavaScript.
[!POZNÁMKA]
Tuto funkci lze použít pouze pro soubory jazyka JavaScript, které jsou otevřeny mimo kontext projektu, s výjimkou webových projektů.Pro webové projekty jsou ve výchozím nastavení vzdálené soubory, na které váš projekt odkazuje, staženy automaticky.
Pokyny týkající se použití této funkce naleznete v tématu Možnosti, textový editor, JavaScript, IntelliSense.
Upozornění |
---|
Pokud tuto funkci povolíte a zaznamenáte snížení výkonu editoru kódu, doporučujeme ji zakázat. |
Dokumentační komentáře XML
Dokumentační komentáře XML jsou textové popisy prvků kódu, které můžete přidat do skriptu.Tyto textové popisy jsou zobrazovány v technologii IntelliSense při odkazu na skript s komentářem.Můžete například poskytnout informace o parametrech funkce a návratové hodnotě.Dokumentační komentáře XML jsou k dispozici pouze z odkazovaných souborů, sestavení a služeb.Další informace naleznete v tématu Dokumentační komentáře XML (JavaScript) a Postupy: Vytváření komentářů dokumentace JavaScript XML.
Technologie IntelliSense může dokumentační komentáře XML zobrazit v následujících situacích:
Soubor .js, který odkazuje na jiný soubor .js.
Soubor .js, který odkazuje na soubor .aspx.
Soubor .aspx, který odkazuje na soubor .js.
Technologie IntelliSense není dostupná, když jeden soubor .aspx odkazuje na jiný soubor .aspx.
Objekty technologie ASP.NET AJAX
Technologie ASP.NET AJAX podporuje také technologii IntelliSense jazyka JavaScript.Technologie ASP.NET AJAX obsahuje rozhraní klienta, které rozšiřuje standardní typy dostupné v jazyce ECMAScript (JavaScript).Aby mohla technologie IntelliSense jazyka JavaScript poskytovat podrobnosti o objektech AJAX technologie ASP.NET, byly v celé aplikaci Microsoft Ajax Library přidány dokumentační komentáře XML.Tyto dokumentační komentáře XML se zobrazí při použití typů a členů, které jsou obsaženy v knihovně technologie ASP.NET AJAX.
[!POZNÁMKA]
Soukromé členy nejsou pomocí technologie IntelliSense jazyka JavaScript zobrazeny.Soukromé členy jsou v technologii ASP.NET AJAX označeny jako členy, které začínají podtržítkem (_).
Rozšíření technologie IntelliSense jazyka JavaScript
Služba jazyka JavaScript poskytuje objekty a funkce, které vám umožní změnit prostředí technologie IntelliSense pro vývojáře, kteří používají knihovny třetích stran.Tyto funkce jsou zvláště užitečné v případě, že výchozí služba jazyka není schopna poskytnout všechny informace, které chcete poskytnout zákazníkům.Další informace naleznete v tématu Rozšíření JavaScript IntelliSense.
Ověření jazyka JavaScript
Ověření skriptování v jazyce JavaScript probíhá neustále na pozadí.Když Visual Studio zjistí v kódu jazyka JavaScript chyby syntaxe, je následujícími způsoby poskytnuta zpětná vazba:
Podtržením prvků v editoru.Chyby jsou podtrženy červenou vlnovkou.Když nad chybou podržíte ukazatel myši, zobrazí se popis chyby.
Okno Seznam chyb.V okně Seznam chyb se zobrazí popis chyby, soubor, ve kterém k chybě došlo, číslo řádku a sloupce a projekt.Chcete-li zobrazit okno Seznam chyb, klikněte v nabídce Zobrazení na příkaz Seznam chyb.
Okno Výstup zobrazí odkazy, které nebyly načteny.
Zpět na začátek
Viz také
Úkoly
Postupy: Vytváření komentářů dokumentace JavaScript XML
Koncepty
Rozšíření JavaScript IntelliSense
Doplňování výrazů pro identifikátory
Dokumentační komentáře XML (JavaScript)