Visual Studio 2013 IntelliSense deixa de funcionar para controladores ASP.NET MVC5

132

Estou enfrentando um problema estranho no meu projeto do Visual Studio 2013 ASP.NET MVC 5. De repente, o IntelliSense nas classes Controller do projeto MVC 5 não está funcionando.

Tenho outros projetos de biblioteca de classes em minha solução e o IntelliSense está funcionando nesses arquivos de projeto de biblioteca de classes, mas o problema está apenas no projeto MVC. Normalmente, esses tipos de problemas são resolvidos reiniciando o Visual Studio: não apenas reiniciei o Visual Studio, mas também reiniciei o computador, e o problema do IntelliSense não está sendo corrigido.

Existem outras etapas que podem recuperar o IntelliSense?

Emran Hussain
fonte

Respostas:

209

Feche o Visual Studio. Exclua o arquivo <ProjectName> .v12.suo. Reabra a solução.

Rush Frisby
fonte
Obrigado pela informação. Vou tentar esse truque na próxima vez se meu intellisense do Visual Studio parar de funcionar novamente.
Emran Hussain
15
Descobri que a exclusão do arquivo suo corrige muitos problemas. É como o equivalente ao Visual Studio de uma reinicialização. Obrigado por me lembrar.
grahamesd
1
Sim ... corrigiu o problema para mim agora. Meu ProjectName.v12.suotamanho era 982 KB. Excluiu. Fechou a solução. Reabrimos a solução e um novo ProjectName.v12.suofoi criado. O Intellisense está de volta, mas esse novo .suoarquivo tem apenas 500 KB. Muito interessante. Talvez a Microsoft deva corrigir esse mau comportamento? De alguma forma, faz com que o VS perca o Intellisense e é realmente uma dor trabalhar sem ele. :)
Leniel Maccaferri
3
não funcionou para mim. O que funcionou para mim foi redefinir minhas configurações.
DougCouto
Isso corrige o problema do IntelliSense, mas você também perde todos os pontos de interrupção, favoritos etc. ao mesmo tempo.
Andreas
68

Repor as minhas configurações ou importar exportado anteriormente, configurações de trabalho, e reiniciar Visual Studio trabalhou: Tools > Import and Export Settings... > Reset all settings.

EDIT: Isso continua acontecendo comigo, surpreendentemente frequentemente no VS Express, e ocasionalmente no VS Professional. Uma coisa que notei no Pro é que isso aconteceu após desligamentos inesperados (quando a TI força uma reinicialização no meio da noite). Portanto, pode estar relacionado ao Visual Studio não fechar corretamente. A técnica descrita acima funcionou sempre.

Jeremy Cook
fonte
1
Obrigado, hoje, tive o problema do Intellisense novamente e sua solução resolveu o problema.
Emran Hussain
1
Obrigado, isso funcionou para mim também. Se você ler na parte inferior, tente isso antes de remover todas as suas extensões.
Apenas mais um Steve
: DI removeu todas as minhas extensões primeiro. Enfim, funcionou!
Luis Lavieri
este fixo meu problema bem
contractorwolf
Essa foi a melhor opção. Excelente.
Nelson Miranda
35

Ferramentas> Opções> Editor de Texto> C #> Geral

Verifique se "Lista automática de membros" está marcada

phil
fonte
Isso funcionou para mim. A exclusão do arquivo .suo já funcionou várias vezes antes, mas desta vez não.
24416 Craig
Isso funcionou para mim. Visual Studio 2013. A TI nos mudou para um novo domínio e perdeu todas as configurações do VS.
precisa saber é o seguinte
27

Eu encontrei uma maneira de resolver o problema. Ou seja, 1. -> Remova o projeto ASP.NET MVC da solução, 2. -> Em seguida, adicione o projeto MVC novamente à solução.

Ao executar essas etapas, posso obter o Intellisense novamente. Mas não estou satisfeito com esta solução, porque, da próxima vez que clicar duas vezes no arquivo Solution para abrir a solução, vejo que o intellisense não está funcionando novamente. Eu gostaria de saber a verdadeira razão pela qual está se comportando assim.

EDITAR:

Finalmente, eu descobri que era uma extensão de estúdio visual de terceiros que estava causando o problema. Para descobrir essa extensão, removi todas as extensões e, em seguida, adicionei as extensões uma a uma e parei onde encontrei a extensão culpada que estava tirando meu sono :).

