Visual Studio offre JavaScript Intellisense. È abbastanza intelligente da vedere che fai riferimento ai file JavaScript nelle tue pagine mastro (ad esempio il file jQuery) e poi offre il completamento delle istruzioni in qualsiasi vista dell'applicazione. Tuttavia, questo non sembra funzionare con Razor. C'è un modo per farlo funzionare con Razor? ASPX motore di visualizzazione offre questo trucco per esempio: <% /* %><script src="~/Scripts/jquery-1.4.1-vsdoc.js"></script><% */ %>
Riferimento ai file JavaScript nelle visualizzazioni Rasoio per ottenere JavaScript Intellisense
17
A
risposta
27
Si dovrebbe essere in grado di fare qualcosa di simile:
@if (false) {
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
}
In questo modo il codice non verrà mai eseguito quando viene eseguito l'app, ma non si sa VS riguardo allo if (false)
, quindi analizzerà il tag <script>
e permetterà a Intellisense di prenderlo in considerazione. Il problema con l'utilizzo dei commenti del rasoio nei file Razor è che VS li riconoscerà e ignorerà completamente qualsiasi cosa al loro interno. Ad esempio, questo non funzionerà:
@* <script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> *@
8
Per evitare avvisi del compilatore di codice irraggiungibile, si può avvolgere ulteriormente questo con un pragma:
@{ #pragma warning disable }
@if (false)
{
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
}
@{ #pragma warning restore }
Non la soluzione più pulita, ma probabilmente il meglio che possiamo avere per ora. Grazie! – Konstantin
il metodo sopra riportato restituisce un sacco di "Warning Unreachable code detected" quando si utilizza la proprietà true nel file csproj. –
JJS