Eu tenho um pequeno problema com scripts. Quando estou escrevendo scripts C # para o Unity with Visual studio, parece que estou trabalhando no bloco de notas, não há preenchimento automático (correto?) E devo escrevê-lo muito lentamente.
Por favor, assista ao vídeo. No início é a situação normal (do tutorial), a segunda parte mostra o meu problema.
Por exemplo, a transform
classe não mostra sugestão ou preenchimento automático.
Imagem com Problema:
Versão do Unity: 5.5.2f1
Visual studio 2015 O
Visual Studio Tools for Unity está instalado
c#
visual-studio
unity3d
intellisense
CorbenDalas
fonte
fonte
ll try... I have a Little problem with scripts. When I
estou escrevendo scripts em C # para o Unity with Visual studio, parece que estou trabalhando no bloco de notas, não há "dicas" (corretas?) E devo escrevê-lo bem devagar. Por favor, assista ao vídeo. No início é uma situação normal (do tutorial), a segunda parte é o meu problema.Respostas:
Não há preenchimento automático porque o script diz " Arquivos Diversos " em vez do nome do Projeto. Dê uma olhada na imagem abaixo que veio do vídeo em sua pergunta:
A mensagem " Arquivos diversos " pode ocorrer por vários motivos:
1. Pode acontecer quando você abre o arquivo Unity C # de outra pasta em vez de abri-lo no Unity Editor.
2. Isso também pode acontecer porque o Unity travou enquanto o Visual Studio ainda está aberto, corrompendo alguns arquivos.
3. Pode acontecer porque o Unity foi fechado e reaberto, mas não está mais conectado ao Visual Studio. Quando o Visual Studio é aberto, você obtém " Arquivos Diversos " e nenhum preenchimento automático.
4. Isso pode acontecer quando o Visual Studio Tools for unity não está instalado.
5. Quando você cria um script do Unity, abra-o rapidamente antes que o Unity termine de processá-lo ou antes que o material de animação do ícone redondo termine de animar.
Na maioria das vezes, reiniciar o Unity e o Visual Studio deve corrigir isso.
Não sei dizer quem está causando o problema, mas abordarei a solução mais provável para corrigir isso.
Corrija a parte 1 :
1. Baixe e instale as Ferramentas do Visual Studio para obter a unidade a partir deste link. Faça isso enquanto o Unity e o Visual Studio estão fechados.
2. No Unity Editor, vá para Editar -> Preferências ... -> Ferramentas externas . No menu suspenso Editor de scripts externos , altere para Visual Studio 2015 .
Corrija a parte 2 :
Se os arquivos C # recém-criados aparecerem como Diversos , siga as instruções abaixo:
1. No Visual Studio, vá em Ferramentas -> Opções ... -> Ferramentas para Unity -> Diversos . Em Mostrar ícone de conectividade , defina-o para
true
reiniciar o Visual Studio.2. Quando você reiniciar, o ícone de conexão deverá estar disponível no Visual Studio. Clique nele e escolha a instância do Unity à qual se conectar. O ícone vermelho 'x' agora deve se transformar em um ícone de marca de seleção marrom. Agora, quando você cria um novo arquivo C # no Unity, ele deve abrir sem dizer Diversos .
Corrija a parte 3 :
Ainda não está consertado?
Reimporte o projeto e abra o Projeto C #.
1. Feche o Visual Studio.
2. No Unity, reimporte o projeto em Assets -> Reimport All .
3. Agora, abra o projeto no Visual Studio, indo em Assets -> Open C # Project . Isso recarregará o projeto e corrigirá possíveis problemas no arquivo da solução.
Corrija a Parte 4 :
Ainda não está consertado?
Corrija cada arquivo C # individualmente.
1. Clique no ícone Mostrar todos os arquivos .
2. Selecione o script que não é preenchido automaticamente, clique com o botão direito do mouse e selecione Incluir no projeto .
Corrija a parte 5 :
Ainda não está consertado?
O crédito vai para chrisvarnz por essa solução específica que parece ter funcionado para várias pessoas.
1. Feche o Visual Studio
2. Vá para o diretório do projeto e exclua todos os arquivos do Visual Studio gerados.
Estas são as extensões de arquivos a serem excluídas:
Exemplo:
Digamos que o nome do seu projeto se chame "Target Shoot" , estes são os arquivos a serem excluídos:
Não apague mais nada.
3 clique .double no script novamente de Unidade que deve gerar novo arquivo Visual Studio, em seguida, abra o Visual Studio. Isso pode resolver seu problema.
Corrija a parte 6 :
Se não estiver funcionando, verifique se você está tendo este erro:
1. Instale o Nuget PackageManager a partir daqui .
2. Reinicie o Visual Visual.
Veja esta resposta para mais informações.
fonte
*.csproj
e*.sln
arquivos e começar a Unidade de. Isso geralmente funcionaTente isso,
Agora, se o Visual Studio já estiver em execução, vá para o Visual Studio, ele solicitará o recarregamento do projeto. Recarregue o projeto. Verifique se funciona, se não fechar o Visual Studio. Agora abra o arquivo cs no Unity Editor e agora deve funcionar.
fonte
Eu encontrei uma outra maneira de corrigir esse problema de uma maneira mais conveniente:
Isso acabará com a sincronização entre o Unity e o Visual Studio.
A próxima vez que o Visual Studio recarregar o projeto, ele solicitará um aviso. Basta clicar em "Descartar".
fonte
Descarregue e recarregue o projeto, no Visual Studio:
Fixo!
Encontrei esta solução para funcionar da melhor maneira (mais fácil), tendo encontrado o problema várias vezes.
Fonte: https://alexdunn.org/2017/04/26/xamarin-tips-fixing-the-highlighting-drop-in-your-xamarin-android-projects/
fonte
fonte
Se você fez todas as etapas acima e ainda não está funcionando, tente o seguinte: Nota: você deve ter atualizado o VS.
Vá para Unidade> editar> preferência> Ferramentas externas> editor de script externo. De alguma forma, para mim, não selecionei o "visual studio" para o editor de scripts externo e não estava funcionando. Assim que eu selecionei isso e cliquei duas vezes no arquivo c # da unidade, ele começou a funcionar.
Espero que ajude você também.
fonte
Encontrei os mesmos problemas hoje usando o Visual Studio 2017 15.4.5 com o Unity 2017.
Consegui corrigir o problema clicando com o botão direito do mouse no projeto no Visual Studio e alterando a estrutura de destino de 3.5 para 4.5.
Espero que isso ajude outras pessoas em um cenário semelhante.
fonte
Duas opções alternativas:
Fix 1
@singleton me apontou nessa direção. Em vez de alterar o destino no Visual Studio, você deve alterá-lo no Unity, pois o projeto é gerado automaticamente.
Primeiro, exclua os arquivos do Visual Studio gerados automaticamente: .csproj .user .sln
Em seguida, no Unity, vá para PlayerSettings e em 'Other Settings' altere a 'Scripting Runtime Version' de Stable 3.5 para Experimental 4.6.
No entanto, isso não foi corrigido para mim.
Fix 2
Notei que todas as referências ao código relacionado ao Unity estavam marcadas com um aviso amarelo. Verifique seus logs de erros e veja se é esse o caso. Em particular, veja se você obtém o seguinte erro: getreferenceNearestTargetframeworkTask
Em caso afirmativo, tente: Inicie o Visual Studio Installer novamente.
Nas Ferramentas de compilação 2017, clique em Modificar,
Verifique se "Destinos de Nuget e tarefas de criação" estão marcados. Isso deve ficar marcado se você clicar no desenvolvimento da Plataforma Universal do Windows.
fonte
Encontrei minha solução criando o arquivo .cs no próprio visual studio, em vez do editor de unidade
fonte
No meu caso, a versão correta do .net não foi instalada no meu PC. Eu instalo o .net 3.5 no meu pc e funcionou para mim.
fonte
O problema que enfrentei foi que o projeto C # estava direcionado para um .NET Framework diferente (4.7.2), enquanto o projeto Unity tinha um destino diferente (.NET 3.5).
Corrigi isso alterando o alvo no Unity,
Depois disso, o Visual Studio funcionou perfeitamente e a correção automática também foi corrigida.
fonte
Tente pressionar
Ctrl + Alt + Space
(que alterna entre os modos sugestão e conclusão padrão)fonte
Para Windows ou macOS:
Faça o download / instale o IDE do Visual Studio (com Unity Tools)
Ao instalar, certifique-se de incluir a instalação do
Em seguida, usando o Unity (você pode clicar duas vezes em um dos arquivos C #), abra um novo projeto C # e o IDE do Visual Studio deve abrir com sua nova estrutura de projeto.
A partir daí, você poderá ver o que está procurando.
Por exemplo:
Para Linux (sugestão):
Experimente o Monodevelop - Informações Adicionais , fornece dicas / conclusão de código.
fonte
Resolvi instalar a mesma versão do .NET on WIN que foi configurada no meu projeto do Unity. (Configurações do player)
fonte
Meu preenchimento automático também não funcionou porque o Visual Studio Tools for Unity não estava instalado. Portanto, depois de instalar isso, exclua os arquivos do Visual Studio gerados automaticamente. Outros disseram que você abre o arquivo novamente e o problema está resolvido, mas não está.
O truque é: em vez de clicar duas vezes no arquivo, você precisa abrir o arquivo C # no Unity clicando com o botão direito do mouse e, em seguida, em "Abrir projeto C #".
fonte
Nenhuma das soluções acima funcionou para mim. No entanto, abri o arquivo ProjectName.CSPROJ e adicionei manualmente o novo arquivo, que funcionou como um encanto
fonte
Créditos: https://stackoverflow.com/a/47662523/10471480
Caso a pasta Scripts não esteja visível:
fonte
O que funcionou foi que eu copiei todo o código dentro da classe quebrada e removi esse arquivo. Abri um arquivo vazio e colei.
Resultado : os belos destaques da sintaxe voltaram!
fonte
Lembre-se de que, se você estiver usando a ferramenta ReSharper, ela substituirá o IntelliSense e mostrará que é sua. Para mudar isso, no VS, vá para Extensões -> ReSharper -> Opções -> IntelliSense -> Geral e escolha Visual Studio e não ReSharper.
fonte
Antes de reiniciar e / ou reinstalar o VS, primeiro tente abrir qualquer outro projeto para verificar se o Intellisence funciona, se funcionar, e o problema provavelmente está no seu projeto atual. Primeiro, a vítima mais provável seriam os pacotes NUGET com atualizações pendentes. Para corrigir isso,
fonte
Eu tentei tudo isso, mas acabei descobrindo que precisava clicar com o botão direito do mouse na solução no Gerenciador de Soluções, adicionar itens existentes e encontrar o arquivo de montagem C # no Windows Explorer. Parece haver um bilhão de problemas diferentes que causam esse erro, e essa é provavelmente a solução mais simples. Se você clicar duas vezes no seu script a partir da unidade, ele não parecerá arrastar a montagem.
fonte
um dos métodos acima foi trabalhado para mim e eu apenas encontrei uma solução para esse problema:
1. Primeiro, vá para o diretório do projeto e exclua o
.sln
arquivo2. Segundo, vá para a unidade e clique duas vezes em seu script. Em seguida, o Visual Studio será aberto com um erro,
.csproj
arquivo. Basta clicar duas vezes e abrir isso no seu editor do Visual Studio, abrir a pasta de scripts dentro da pasta de ativos, abrir os scripts e o preenchimento automático funcionará perfeitamente.fonte
Atualização 2020 com a Comunidade do Visual Studio 2019 e o Unity 2019.3:
1) Abra o Visual Studio Installer como administrador, selecione para modificar sua instalação atual e adicione "Desenvolvimento de jogos para Unity"
2) Se você adicionar um novo script c # no Unity agora e o abrir (automaticamente) com o Visual Studio, ele não será descrito como "Diversos" na parte superior da janela, mas com "Assembly-CSharp", e o preenchimento automático funcionará.
fonte
Outra correção possível:
Por alguma razão, este trabalho.
fonte
Tente com a combinação: Ctrl + Alt + Space
fonte