Pergunta

Logo de cara, isso não é o seu padrão "I Can not Get javascript IntelliSense ao trabalho no Visual Studio." Para o registro:

  • Estou usando o Visual Studio 2008
  • Eu instalei SP 1
  • Eu tenho instalado o hotfix para arquivos de documentação -vsdoc.js KB958502

Estou desenvolvendo um conjunto de plugins jQuery inter-relacionadas para ser empacotado como recursos em uma biblioteca de classes. Então, dentro de um diretório, eu tenho (como um exemplo):

  • jquery-vsdoc.js
  • core.js
  • plug1.js
  • plug2.js

Em core.js, tenho o seguinte na parte superior do arquivo:

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

Então, em cada um dos plugue # js, eu tenho:

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

O IntelliSense funciona inicialmente, mesmo incluindo as adições de core.js quando se trabalha nos plugins. No entanto, por vezes, a menor mudança, mesmo adicionando e removendo um espaço das tags XML de referência, ou pressionando Ctrl-Shift-J, resulta na temida "Erro ao atualizar JScript IntelliSense: do lado do cliente informações roteiro IntelliSense não foi gerada devido a um erro em uma referência de script externo." Exceto que estava trabalhando com essa referência de script externo apenas um segundo atrás!

Para os jquery-vsdoc.js, estou usando comentário de versão 1.3.2b (que é o que diz no arquivo) de http://jqueryjs.googlecode.com/files/jquery-1.3.2-vsdoc2.js . Eu estou omitindo o número da versão do arquivo para que eu não tenho que mudar um monte de referências quando é inevitavelmente atualizado.

Então, o que poderia ser o problema? Reiniciar Visual Studio está provando ser uma solução terrivelmente deselegante (e demorado).

Nenhuma solução correta

Outras dicas

Você tentou aumentar o tempo limite IntelliSense?

Por padrão, todos os pedidos IntelliSense só é permitido 15s para executar. este é para evitar a partir IntelliSense scripts com loops infinitos. Se vocês tem um grande script ou máquina mais lenta, pode fazer sentido para aumentar a tempo limite. O valor do tempo limite loja dentro seguintes chaves do Registro (Dependendo se você está usando Express ou o produto completo). o valor é em milissegundos para que escolher maior algo do que 15000.

HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 9.0 \ HTML Editor \ JsFailsafeTimeout HKEY_CURRENT_USER \ Software \ Microsoft \ VWDExpress \ 9.0 \ HTML Editor \ JsFailsafeTimeout

Does fechando e abrindo o arquivo de repor o estado?

Abra o Gerenciador de tarefas e assistir os processos. Você vê um processo chamado "typelibbuilder.exe" começar quando você pressiona Ctrl-Shift-J?

Eu estou tentando imagem que tipo de problemas pode exigir a reinicialização do VS. O processamento de referências (a que que pertence mensagens) é feito em um processo novo e separado cada vez que você pressione Ctrl-Shift-J (a menos que o processamento foi desativado no caso em que você veria uma mensagem diferente). Soa quase como a comunicação entre VS e typelibbuilder ou algum outro componente necessário está falhando.

No SP1, você não deve precisar fazer referência os arquivos "-vsdoc" diretamente. Se você faz referência a "foo.js" e há um "foo-vsdoc.js" arquivo ao lado dele, então VS usará a versão vsdoc para gerar intellisense. Duvido que está relacionado ao seu problema embora.

Eu sei que isso não é grande consolo, mas nós já melhorou drasticamente o desempenho ea confiabilidade do Javascript Intellisense no Visual Studio 2010. Beta1 está atualmente disponível para assinantes do MSDN (embora seja beta e ainda há alguns bugs nele) .

Se você pode obter passos de reprodução confiáveis, você também pode enviar um relatório de bug em http://connect.microsoft. com / .

Eu não sei se isso irá ajudá-lo, mas eu encontrei o seguinte erro no VS 2008 JS intellisense:

Ao adicionar jQuery como uma referência em um arquivo externo, e então eu atualizar JS eu recebo:

'XmlHttpRequest é indefinido' na linha:

return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();

Parece que o motor intellisense JS é realmente executar algum código jQuery (mais do que provável para inspecioná-lo para que ele possa fornecer mais algumas informações sobre ele). No entanto, parece que window.ActiveXObject é nulo para o motor, e por isso cai no 'new XMLHttpRequest ()' bloquear -., Que também falha

Eu cortei uma solução que quebra todos os navegadores, exceto IE - por isso não é uma boa solução. Meu correção altera o seguinte:

    xhr: function()
    {
        // hack to fix VS 2008 intellisense... note this breaks any browser
        // except IE
        var objXhr = { open: function() { },
            setRequestHeader: function() { } 
        };

        return window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : objXhr;
    },

Agora meus trabalhos IntelliSense.

Você pode querer desativar o intellisense JavaScript no Visual Studio.

Quando SP1 é instalado, você pode desativar o JavaScript intellisense.
Vá em Ferramentas, Opções ...

A caixa de diálogo Opções vai aparecer.

Vá até o seguinte nó no painel da mão esquerda do lado:
Editor de Texto :: JScript :: Geral

Desativar as seguintes opções (na Declaração grupo Completion):
* membros da lista Auto
* As informações de parâmetro

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top