De acordo com esse post o intellisense também deve estar trabalhando no novo VS 2015, mas até agora só obtenho intellisense para o object angular e não para as dependencies ou meus módulos customizados.
Aqui está o que eu fiz:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References
Eu também adicionei o arquivo no mesmo lugar que o meu angular.js, mas ele ainda não funcionou. A questão que tenho neste caso é, onde devo colocar o arquivo? na pasta pública angular com apenas o meu angular.js, ou no meu dev pasta angular, onde todos os arquivos baixados do bower são.
Eu também tentei adicioná-lo diretamente no menu tools / options / editor de texto / javascriptr / intellisense / reference, no grupo de referência Implícito (Web), mas ele ainda não funcionou.
No meu projeto eu tenho a seguinte estrutura de pastas dentro da pasta src:
Como observação, não tenho uma pasta / scripts e, portanto, nenhum arquivo /scripts/_references.js
.
Isso não estava funcionando para mim no Visual Studio 2015 RTM em um projeto da web, mas resolvi o problema.
Este projeto não foi criado com o Visual Studio e não possui um arquivo _references.js
nenhum lugar. Então, acho que isso funcionará em qualquer situação.
Eu removi todos os outros resources do intellisense da interface do usuário do VS para ter certeza de que o que fiz foi o que o consertou.
Tools, Options, Text Editor, Javascript, Intellisense, References
. Escolha o grupo de referência apropriado; para a maioria dos projetos da web, isso é Implicit (Web)
. Cole o URL na checkbox de texto inferior e clique no botão Adicionar . Não dispense a checkbox de diálogo ainda. Text Editor, Javascript, Intellisense, General
, verifique se a checkbox de seleção está marcada para Download remote references
. _references.js
à raiz do seu projeto. Não se preocupe em fazer uma pasta de Scripts
. Clique com o botão direito do mouse e escolha a synchronization automática e escolha atualizar. Entre nele e remova todos os arquivos js criados por um processo de compilation. Se você não o fizer, eles podem ser tão grandes que quebrarão o intelisense. Esteja preparado para um atraso de ~ 5-10 segundos na primeira vez que você usar o intellisense, já que ele precisa carregar todas essas referências do seu projeto. Como o @Balthasar apontou (e caso você esteja usando o Resharper) você precisará habilitar o intellisense do Visual Studio para que ele funcione:
Resharper -> opções -> ambiente -> intellisense -> geral, selecione ‘Custom Intellisense’ e para Javascript você pode selecionar Visual Studio. Alternativamente, você pode usar a conclusão da instrução ‘Visual Studio’ (segunda opção)
Acabei de perceber que a ordem automática que o arquivo _reference.js usa (primeiro meus arquivos, em seguida, os arquivos da estrutura) impediu que o intellinsense trabalhasse em outros arquivos que não eram o arquivo app.js
é assim que meu _references.js se parece:
/// /// /// /// /// /// /// /// /// /// /// /// ///
Eu tive um problema semelhante e descobri que o Resharper estava bloqueando todo o bom intellisense de JavaScript que eu tinha configurado no meu arquivo _references.js.
Então, mesmo que tudo esteja bem configurado com o arquivo _references.js, e você tenha intellisense para outras bibliotecas como o jquery, você provavelmente não irá obtê-lo para o AngularJS.
Por exemplo, na comunidade do VS 2015, a diretiva abaixo não mostrará o intellisense para o object $ http angular, embora tudo funcione bem com o código:
Na imagem abaixo, eu adiciono um array vazio ao módulo (o que significa que o módulo será criado, e se outro com o mesmo nome existir, ele será sobrescrito), e o intellisense começará a funcionar:
Aqui está um trecho do código para você testar (tente e adicione o array vazio aqui):
(function () { 'use strict'; angular .module('intellisence.sucks.directives') .directive('footer', footer); footer.$inject = ['$http']; function footer($http) { $http. var directive = { link: link, restrict: 'EA' }; return directive; function link(scope, element, attrs) { } } })();
Eu tive o mesmo problema. Quando adicionei o angular, o VS 2015 (RTM) modificou meu _references.js; basicamente removeu algumas das minhas linhas no arquivo. Quando adicionei uma referência para angula em minhas _references.js como abaixo
///
Eu tenho o meu intellisense para o Angular 1.4.3 no VS 2015!
Siga este artigo para adicionar intellisense mais abrangente ao VS.
http://blogs.msdn.com/b/visualstudio/archive/2015/02/05/using-angularjs-in-visual-studio-2013.aspx
Baixe o arquivo angular.intellisense.js e coloque-o na pasta Arquivos de Programas (x86) \ Microsoft Visual Studio 12.0 \ JavaScript \ References
Eu tive esse problema.
O IDE do visual studio varrerá qualquer arquivo js referenciado nos arquivos HTML e os utilizará se necessário (para o intellisense etc).
Meu problema era que eu estava fazendo referência ao Angularjs usando os endereços CDN / http: // e, portanto, o Visual Studio não tinha nenhuma informação sobre o angular.
Tente baixar o arquivo angularjs js diretamente e include em seu projeto e referência em seu index.html, reconstruir (apenas no caso) e tente novamente e esperamos que ele funcione.
Espero ter ajudado.
Eu tenho esse problema para RTM ..apart de object angular e em um senario de complexidade de mundo Olá ($ http e todos os objects personalizados não funcionam) .. Seguido as configurações de _references. Minha única suspeita é que eu atualizei de RC para RTM (sem nova instalação) criou um problema no Git [link] github.com/jmbledsoe/angularjs-visualstudio-intellisense/issues/… ..Grabbing uma imagem VHD Win 10 e indo para tente que uma vez que o d / l termine 🙁 –
ATUALIZAR
Ok, com um pouco de ajuda aqui é a resposta …. O mecanismo Intellisense nunca vê o módulo chamado “sportsStore” sendo criado, uma vez que é criado no arquivo app.html em um bloco de script:
O mecanismo do VS Intellisense está “executando” o código em seu projeto para descobrir como concluir o código. Ele está usando o arquivo _references.js como ponto de partida e executando cada referência desse arquivo, em ordem. Como o VS Intellisense nunca executa uma linha de código que cria o módulo AngularJS chamado “sportsStore”, ele não sabe como fazer o auto-completar de código.
Mova o código JavaScript acima em seu próprio arquivo JS (vamos chamá-lo de “app.js”) e inclua uma referência a ele em _references.js. Certifique-se de que a referência “app.js” esteja imediatamente após a referência “angular.js”, pois é necessário criá-lo antes que os outros arquivos de script o configurem. : D
Basta criar um arquivo _references.js em uma pasta chamada ‘Scripts’ (convenção de nomenclatura) na raiz do seu projeto. Atualize-o com seus arquivos javascript necessários e você poderá obter intellisense. Aqui está um link sobre porque tal coisa era necessária: http://madskristensen.net/post/the-story-behind-_referencesjs