Technologia JavaScript IntelliSense
IntelliSense ułatwia pisanie kodu, szybciej i z mniejszą liczbą błędów, poprzez dostarczanie informacji, podczas gdy kod.Podczas pracy z skryptu klienta Edytora kodu JavaScript, IntelliSense wyświetla listę obiektów, funkcji, właściwości i parametry, które są dostępne oparte na bieżącego kontekstu.Można wybrać opcję kodowania z listy dostarczone przez technologię IntelliSense kodu.
Technologia IntelliSense sprawia, że łatwiej wykonać następujące zadania:
Znajdź informacje o członkach.
Wstawianie elementów języka bezpośrednio do kodu.
Utrzymać kontekstu bez konieczności opuszczania edytora kodu.
Obsługuje niestandardowe IntelliSense z komentarzy dokumentacji XML i rozszerzalność JavaScript IntelliSense.
Aby uzyskać informacje na temat nowych funkcji usługi języka JavaScript, zobacz Nowości w Visual Studio 2012.
Ten temat zawiera następujące sekcje:
Określenia kontekstu technologii IntelliSense
Przetwarzanie informacji o technologii IntelliSense
Funkcje technologii JavaScript IntelliSense
Technologia JavaScript IntelliSense rozszerzalności
Sprawdzanie poprawności kodu JavaScript
Aby uzyskać więcej informacji o funkcji IntelliSense Visual Studio, zobacz Za pomocą technologii IntelliSense.
Określenia kontekstu technologii IntelliSense
Technologia JavaScript IntelliSense zawiera opcje kodowania, w zależności od wszystkich skrypt, który odnosi się do bieżącego kontekstu skryptu.Dotyczy to scripting elementy w bieżącym pliku.Zawiera także wszelki kod, który jest wywoływany bezpośrednio lub pośrednio przez skrypt, na przykład odwołuje się plik skryptu, odwołania do zestawów skryptu, odwołania do usługi i odwołania skojarzonej strony.
Bieżący kontekst skryptu jest utworzone w oparciu o następujące elementy:
Funkcje, które są zdefiniowane w wszystkie bloki skryptów w aktywnym dokumencie.Wbudowane bloki skryptu są obsługiwane w plikach, które mają rozszerzenia nazwy pliku aspx., .ascx, .master, .html i .htm.
scriptelementy z src atrybuty, które wskazują na inny plik skryptu.Plik skryptu docelowy musi mieć js rozszerzenie nazwy pliku.
Pliki JavaScript, które odwołują się inne pliki JavaScript za pomocą reference dyrektywy.
Grupy odniesienia dla obiektów globalnych, technologia IntelliSense rozszerzenia lub pliki skryptów ładowanych z opóźnieniem.
Odniesienia do usług XML sieci Web.
ScriptManager i ScriptManagerProxy kontroluje, jeśli aplikacja sieci Web jest aplikacją ASP.NET AJAX.
Microsoft Ajax Library, Jeśli użytkownik pracuje w aplikacji sieci Web ASP.NET włączoną obsługą języka AJAX.
[!UWAGA]
Technologia IntelliSense nie jest obsługiwana dla skryptu, który jest w program obsługi zdarzeń atrybutów elementów HTML, lub który jest zdefiniowany w href atrybuty.
Przetwarzanie informacji o technologii IntelliSense
Aby zapewnić JavaScript IntelliSense, usługa języka wykonuje następujące operacje:
Tworzy listę plików zależnych JavaScript, które są na podstawie odniesienia w aktywnym dokumencie i oparte na rekursywnie rozpatrywanie odwołań skrypt w plikach do których następują odwołania.
Przechodzi listy i gromadzi informacje o typie i inne odpowiednie dane z każdego pliku.
Agreguje dane i przekazuje ją do usługi języka JavaScript, która udostępnia informacje o typie i danych technologii IntelliSense.
Monitoruje pliki dla zmian, które mogą mieć wpływ na listy opcji IntelliSense i aktualizuje listę, w razie potrzeby.Skrypty na magazyny zdalnego (na przykład odwoływać za pomocą protokołu HTTP) nie uzyskać monitorowane.
Funkcje technologii JavaScript IntelliSense
Technologia JavaScript IntelliSense obsługuje następujące obiekty:
Elementy dokumentu Object Model (DOM)
Obiekty wewnętrzne środowiska
Zmienne zdefiniowane przez użytkownika, funkcje i obiekty
Obiekty zdefiniowane w zewnętrznych plikach używając odwołań, na przykład odwołania skryptu, odwołanie dyrektyw, i grupy odniesienia.
Obiekty określone w komentarzy dokumentacji XML, takich jak pola i parametry.
Obiekty oznaczone przy użyciu standardowych znaczników komentarza JavaScript (/ /).Aby uzyskać więcej informacji, zobacz Rozszerzanie JavaScript IntelliSense.
Obiekty są obsługiwane za pomocą Technologia JavaScript IntelliSense rozszerzalności mechanizmu.Aby uzyskać więcej informacji, zobacz Rozszerzanie JavaScript IntelliSense.
Obiekty ASP.NET AJAX
Gdy nie można określić typ obiektu jest technologia IntelliSense, udostępnia opcje Kończenie instrukcji przy użyciu identyfikatorów w aktywnym dokumencie.Aby uzyskać więcej informacji, zobacz Kończenie instrukcji dla identyfikatorów.
Elementy modelu DOM języka HTML
Technologia JavaScript IntelliSense zawiera informacje dla programistów DOM Dynamic HTML (DHTML) elementów, takich jak body, form, i div.Tylko elementy, które znajdują się na bieżącej stronie dokumentu i wzorzec są wyświetlane przez technologię IntelliSense.Technologia JavaScript IntelliSense obsługuje również window i document obiekty i ich członków.
Obiekty wewnętrzne środowiska
Technologia JavaScript IntelliSense zawiera informacje dla programistów natywnie wewnętrznych obiektów, do Array, String, Math, Date, i Number.Aby uzyskać więcej informacji na temat obiekty wewnętrzne środowiska, zobacz Wewnętrzne obiekty (JavaScript).
Zmienne, funkcje i obiekty zdefiniowane przez użytkownika
Podczas zmiany pliku JavaScript, Visual Studio skanowania otwarty i odwołanie do dokumentów, aby ustalić wszystkie zasoby dostępne kodu.Dotyczy to zmienne, funkcje i obiekty, które zostały utworzone.Te zasoby będą dostępne dla JavaScript IntelliSense.
Aby uzyskać więcej informacji na temat zmiennych zdefiniowanych przez użytkownika, funkcji i obiektów, zobacz Tworzenie Twoje własne obiekty w witrynie MSDN w sieci Web.
Odwołania zewnętrzne pliku
Mogą zawierać różne typy odwołań do zewnętrznego pliku do osiągnięcia obsługę technologii IntelliSense w kodzie.Odwołania do zewnętrznego pliku może być odwołania do skryptów, dyrektyw odniesienia, lub może być określony, przy użyciu grupy odniesienia.
Odwołania do skryptów
Zamiast pisać wszystkich skrypt klienta na stronie, można odwoływać się zewnętrzne pliki, które zawierają kody skryptowe.Dzięki temu będzie łatwiejsze do ponownego użycia kodu między stronami, oraz umożliwia skrypt klienta mają być buforowane przez przeglądarkę.
Jeśli nie pracujesz z stronę sieci Web z obsługą technologii ASP.NET AJAX, zewnętrznego pliku skryptu można się odwoływać za pomocą src atrybutu w znaczniku otwierającym script element.src Atrybut określa adres URL do pliku zewnętrznego, który zawiera kod źródłowy lub danych.
W poniższym przykładzie pokazano adiustacji, która używa src atrybutu w <script> znacznik, aby odwołać się za pliku skryptu.
<script type="text/javascript" src="~/Scripts/JavaScript.js">
</script>
Podczas pracy ze stroną sieci Web z obsługą technologii ASP.NET AJAX, pliki skryptów można się odwoływać za pomocą ScriptReference obiekt z ScriptManager kontroli.
W poniższym przykładzie pokazano adiustacji, która używa ScriptReference obiekt w ScriptManager sterowania, aby odwołać się za pliku skryptu.
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Scripts/JavaScript.js" />
</Scripts>
</asp:ScriptManager>
Technologia IntelliSense obsługuje również pliki skryptów, które są osadzane jako zasoby w zestawie w aplikacjach sieci Web programu ASP.NET AJAX.Aby uzyskać więcej informacji na temat zasobów osadzonych skryptów, zobacz Embedding a JavaScript File as a Resource in an Assembly.
Odwołanie dyrektyw
A reference dyrektywa dopuszcza możliwość Visual Studio na związek między skryptu aktualnie edytujesz i innych skryptach.reference Dyrektywy pozwala umieścić plik skryptu w kontekście skryptów bieżącego pliku skryptu.Umożliwia to technologia IntelliSense odwołać się za funkcje zdefiniowaną zewnętrznie, typów i pól jako użytkownik kod.
Możesz utworzyć reference w dyrektywie w formie komentarz XML.Niniejszej dyrektywy muszą być wcześniej zadeklarowane w pliku niż dowolny skrypt.A reference dyrektywy może zawierać odwołanie skryptu opartego na dysku, odwołanie zestawu skryptów, odwołanie opartych na usługach skrypt lub odwołanie skrypt oparty na stronie.
Przykłady użycia dyrektyw oparte na dysku można znaleźć w poniższym przykładzie.W pierwszym przykładzie Usługa języka szuka pliku w tym samym folderze, który zawiera plik projektu (na przykład .jsproj).
/// <reference path="ScriptFile1.js" />
/// <reference path="Scripts/ScriptFile2.js" />
/// <reference path="../ScriptFile3.js" />
/// <reference path="~/Scripts/ScriptFile4.js" />
Jak utworzyć odwołanie do zestawu skryptów można znaleźć w poniższym przykładzie.
/// <reference name "Ajax.js" assembly="System.Web.Extensions, ..." />
Jak odwołać opartych na usługach skryptu można znaleźć w poniższym przykładzie:
/// <reference path="MyService.asmx" />
/// <reference path="Services/MyService.asmx" />
/// <reference path="../MyService.asmx" />
/// <reference path="~/Services/MyService.asmx" />
[!UWAGA]
Technologia JavaScript IntelliSense nie jest obsługiwana dla skryptu, który znajduje się w sieci Web service (.asmx) plików w projekty aplikacji sieci Web (WAP).
Jak odwołać się za skrypt oparty na stronie można znaleźć w poniższym przykładzie.
/// <reference path="Default.aspx" />
/// <reference path="Admin/Default.aspx" />
/// <reference path="../Default.aspx" />
/// <reference path="~/Admin/Default.aspx" />
Obowiązują następujące reguły do reference dyrektywy.
reference Komentarza XML musi być zadeklarowana przed dowolny skrypt.
Należy użyć składni języka XML komentarze z trzech kresek ułamkowych.Przepisy odnoszące się przy użyciu składni standardowych komentarze (dwoma znakami kreski ułamkowej) są ignorowane.
Tylko jeden plik lub zasób może być określona dla każdej dyrektywy.
Wiele odwołań do skryptów oparty na stronie nie są dozwolone.
Jeśli odwołanie do strony jest określony, Brak typu dyrektyw odwołanie jest dozwolone.
Nazwy plików używane ścieżki względne.Można użyć operatora tylda (~) aby ścieżki względem katalogu głównego aplikacji.
Ścieżki bezwzględne są ignorowane.
Dyrektyw odwołania na stronach odwołania nie będą przetwarzane — to znaczy dyrektyw odniesienia nie są rozwiązane rekursywnie dla stron.Dołączono tylko skrypt, który jest wywoływany bezpośrednio przez strony.
Grupy odwołań
Grupy odniesienia można użyć, aby określić, że szczególne js IntelliSense, które pliki znajdują się w zakresie we wszystkich projektach JavaScript.Dostępne są trzy grupy odniesienia: niejawna (Windows), niejawna (sieć Web), a także dedykowany pracownik odwołać grup.Niejawna odwołania (Windows) są dla Windows Store aplikacji przy użyciu języka JavaScript, a odwołania niejawna (sieć Web) są dla projektów HTML5.Pliki zawarte w tych grupach niejawne odwołanie znajdują się w zakres dla każdego pliku js, otwarty w edytorze kodu.
Grupa odwołania dedykowany pracownik jest pracowników Web HTML5.Pliki zostały określone w tej grupie są w zakresie dla plików .js, które mają wyraźne odniesienie do grupy odniesienia dedykowany pracownik.Niejawna odwołania nie dotyczą plików .js, które mają wyraźne odniesienie do grupy odniesienia dedykowany pracownik.
Opcje konfiguracji dla edytora kodu JavaScript służy do określania niejawna odwołania.Aby uzyskać więcej informacji, zobacz Opcje edytora tekstów, JavaScript, IntelliSense.
Porada |
---|
Odwołania IntelliSense są zazwyczaj używane do zapewnienia obsługi technologii IntelliSense obiektów globalnych oraz technologii IntelliSense rozszerzenia.Można także używać tej funkcji dla skryptów, które muszą być ładowane w czasie wykonywania za pomocą skryptu programu ładującego. |
Komentarzy dokumentacji XML
Komentarzy dokumentacji XML są opisy tekstowe, które dodajesz do skryptu.Te opisy tekstowe są wyświetlane w technologii IntelliSense, jeśli odwołujesz komentarze z przydatnymi skryptu.Na przykład można dostarczyć informacji na temat parametrów funkcji i zwracają wartość.Komentarzy dokumentacji XML dostępne są tylko pliki do których następują odwołania, zespoły i usług.Aby uzyskać więcej informacji, zobacz Komentarzy dokumentacji XML (JavaScript) i Jak: tworzenie komentarzy dokumentacji JavaScript XML.
Technologia IntelliSense można wyświetlić odwołań do kodu XML komentarze w następujących scenariuszach odwołanie do pliku:
Plik .js, który odwołuje się do innego pliku js.
Pliku js, która odwołuje się plik .aspx.
Plik .aspx, który odwołuje się do pliku js.
Technologia IntelliSense jest niedostępna, gdy jeden plik .aspx odwołuje się do innego pliku .aspx.
Program ASP.NET AJAX obiektów
ASP.NET AJAX obsługuje również JavaScript IntelliSense.ASP.NET AJAX obejmuje strukturę klienta, która rozszerza standardowe typy, które są dostępne w języku ECMAScript (JavaScript).Aby włączyć JavaScript IntelliSense dostarcza szczegółowych informacji o obiektach ASP.NET AJAX, komentarzy dokumentacji XML zostały dodane przez cały Microsoft Ajax Library.Te komentarze dokumentacji XML są wyświetlane podczas korzystania z typów i elementów, które są zawarte w bibliotece ASP.NET AJAX.
[!UWAGA]
Prywatnych elementów członkowskich nie są wyświetlane przez technologię JavaScript IntelliSense.Prywatnych elementów członkowskich są oznaczone w technologii ASP.NET AJAX jako elementy członkowskie, które rozpoczynają się od znaku podkreślenia (_).
Technologia JavaScript IntelliSense rozszerzalności
Obsługę języka JavaScript zawiera obiekty i funkcje, które umożliwiają modyfikowanie doświadczenie technologii IntelliSense dla deweloperów, którzy korzystają z bibliotek innych firm.Funkcje te są szczególnie przydatne, gdy usługa języka domyślnego nie jest w stanie dostarczyć wszystkich informacji, które użytkownik chce dostarczać klientom.Aby uzyskać więcej informacji, zobacz Rozszerzanie JavaScript IntelliSense.
Sprawdzanie poprawności kodu JavaScript
Określenie poprawności skryptów JavaScript, stale pojawia się w tle.Gdy Visual Studio wykrywa błędy składni w kodzie JavaScript Opinia jest zapewniana w następujący sposób:
Podkreślone elementy w edytorze.Czerwone faliste linie wskazują błędy.Jeśli wskaźnik myszy znajduje się nad błędu, etykietka Wyświetla opis błędu.
Lista błędów okna.Lista błędów okno wyświetla opis błędu, plik, w którym wystąpił błąd, numer wiersza i kolumny i projektu.Aby wyświetlić Lista błędów okno, w View menu, kliknij przycisk Lista błędów.
W oknie dane wyjściowe są wyświetlane odwołań, które nie zostały załadowane.
Powrót do początku
Zobacz też
Zadania
Jak: tworzenie komentarzy dokumentacji JavaScript XML
Koncepcje
Rozszerzanie JavaScript IntelliSense
Kończenie instrukcji dla identyfikatorów
Komentarzy dokumentacji XML (JavaScript)