J'écris juste une extension VSIX pour Visual Studio 2010 et je ne sais pas comment la déboguer.
Une méthode évidente consiste à envoyer des messages. Le modèle d'extension utilise Trace.WriteLine()
. Mais où trouver sa sortie?
J'écris juste une extension VSIX pour Visual Studio 2010 et je ne sais pas comment la déboguer.
Une méthode évidente consiste à envoyer des messages. Le modèle d'extension utilise Trace.WriteLine()
. Mais où trouver sa sortie?
Les extensions Visual Studio peuvent être déboguées comme toute autre application. Il vous suffit de configurer l'expérience de débogage pour lancer devenv avec l'extension chargée. Essayez ce qui suit
Cliquez sur le bouton radio pour Start External Program
. Faites-le pointer vers le binaire devenv.exe. Sur ma machine, il est situé à
C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ devenv.exe
Sur une machine non x64, vous pouvez supprimer la partie "(x86)".
Définissez ensuite les arguments de la ligne de commande sur /rootsuffix Exp
. Cela indique à Visual Studio d'utiliser la ruche expérimentale au lieu de la ruche de configuration normale. Par défaut, les extensions VSIX une fois construites s'enregistreront dans la ruche expérimentale.
Vous pouvez maintenant F5 et il démarrera Visual Studio avec votre VSIX en tant qu'extension disponible.
La réponse acceptée par @JaredPar est techniquement correcte, mais souffre du fait que vous devez la refaire pour chaque développeur, chaque fois que vous obtenez une nouvelle copie du code et chaque fois que le
csproj.user
fichier est supprimé. Lorsque vous procédez ainsi, les paramètres sont enregistrés dans lecsproj.user
fichier.Une meilleure option consiste à mettre les paramètres dans le
csproj
fichier afin qu'ils ne soient pas perdus. Malheureusement, Visual Studio ne vous permet pas de le faire automatiquement, vous devez donc ajouter manuellement les paramètres. Heureusement, les paramètres sont les mêmes pour tous les projets.Cliquez avec le bouton droit de la souris et déchargez le projet, puis cliquez à nouveau avec le bouton droit et modifiez le
csproj
fichier de fichier du projet. Dans le XML, ajoutez ce qui suit au premierPropertyGroup
, par exemple juste aprèsTargetFramework
.Cela présente les avantages suivants;
Comme l'indique @MBulli dans les commentaires, si vous avez apporté les modifications à la réponse acceptée, supprimez votre
*.csproj.user
fichier car les paramètres qu'il contient remplaceront ceux que vous avez ajoutés aucsproj
fichier principal .la source
La méthode OutputWindowHelper.OutputString écrit dans le volet de la fenêtre de sortie «Général» (Ctrl Alt o). J'ai ajouté cette ligne dans mes références .csproj pour l'obtenir dans VS 2013
Voir également cette réponse .
la source
Si vous essayez de déboguer un UnitTestExtension, vous devez également attacher le débogueur aux processus vstest. *. Exe comme décrit ici . Sinon, vous pourriez voir le point d'arrêt d'activation mais le débogueur ne l'atteindra jamais.
la source