2

Je dois réaliser une sorte d'extensibilité pour un modèle de projet personnalisé.Extensibilité VS2010: comment effectuer des actions personnalisées en appuyant sur F5

Ayant un fichier de code C# ouvert, si ...:

  • ... projet en cours a un certain type id spécifique.
  • ... fichier de code est une classe et hérite d'une classe de base concrète.
  • ... utilisateur appuyé sur F5.

... Je voudrais ...:

  • ... démarrer un programme arbitraire (une application console).
  • ... attache Visual Studio au processus du programme arbitraire.
  • ... déboguer.

En fait, je suis absolument perdu et je ne sais pas comment le faire. Je sais que j'ai besoin de Visual Studio 2010 SDK, mais je ne sais pas comment créer une extension en faisant ce que j'ai besoin d'accomplir.

Merci d'avance.

MISE À JOUR

Je fais des recherches dans Stackoverflow Q & A et je vais ajouter des questions liées à ma propre: un

Répondre

0

Tout d'abord, merci à tous pour l'info, cela a été utile.

Fondamentalement j'ai eu le moyen de faire ce que je cherche à réaliser.

Parce que je veux aider les autres dans une situation similaire, je voudrais partager ce que j'utilise pour résoudre tout:

  • NRefactory comme analyseur de code C#. Cela fonctionne comme un charme! Vous pouvez obtenir beaucoup d'informations à partir d'un fichier de code.

  • VSPackage Visual Studio 2010 SDK modèle de projet.

  • Afin de joindre à un processus, je vais attendre avec impatience les suggestions de Dmitry Pavlov.

Liens intéressants:

Dès que je suis arrivé tout fonctionne, je vais modifier cette réponse et donner des informations plus détaillées.

+0

Pouvez-vous partager l'implémentation d'une action personnalisée lorsque vous appuyez sur F5 à l'aide de VSPackage. [Je suis confronté à un tel problème] (http://stackoverflow.com/questions/26113987/compilation-succeeded-even-though-there-were-ser-errors-from-roslyn-diagnostic), je vais devoir vérifier le nombre d'erreurs avant la compilation. –

+0

@JerricLynsJohn Je peux chercher le code, mais cela fait longtemps que j'ai eu ce problème ... :( –

2

Je crois que la meilleure façon d'essayer est VS Addin qui va attraper la commande Exécuter (F5) et traiter comme vous le souhaitez. Voir cet article comme point de départ pour attraper la commande de VS addin: How to: Add and Handle Commands. Et ceux-ci pour joindre au processus de VS addin Attach to process for lazies et Visual Studio Add-In To Automatically Attach to Development Server

Espérons que cela aide à trouver une solution à vos besoins.

+0

Il semble que cela peut aider dans mes objectifs. La partie la plus difficile de ma question est ** "... le fichier de code est une classe et hérite d'une classe de base concrète." ** Cela semble manipuler une fenêtre de document, mais je ne sais pas comment obtenir l'espace de noms, le nom et son classe de base. –

+0

En savoir plus sur Roslyn - peut-être que c'est ce que vous devez utiliser - http://msdn.microsoft.com/en-US/roslyn –

+0

Roslyn est plus sur la compilation. –

0

Considérez-vous l'utilisation d'extensions tierces, par exemple le cadre DXCore Visual Studio Extensibility gratuit? Il peut faire ce dont vous avez besoin.

+0

Oui, je le savais et je suis compte tenu de cela, mais comme c'est un calque en plus de l'extensibilité de Visual Studio et qu'il n'a pas de code source, je n'aime pas l'utiliser. Mais puisqu'il y a peu de choix, peut-être, pourquoi pas? –

Questions connexes