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?

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.


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 :


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


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" />


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.


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>


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" />

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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.