2009-02-17 18 views

Odpowiedz

13

Jeśli są jakieś błędy we wszystkich plikach, to złamie to intellisense dla wszystkich odniesień do plików z tego samego dokumentu. Następna wersja Visual Studio będzie o wiele mocniejsza pod tym względem. Przepraszam bezpośrednio za tę słabość. Na początku podjęliśmy pewne decyzje projektowe, które uniemożliwiły nam sprawienie, by odniesienia zewnętrzne VS9 były bardziej niezawodne.

W międzyczasie zastosuj następujące obejście. Zainstaluj dodatek SP1 z linku podanego przez Slace. Jeśli masz odwołanie do pliku o nazwie .js i istnieje plik o nazwie -vsdoc.js w tej samej lokalizacji, to JS intellisense pobierze wersję -vsdoc. Jeśli ten skrypt jest pusty, nie wygeneruje błędu. Zidentyfikuj wtyczkę jQuery powodującą niepowodzenie generacji intellisense i umieść obok niej wersję -vsdoc. Nie dostaniesz intellisense dla interfejsu użytkownika, ale nadal będziesz otrzymywać jquery i inne wtyczki, które działają.

Wszystko, co umieścisz w wersji vsdoc pojawi się w systemie intellisense. Możesz umieścić fałszywe wersje struktur danych, które chcesz wyświetlić w intellisense, jeśli chcesz.

8

Prawdopodobnie występuje błąd w jednym z niewspółmiernie powiązanych plików JavaScript. Otwórz swój plik JS i kiedy "Updaing JavaScript Intellisense" zniknie z paska stanu programu Visual Studio (jest opcja menu, która wymusi odświeżenie JS intellisense, nie pamiętam gdzie to jest, właśnie stworzyłem skrót klawiaturowy za pomocą Narzędzia -> Opcje -> Obszar klawiatury) otwórz okno Błędy i pod Ostrzeżeniami powinieneś znaleźć powód, dla którego nie udało się wczytać intellisense.

Zwykle jest to błąd znaleziony podczas analizowania jednego z plików, ale miałem przepełnienia stosu, gdy miałem wiele plików odniesienia.

Edit: Ty też powinien upewnić się, że tę poprawkę VS zainstalowane: (! Najpierw zainstalować SP1) http://code.msdn.microsoft.com/KB958502 i VS 2008 SP1. Wtedy po prostu trzeba mieć:

/// <reference path="/path/to/jquery-1.3.1.js" /> 

Upewnij się, że utrzymanie -vsdocs na plik intellisense i zostanie on automatycznie podniósł (tak długo, jak to jest w tym samym folderze co plik ty odniesienia)

+0

Błąd "Błąd podczas aktualizacji JScript IntelliSense: C: \ Users \ Brian \ Documents \ Visual Studio 2008 \ Projects \ jQueryTest \ jQueryTest \ jquery-1.3.1-vsdoc.js:" jQuery.support.htmlSerialize "ma wartość null lub nie obiekt @ 1418: 4 " Pliki jscript, których używam to pliki jQuery i jQuery UI z jquery.com –

+0

prawdopodobnie najlepiej jest przesłać je jako raport o błędzie do MS, a następnie –

+0

Nadal nie mogę aby to zadziałało. Czy ktoś może używać jQuery z jQuery UI w/jQuery IntelliSense? –

8

Zaakceptowana odpowiedź pomogła mi rozwiązać ten problem, ale nie rozwiązała problemu. Zainstalowałem poprawkę: http://code.msdn.microsoft.com/KB958502, ale wciąż pojawiał się błąd.

Błąd:

Error updating JScript IntelliSense: D:\Dev\Test\Scripts\jQuery-1.3.2-vsdoc.js: 'jQuery.support.htmlSerialize' is null or not an object @ 1430:4 

Wydaje dodanie pliku follwing bez odpowiedniego pliku -vsdoc.js powoduje powyższą kwestię.

<script src="../../Scripts/jquery-ui-1.7.custom.min.js" type="text/javascript"></script> 

dodałem pusty plik "jQuery UI-1.7.custom.min-vsdoc.js" do moich skryptów folderu i sprawa JScript IntelliSense odszedł.

+2

To jest całkowicie niedorzeczne, że działa to jako rozwiązanie, ale działa: \ WTF Microsoft !!! – Josh

+0

Niewiarygodne, to takie głupie. – SoftwareGeek

1

Rozwiązałem to na podstawie powyższej porady z dodatkowym rozszerzeniem: dla mnie było to, aby dodać odniesienie na mojej stronie zarówno do mojej biblioteki jqueryui.com, jak i pustej -vsdoc.js wersja pliku, który utworzyłem:

<script type="text/javascript" src="../../Scripts/jquery-ui-1.7.2.custom.min.js"></script> 
<script type="text/javascript" src="../../Scripts/jquery-ui-1.7.2.custom.min-vsdoc.js"></script> 

Mam nadzieję, że to pomoże!

+0

To drugie łącze powinno być konieczne tylko, jeśli nie zainstalowano [poprawki] (http://code.msdn.microsoft.com/KB958502) – Casebash

1

Świetne, ulepszenie polega na utworzeniu pustego pliku * -vsdoc.js dla każdego kłopotliwego pliku * .js.

Znalazłem ten błąd spowodowany przez anonimową funkcję, np. tak:

(function($) { 
    $.anything...; 
})(jQuery); 

Nadzieja to spowodowane pomoże ktoś tworzenia JScript IntelliSense Zespół http://code.msdn.microsoft.com/KB958502 i.

Powiązane problemy