5

Używam VS2012, a jeden z moich projektów w całej Javascript nazw funkcja ma wszystkich swoich poddanych metod począwszy od podkreślenia _ na przykład:wizualne metody Studio Intellisense z podkreśleniem nie pojawiają

var NameSpace = { 
    _aMethod = function() { }, 
    _anotherMethod = function() { } 
}; 

Dla przestrzeni nazw utworzyłem szybki plik odwzorowania, a sama przestrzeń nazw jest wyświetlana, ale żadna z metod nie jest dostępna dla tej metody. UWAGA: Jeśli usuniemy _ na początku metod, działa jak urok.

// This would work, and show up in the VSDOC 
var NameSpace = { 
    aMethod = function() { }, 
    anotherMethod = function() { } 
//^notice no underscores 
}; 

Czy jest to w ogóle dostępne?

Przejście przez cały projekt i zmiana ich nazwy (nawet w przypadku znaleziska) byłyby ryzykowne, ponieważ metody te są ze sobą powiązane.

Odpowiedz

4

Jeśli przejdziesz do menu Narzędzia-> Opcje-> Edytor tekstu-> JavaScript-> IntelliSense-> Referencje, powinna pojawić się lista rozwijana dla grupy odniesienia (w zależności od tego, jakiego rodzaju projekt może być potrzebny)

Gdy masz odpowiednią grupę, zauważysz, że są pewne domyślne pliki referencyjne intellisense. Spróbuj usunąć underscorefilter.js

+0

Spójrz, dziękuję, Bryan! –

+0

Wygląda na to, że nie działa w VS2013. Usunięto plik, podkreślone metody nadal się nie pojawiają. Próbowałem zamknąć i ponownie otworzyć plik, nawet próbował ponownie uruchomić VS, ale bez powodzenia. – andrewb

+1

Powodem tego jest "podrabianie" podkreślonych właściwości jako właściwości prywatnych. Podczas wywoływania z "na zewnątrz" podkreślenie jest ukryte. Podczas wywoływania właściwości wewnętrznej z "tym" widzisz podkreślone zmienne. Przez przypadek możemy go wyłączyć, jeśli chcemy, dzięki @bryan odpowiedzi. [Inny wątek na ten temat] (http://stackoverflow.com/questions/4484424/underscore-prefix-for-property-and-method-names-in-javascript) – foxontherock

Powiązane problemy