Emran Hussain
fonte
1
Estou lidando com isso há um mês e isso está me deixando louco. A remoção e a leitura da solução (apesar de dolorosa) também funcionaram para mim. Obrigado!
NorthFork
6
No meu caso, era a extensão do Xamarin, mas não quero falar mal do Xamarin, porque o suporte ao cliente é super excelente. Assim que relatei o problema, eles me forneceram a versão corrigida rapidamente. Além disso, a versão mais recente da extensão Xamarin parece não ter mais esse problema. Meu argumento é que a versão específica de qualquer extensão pode causar esse problema; talvez seja necessário desinstalar as extensões uma por uma para descobrir qual está causando o problema. Por exemplo, uma versão futura da boa extensão de hoje também pode causar esse problema. Precisamos tomar cuidado nesse caso.
Emran Hussain
2
Descarregar o projeto e recarregá-lo também funcionou para mim, obrigado!
Rob
1
No meu caso, era a extensão Xamarin. Desinstalou e o problema desapareceu. Esta foi a versão mais recente também!
Guy Lowe
1
Eu tive o mesmo problema com a extensão Xamarin, mas por algum motivo apenas em um projeto específico. Foi um teste expirado, então eu apenas o desinstalei e o destaque da sintaxe voltou.
usar o seguinte comando
8

Você pode descarregar o projeto e recarregar o projeto MVC da solução

  1. Clique com o botão direito do mouse no projeto MVC no Solution Explorer -> "Descarregar projeto"
  2. Clique com o botão direito do mouse no projeto MVC no Solution Explorer -> "Reload Project"

Depois disso, o Intellesense retrabalha rapidamente.

ArDumez
fonte
Exatamente o que escrevi em 10 de abril, legal! stackoverflow.com/a/29556005/1879699
Andreas
6
  • Ferramentas -> Opções
  • Editor de texto -> C # -> Intellisense
  • Verifique se "Mostrar lista de conclusão depois que um caractere é digitado" está marcado

Conclusão do código intellisense do VS2013

Sherif Hamdy
fonte
1
Isso funcionou para mim. Não tenho certeza se a instalação padrão foi desmarcada, mas as seguintes foram desmarcadas para mim e essa foi uma nova instalação. "Lista automática de membros" "Informações sobre parâmetros". Eu também não estava entendendo os parâmetros do método. O único plugin que tenho é o GhostDoc
gcoleman0828 23/11
@ gcoleman0828 Obrigado! Esta foi a resposta correta para mim no VS2013.
Rod Hartzell
5

Não sei por que isso ocorre, mas quando isso acontece comigo, posso recuperar o Intellisense simplesmente reiniciando o Visual Studio.

Você está certo, é realmente irritante.

JWilson
fonte
4

Às vezes, o RESET das configurações do VS pode ajudar:

FERRAMENTAS-> Assistente para Importar e Exportar Configurações-> Redefinir todas as configurações-> caixa de seleção "Não, apenas redefinir configurações, substituindo minhas configurações atuais" -> Avançar> Avançar> Avançar

Eu tinha mexido com eles com RESHARPER, e isso ajudou.

d.popov
fonte
2
bem, foi assim para mim, desculpe. Eu tinha mexido com as configurações do RESHARPER.
precisa saber é o seguinte
2
Votado. O compartilhador de novo causou estragos nas minhas configurações no passado.
Zac
Isso é aceitável apenas para alguém que não personalizou nada.
precisa saber é o seguinte
3

Eu descobri que a melhor maneira de corrigir problemas do IntelliSense é simplesmente descarregar o projeto no gerenciador de soluções e carregá-lo novamente. Depois disso, o IntelliSense está sempre trabalhando para mim e não perco favoritos, pontos de interrupção ou outras configurações.

Andreas
fonte
1
Esta é a maneira mais simples. TY
Caesar
1

Descobri que, se a construção falhar, o Intellisense parece quebrar. Depois de corrigir meus erros de compilação e reconstruir o projeto, o Intellisense funcionará após recarregar o arquivo Razor específico.

Matthew Will
fonte
1

No meu caso, reiniciar não funcionou.

Então, eu fiz os seguintes passos estranhos:

  1. Fechou a solução
  2. Abriu outra solução
  3. Verificou que o intellisense funcionou nessa outra solução.
  4. Fechou a outra solução
  5. Finalmente, reabriu a primeira solução.

E o intellisense voltou a funcionar.

Guilherme de Jesus Santos
fonte
Isso não funcionou, mas foi uma boa etapa de solução de problemas para verificar se é o projeto ou o estúdio visual que está causando o problema.
precisa saber é o seguinte
1

