Como você obtém JavaScript / jQuery Intellisense para trabalhar no Visual Studio 2008?

92

Achei que o jQuery Intellisense deveria ser melhorado com o SP1. Eu até baixei uma versão anotada do jQuery 1.2.6, mas o intellisense não funcionará em um arquivo jscript separado. Eu tenho a biblioteca jQuery referenciada primeiro na minha página da web na tag <head>. Estou fazendo algo errado?

Mark Struzinski
fonte

Respostas:

87

Na parte superior do seu arquivo JavaScript externo, adicione o seguinte:

/// <reference path="jQuery.js"/>

Certifique-se de que o caminho esteja correto, em relação à posição do arquivo na estrutura de pastas, etc.

Além disso, todas as referências precisam estar no início do arquivo, antes qualquer outro texto, incluindo comentários - literalmente, a primeira coisa no arquivo. Esperamos que a versão futura do Visual Studio funcione independentemente de onde esteja no arquivo, ou talvez eles façam algo totalmente diferente ...

Depois de fazer isso e salvar o arquivo , pressione Ctrl+ Shift+ Jpara forçar o Visual Studio a atualizar o Intellisense.

Jason Bunting
fonte
1
Sem problemas, fico feliz em poder ajudar! O suporte do Intellisense para JavaScript ainda tem um longo caminho a percorrer, mesmo com o SP1 as coisas ainda estão um pouco hackeadas, eu acho. Bem, pelo menos eles estão fazendo algo para ajudar! :)
Jason Bunting
Para sua informação: Eu atualizei o título disso para refletir o fato de que isso não é específico apenas para jQuery, uma vez que realmente não é. Obrigado pela pergunta!
Jason Bunting
Além disso, para observar, certifique-se de usar o atributo PATH em vez de NAME. Eu vi muitos exemplos w /: /// <reference name = "jQuery.js" /> (INCORRETO) em vez de /// <reference path = "jQuery.js" /> (CORRETO)
Nathan
Sim - uh, isso é o que meu código indica. Perdi alguma coisa?
Jason Bunting
1
shift-control-j forçará o intellisense a ser recalculado.
15

Há um arquivo JavaScript de documentação jQuery com suporte oficial para o Visual Studio 2008. Esse arquivo é apenas uma correção temporária até que a Microsoft libere um hotfix que resolva mais adequadamente o problema.

Incorporado em ASPX:

<% if (false) { %>
    <script src="jquery-1.2.6-vsdoc.js" type="text/javascript"></script>
<% } %>

Incorporado em JavaScript:

/// <reference path="jquery-1.2.6-vsdoc.js" />

Escolha aqui: jquery-1.2.6-vsdoc.js

Referências :

JD Courtoy
fonte
Esta é a única opção que funcionou para mim no VS 2010 Ultimate.
Alek Davis
8

Você vai querer olhar este link:

http://blogs.ipona.com/james/archive/2008/02/15/JQuery-IntelliSense-in-Visual-Studio-2008.aspx

ATUALIZAÇÃO: há um novo HotFix para Visual Studio 2008 e um novo arquivo de documentação do jQuery Intellisense que traz o jQuery Intellisense completo para o VS'08. Abaixo estão os links para obter estes dois:

http://blogs.msdn.com/webdevtools/archive/2008/11/07/hotfix-to-enable-vsdoc-js-intellisense-doc-files-is-now-available.aspx

http://blogs.msdn.com/webdevtools/archive/2008/10/28/rich-intellisense-for-jquery.aspx

Chris Pietschmann
fonte
Se eu pudesse te dar 10 votos, eu o faria. O arquivo intellisense gerado programaticamente referenciado aqui muda o jQuery intellisense de quase inútil para indispensável. Excepcional!
Herb Caudill
3

Para JavaScript inline, use:

/// <reference path = "~ \ js \ jquery-vsdoc.js" />

Observe as costas barras.

Isso não vai funcionar:

/// <caminho de referência = "~ / js / jquery-vsdoc.js" />

Peter Mortensen
fonte
2

Você não deve realmente precisar fazer referência à versão "-vsdoc". Se você colocar jquery-1.2.6-vsdoc.js no mesmo diretório que jquery-1.2.6.js, o Visual Studio saberá como converter uma referência jquery-1.2.6.js para jquery-1.2.6-vsdoc. js.

Acho que isso realmente funcionará com qualquer arquivo.

Hmmm ... isso dá uma boa solução para outra questão neste site ...

Editar: Este recurso funciona apenas com o VS2008 Service Pack 1.

Alan Oursland
fonte
Parece que pessoalmente tenho que manter o "-vsdoc" em minha referência para fazê-lo funcionar ... Estou usando o VS2008 com SP 1. (E sim, eles estão no mesmo diretório.) Talvez eu precise dar uma olhada nesses hotfixes sugeridos por Chris Pietschmann, acima?
Funka
Chris está certo. A funcionalidade 'vsdoc' foi adicionada com o hotfix que ele faz referência acima.
Alan Oursland
2

Se você estiver incluindo o arquivo jQuery anotado em sua fonte apenas para o intellisense, recomendo aproveitar as diretivas do pré-processador para removê-lo de sua visualização ao compilar. Ala:

<% #if (false) %>
  <!-- This block is here for jquery intellisense only.  It will be removed by the compiler! -->
  <script type="text/javascript" src="Scripts/jquery-1.3.2-vsdoc.js"></script>
<% #endif %>

Então, mais tarde em seu código, você pode realmente fazer referência a jQuery. Isso é útil ao usar a API de bibliotecas AJAX do Google , porque você obtém todos os benefícios que o Google oferece a você, além do intellisense.

Aqui está um exemplo de uso da API de bibliotecas:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
   google.load("jquery", "1.3.2", { uncompressed: false });
</script>
nikmd23
fonte
0

Se você deseja obter o arquivo Intellisense do CDN da Microsoft, pode usar:

/// <reference path="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1-vsdoc.js" />
Steve Miller
fonte
0

Certifique-se de não usar um arquivo jQuery minimizado.

Use Ctrl+ Shift+ J para fazê-lo funcionar depois de adicionar arquivos JavaScript ao projeto.

roman m
fonte
Eu tenho lutado para fazer o intellisense funcionar até encontrar isso, porque eu estava usando a versão minimizada e me perguntando por que não estava funcionando para mim.
RKP de