Visual Studio oferuje JavaScript Intellisense. Jest wystarczająco sprytny, aby zauważyć, że odwołujesz się do plików JavaScript na swoich stronach wzorcowych (na przykład plik jQuery), a następnie oferuje uzupełnianie oświadczeń w dowolnym widoku aplikacji. Jednak wydaje się, że nie działa to w przypadku Razor. Czy jest jakiś sposób, żeby to działało z Razorem? ASPX widok silnik oferuje ten trick na przykład: <% /* %><script src="~/Scripts/jquery-1.4.1-vsdoc.js"></script><% */ %>
Odnosząc się do plików JavaScript w widokach Razor, aby uzyskać JavaScript Intellisense
17
A
Odpowiedz
27
Powinieneś być w stanie zrobić coś takiego:
@if (false) {
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
}
ten sposób kod nigdy nie będzie uruchamiany, gdy biegnie aplikacji, ale nie będą wiedzieć, VS o numerze if (false)
, więc przeanalizuje tag <script>
i pozwoli Intellisense wziąć to pod uwagę. Problem z użyciem komentarzy Razor w plikach maszynki brzytwy polega na tym, że VS rozpozna je i całkowicie zignoruje wszystko, co znajduje się wewnątrz nich. Na przykład, to nie będzie działać:
@* <script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> *@
8
Aby zapobiec kompilatora ostrzeżenia o martwy kod, można dodatkowo owinąć to z Pragma:
@{ #pragma warning disable }
@if (false)
{
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
}
@{ #pragma warning restore }
nie najczystsze obejścia ale prawdopodobnie najlepiej jak potrafimy na razie. Dzięki! – Konstantin
Powyższa metoda powoduje, że podczas korzystania z właściwości true MvcBuildViews> w pliku csproj powstaje wiele "wykrytych nieosiągalnych kodów". –
JJS