web-dev-qa-db-fra.com

Pas d'IntelliSense pour C++/CLI dans Visual Studio 2010?

Je viens de passer de Visual Studio 2008 à Visual Studio 2010 (final) et j'ai remarqué un défaut majeur:

Lorsque j'essaie d'utiliser la saisie semi-automatique dans un fichier source C++ pour le C++ géré, une petite note apparaît dans le pied de page:

IntelliSense pour C++/CLI n'est pas disponible

Euh, IntelliSense pour C++/CLI a-t-il été supprimé de Visual Studio 2010? Y a-t-il un moyen de le récupérer? C'est est plutôt utile ...

50
Sam

Vous avez raison. Malheureusement, il a été abandonné. Vous pouvez consulter ce problème en suspens sur Site Web Connect de Microsoft .

Je vais juste les citer pour le plaisir de répondre:

Malheureusement, dans cette version, nous avons dû supprimer le support d’intellisense pour C++/CLI en raison de contraintes de temps. Si vous souhaitez obtenir des informations telles que des infos rapides et des listes de membres intellisense sur les classes natives, vous pouvez l'obtenir en choisissant aucun support/clr dans les propriétés du projet.

Pour revenir à IntelliSense, vos meilleures chances pour le moment sont d'utiliser des outils tiers tels que VA Assist. Je l'ai essayé avec Visual Studio 2008 et son IntelliSense est bien meilleur que celui par défaut.

Il est à nouveau disponible dans Visual Studio 2012 .

46
Ivan Zlatanov

Si vous souhaitez récupérer IntelliSense, installez Visual Assist X à partir de Whole Tomato Software. Ici, vous pouvez obtenir un essai de 30 jours pour vérifier l'intellisense.

8
Ehtesham

Selon le Blog de l'équipe Visual C++ , C++/CLI Intellisense sera dans la prochaine version de Visual Studio, mais pas dans un service pack pour VS2010. Cet article de blog donne également quelques détails sur ce qui a mal tourné et a conduit à ce triste état.

8
Sam Skuce

Je ne sais pas si vous pouvez utiliser ces paramètres, mais cela fonctionne pour moi. Je ne vérifie que le support Common Language RunTime pour les fichiers cpp qui l'utilisent. Je ne le vérifie pas pour l'ensemble du projet et j'ai intellisense pour tous les fichiers n'utilisant pas la CLI.

6
cro

Oui! vous pouvez activer l'IntelliSence, mais d'une manière délicate. Suivez ces instructions:

  1. Accédez aux propriétés de votre projet. (Cliquez avec le bouton droit sur le nom de votre projet dans l'Explorateur de projets, puis sélectionnez Propriétés. Ou simplement Alt + Enter)
  2. Dans les propriétés de configuration, sélectionnez Général
  3. Dans la section de droite, recherchez "Support pour le langage commun" et remplacez-le par "Pas de support pour le langage commun".
  4. Cliquez sur le bouton OK.

Maintenant, l'IntelliSence fonctionne. Mais un problème est une erreur lorsque vous compilez votre code! (L'erreur est: erreur LNK1123: échec lors de la conversion en COFF: fichier invalide ou corromp)

Vous pouvez simplement revenir aux propriétés du projet et modifier la prise en charge de Common Language Runtime en "Prise en charge de Common Language Runtime, ancienne syntaxe (/ clr: oldSyntax)".

Bonne chance.

1
Gholamalih

Comme mentionné, vous pouvez installer certains logiciels payants tels que "Visual Assist X de Whole Tomato Software".

ou

Vous pouvez utiliser des outils open source contenant intellisense *, notamment Qt Creator 3.3.1 (opensource). Vous avez deux options, soit configurer votre projet entier avec Qt pour la compilation à l'aide du compilateur VS2010, soit utiliser Qt pour créer un lien vers vos fichiers source et compiler avec VS2010. Vous écrivez votre code dans Qt, sauvegardez, basculez les fenêtres sur vs2010 et compilez et déboguez.

Lorsque les modifications sont enregistrées dans Qt, vs2010 rechargera automatiquement le fichier source dans le projet et vous pourrez compiler.

0
jester

Cette solution est uniquement si vous ne voulez pas Common Language Runtime
Cela a fonctionné pour moi dans VS2010
Allez dans Propriétés du projet> Propriétés de configuration> Général> Support d'exécution du langage commun et réglez-le sur Aucun support d'exécution du langage commun . Cela fonctionnera sans problème juste après avoir appuyé sur Appliquer bouton.

0
Palash Bansal