J'ai un petit problème avec les scripts. Quand j'écris des scripts C # pour Unity avec Visual studio, il semble que je travaille dans le bloc-notes, il n'y a pas de autocompletion (correct?) Et je dois l'écrire très lentement.
S'il vous plaît, regardez la vidéo. Au début est la situation normale (du tutoriel), la deuxième partie montre mon problème.
Par exemple, la classe transform
n'affiche pas de suggestion ou de saisie semi-automatique.
Image avec problème:
Version Unity: 5.5.2f1
Studio visuel 2015
Visual Studio Tools pour Unity est installé
Il n'y a pas de complétion automatique, car le script indique "Fichiers divers}" au lieu du nom du projet. Regardez l'image ci-dessous qui provient de la vidéo dans votre question:
Le message "Fichiers divers}" peut se produire pour plusieurs raisons:
1. Cela peut arriver lorsque vous ouvrez votre fichier Unity C # à partir d'un autre dossier au lieu de l'ouvrir depuis Unity Editor.
2. Cela peut également se produire, car Unity est tombé en panne alors que Visual Studio est toujours ouvert, ce qui a corrompu certains fichiers.
3. Cela peut arriver parce qu'Unity a été fermé puis rouvert mais n'est plus connecté à Visual Studio. Lorsque Visual Studio est ouvert, vous obtenez "Fichiers divers _" et aucune complétion automatique.
4. Cela peut arriver lorsque Visual Studio Tools pour l'unité n'est pas installé.
5 .Lorsque vous créez un script à partir d'Unity, ouvrez-le rapidement avant qu'Unity ait fini de le traiter ou avant l'animation de l'élément animé icône.
La plupart du temps, le redémarrage de Unity et de Visual Studio devrait résoudre ce problème.
Je ne peux pas dire lequel cause le problème mais je couvrirai la solution la plus probable pour résoudre ce problème.
Fix Part 1:
1 .Téléchargez et installez Visual Studio Tools pour l'unité à partir de this link. Faites ceci alors que Unity et Visual Studio sont fermés.
2 .Dans Unity Editor, accédez à Éditer-> _ Préférences... -> _ Outils externes. Dans le menu déroulant éditeur de script externe, remplacez-le par Visual Studio 2015.
Fix Part 2:
Si les fichiers C # nouvellement créés apparaissent sous le nom Divers, suivez les instructions ci-dessous:
1 .Dans Visual Studio, accédez à Outils-> _ Options ...-> _ Outils pour Unity-> _ Divers. Sous Afficher l'icône de la connectivité, définissez-le sur true
puis redémarrez Visual Studio.
2. Lorsque vous redémarrez, l'icône de connexion devrait maintenant être disponible dans Visual Studio. Cliquez dessus, puis choisissez l'instance d'Unity à laquelle vous connecter. L'icône 'x' rouge devrait maintenant se transformer en une icône en forme de coche brune. Désormais, lorsque vous créez un nouveau fichier C # dans Unity, il doit s’ouvrir sans indiquer Divers.
Fix Part 3:
Toujours pas réparé?
Réimportez le projet, puis ouvrez le projet C #.
1. Fermez Visual Studio.
2 .Dans Unity, réimportez le projet en accédant à Actifs-> _ Tout réimporter.
3 .Maintenant, ouvrez le projet dans Visual Studio en accédant à Actifs-> _ Ouvrir le projet C #. Cela rechargera le projet et résoudra les problèmes de fichier de solution possibles.
Fix Part 4:
Toujours pas réparé?
Corrigez chaque fichier C # individuellement.
1 .Cliquez sur l'icône Afficher tous les fichiers.
2. Sélectionnez le script qui ne se complète pas automatiquement, puis cliquez avec le bouton droit de la souris et sélectionnez Inclure dans le projet.
Fix Part 5:
Pas encore résolu?
Le crédit va à chrisvarnz pour cette solution particulière qui semble avoir fonctionné pour plusieurs personnes.
1 .Fermer Visual Studio
2. Allez dans le répertoire de votre projet et supprimez tous les fichiers Visual Studio générés.
Voici les extensions de fichiers à supprimer:
Exemple:
Supposons que le nom de votre projet s'appelle "Target Shoot", voici à quoi devraient ressembler les fichiers à supprimer:
Ne supprimez rien d'autre.
3. Double-cliquez à nouveau sur le script de Unity pour générer un nouveau fichier Visual Studio, puis ouvrez Visual Studio. Cela peut résoudre votre problème.
Fix Part 6:
Si ne fonctionne pas, vérifiez si vous rencontrez this error:
La tâche "GetReferenceNearestTargetFrameworkTask" est introuvable.
1 .Install Nuget PackageManager à partir de ici .
2 .Restart Visual Visual.
Voir this answer pour plus d’informations.
J'ai trouvé un autre moyen de résoudre ce problème d'une manière plus pratique:
Cela mettra fin à la synchronisation entre Unity et Visual Studio.
La prochaine fois que Visual Studio rechargera le projet, il affichera un message d'avertissement ..__ Cliquez simplement sur "Supprimer".
Déchargez et rechargez le projet dans Visual Studio:
Fixé!
J'ai trouvé cette solution la plus efficace (la plus facile), après avoir rencontré le problème plusieurs fois.
Je rencontre les mêmes problèmes aujourd'hui avec Visual Studio 2017 15.4.5 avec Unity 2017.
J'ai pu résoudre le problème en faisant un clic droit sur le projet dans Visual Studio et en modifiant le cadre cible de 3,5 à 4,5.
J'espère que cela aidera quelqu'un d'autre dans un scénario similaire.
Deux options alternatives:
Fix 1
@singleton m'a dirigé dans cette direction. Au lieu de changer la cible dans Visual Studio, vous devez la changer dans Unity car le projet est généré automatiquement.
Commencez par supprimer les fichiers Visual Studio générés automatiquement: . csproj . utilisateur . sln
Ensuite, dans Unity, accédez à PlayerSettings et, sous "Autres paramètres", changez la "Version d'exécution de script" de Stable 3.5 à Experimental 4.6.
Cependant, cela n'a pas résolu le problème pour moi.
Fix 2
J'ai remarqué que toutes les références au code lié à Unity étaient marquées d'un avertissement jaune. Vérifiez vos journaux d'erreurs et voyez si c'est le cas. En particulier, voyez si l'erreur suivante apparaît: getreferenceNearestTargetframeworkTask
Si tel est le cas, essayez: Relancez Visual Studio Installer.
Sur les outils de construction 2017, cliquez sur Modifier,
Assurez-vous que les "cibles de nuget et tâches de construction" sont cochées. Cela devrait être coché si vous cliquez sur le développement de la plate-forme Windows universelle.
j'ai trouvé ma solution en créant le fichier .cs à partir de Visual Studio au lieu de l'éditeur Unity.
Essayez d’appuyer sur Ctrl + Alt + Space
(qui bascule entre les modes suggestion et achèvement standard)
Crédits: https://stackoverflow.com/a/47662523/10471480
Dans le cas où le dossier Scripts n'est pas visible:
Mon autocomplétion ne fonctionnait pas non plus, car Visual Studio Tools pour Unity n’était pas installé. Donc, après l’installation, supprimez les fichiers Visual Studio générés automatiquement. D'autres ont dit que vous ouvrez de nouveau le fichier et que le problème est résolu, mais ce n'est pas le cas.
L'astuce est la suivante: au lieu de cliquer normalement deux fois sur le fichier, vous devez ouvrir le fichier C # à partir de Unity en cliquant avec le bouton droit de la souris, puis sur "Ouvrir le projet C #".
Essaye ça,
Dans Unity Editor Sélectionnez Menu, Cliquez sur Edition -> Préférences -> Outils externes -> Editeur de script externe. Définissez-le sur Visual Studio (votre version installée de VS).
Maintenant, dans la barre de menus, allez dans Edition -> Paramètres du projet -> Paramètres du lecteur -> Autres paramètres -> Sous Configuration -> Vérifier le niveau de compatibilité de l'API -> Changez-le en votre version .Net installée. Dans mon cas, je l'ai défini sur .Net 4.x
Maintenant, si Visual Studio est en cours d'exécution, accédez à Visual Studio, il vous sera demandé de recharger le projet. Rechargez le projet. Vérifiez si cela fonctionne, sinon fermez Visual Studio. Ouvrez maintenant le fichier cs à partir de Unity Editor et cela devrait maintenant fonctionner.
J'ai essayé toutes ces solutions, mais j'ai finalement découvert que je devais cliquer avec le bouton droit de la souris sur la solution dans l'Explorateur de solutions, ajouter des éléments existants et rechercher le fichier d'assemblage C # dans l'explorateur de Windows. Il semble y avoir un tas de problèmes différents qui vous donnent cette erreur, c'est probablement la solution la plus simple. Si vous double-cliquez sur votre script à partir de l'unité, il ne semble pas traîner l'Assemblée.
Ce qui a fonctionné, c’est que j’ai copié tout le code de la classe cassée et que j’ai supprimé ce fichier ..__ Ensuite, j’ai ouvert un fichier vide et collé.
Résultat : les points forts de la syntaxe sont revenus!
Avant de redémarrer et/ou de réinstaller VS, commencez par ouvrir un autre de vos projets pour voir si Intellisence fonctionne. Dans ce cas, le problème réside probablement dans votre projet actuel. Premièrement, la victime la plus probable serait les paquets NUGET avec des mises à jour en attente. Pour résoudre ce problème,
J'ai résolu d'installer la même version de .NET sur WIN que celle configurée dans mon projet Unity. (Paramètres du joueur)
Pour Windows ou macOS:
Téléchargez/installez le Visual Studio IDE (avec Unity Tools)
Lors de l'installation, assurez-vous d'inclure l'installation de
Développement de jeux avec Unity
Puis, en utilisant Unity (vous pouvez double-cliquer sur l’un de vos fichiers C #), ouvrez un nouveau projet C # et Visual Studio IDE devrait s’ouvrir avec votre nouvelle structure de projet.
À partir de là, vous devriez pouvoir voir ce que vous recherchez.
Par exemple:
Pour Linux (suggestion):
Essayez Monodevelop - Informations complémentaires , il fournit des indications sur la complétion du code.
N'oubliez pas que si vous utilisez l'outil ReSharper, il remplacera IntelliSense et affichera le sien. Pour changer cela, sur VS, allez dans Extensions -> ReSharper -> Options -> IntelliSense -> Général, puis choisissez Visual Studio et non pas ReSharper.
Aucune des solutions ci-dessus n'a fonctionné pour moi. Cependant, j'ai ouvert le fichier ProjectName.CSPROJ et ajouté manuellement le nouveau fichier. Cela a fonctionné comme un charme.
Le problème que j'ai rencontré était que le projet C # visait un .NET Framework différent (4.7.2), alors que le projet Unity avait une cible différente (.NET 3.5).
J'ai corrigé cela en changeant la cible dans Unity as-
Fichier -> Paramètres de construction -> Paramètres du lecteur -> Autres paramètres -> API Niveau de compatibilité: réglez-le sur la version .NET que vous avez déjà installé (vérifiez votre version .NET ici ). Dans mon cas, c'était 4.x
Après cela, Visual Studio a parfaitement fonctionné et la correction automatique a également été corrigée.
Dans mon cas, la version .net correcte n’était pas installée sur mon PC. J'installe le .net 3.5 sur mon ordinateur et cela a fonctionné pour moi.