Geralmente isso acontece quando os buffers têm um erro neles. Na maioria das vezes, o erro de cache local é limpo quando você fecha um formulário do Windows, por exemplo, e reabre, portanto, recarregando-o na memória. Muitas das soluções acima funcionam, mas às vezes são tão simples quanto fechar o item e o designer e reabri-lo.

Além disso, você pode tentar forçar uma redefinição

Ctrl + K, Ctrl + I mostra informações rápidas Ctrl + Shift + Space mostra informações param

Mark Alicz
fonte
1

Eu tentei muitas coisas que não funcionaram. No final, cortei o código na área de transferência, recriei o controlador e colei o código. Problema resolvido!

Andy Brown
fonte
1

Eu também tenho o mesmo problema com o Intellisense no meu editor de texto.

Eu apenas o closearquivo example.cs que não está fornecendo o Intellisense e reabra essa classe sem reiniciar Visual Studio, funciona para mim.

Nota: não tenho o mesmo problema com todo o arquivo .CS no Gerenciador de Soluções

Midhun Mundayadan
fonte
1

Eu uso o VS 2013 e tive o mesmo problema. Minha solução foi atualizar o VS para a última versão. No meu caso, a Atualização 4. Simplesmente a referência no projeto deve corresponder à montagem no GAC no computador (SO). O Intellisense vem do VS e não do projeto.

Espero que seja útil para alguém.

Piotr Knut
fonte
1

... Mais uma resposta - mas essa foi a causa da minha dor: eu instalei o Developer Assistant que estava funcionando bem, mas de repente parou de fornecer sugestões. Para fazê-lo funcionar novamente:

opções -> assistente de desenvolvedor -> Intellisense -> Default Visual Studio Intellisense

Levei 5 horas para descobrir que :(

HTH.

sming
fonte
1
Tools->Options->Text Editor->C# (or All Languages)->General

marque a caixa de seleção para enable Auto List Memberse Parameter Informationno painel do lado direito.

Se não estiver selecionado, selecione-o.

thejustv
fonte
0

Salve tudo e reinicie o Visual Studio!

Chris
fonte
0

Eu recebo exatamente a mesma coisa toda vez que trabalho com um projeto MVC5 específico. Reiniciar o VS2013 não funciona. A exclusão de arquivos suo não funciona. Redefinir todas as configurações de ferramentas não funciona. A única coisa que funciona é remover o projeto da solução e adicioná-lo novamente. Ver como eu tenho que fazer isso todos os dias é realmente muito chato. Especialmente quando eu tiver definido para reabrir os últimos arquivos que eu abri, preciso localizar os que eu estava trabalhando e reabri-los em vez de aparecer automaticamente.

Pyrobri
fonte
0

Estou usando o VS 2013 com MVC 5. A solução para mim foi adicionar o seguinte ao Web.config:

<compilation debug="true" targetFramework="4.5.1">
  <assemblies>
    <add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Optimization, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    <add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
  </assemblies>
</compilation>
Steven
fonte
0

A solução do Rushonerok funciona muito bem para mim.
Para quem não sabe: <ProjectName> .v12.suo é um arquivo oculto na pasta raiz do projeto. Você deve definir "Mostrar arquivos ocultos" no navegador de arquivos para vê-lo.

Petr
fonte
0

Até agora, algumas dessas soluções não funcionaram para mim.

Eu tenho a seguinte solução alternativa

Simplesmente declare o tipo que você deseja usar explicitamente em uma nova variável e use-o em vez de Model.

@model MyModel
MyModel mymodel = Model;

@mymodel.MyIntelisenseIsWorkingAgain
Valamas
fonte
0

Para resolver isso, fechei o Visual Studio Express 2013 e reabri a solução, mas clique duas vezes em seu .slnarquivo diretamente do sistema de arquivos. Ao abri-lo na Página Inicial, meus intelectuais de controle foram quebrados.

CoderRoller
fonte
0

Fechar e abrir a solução do Visual Studio funcionou para mim.

Inquebrável
fonte
0

Às vezes você fecha por engano. Tente usar o ctrl+spaceWindows ou o cmd+spaceMac para ativá-lo.

picacode
fonte
0

Sei que estou um pouco atrasado, mas adicionar isso ao meu App.configarquivo fez o truque!

<system.web>
    <compilation>
        <assemblies>
            <add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
        </assemblies>
    </compilation>
</system.web>
Humano Apesar de tudo
fonte