2009-10-03 5 views
3

J'ai un VSPackage pour Visual Studio 2008 que j'ai créé pour ajouter un éditeur et des fonctionnalités de langage personnalisé. J'ai également besoin d'ajouter un nouvel assistant de projet/solution pour créer une nouvelle solution et une série complexe de projets C++ pour la solution. Je sais que je peux le faire en utilisant un "Custom Wizard", mais je serais beaucoup plus heureux si je pouvais l'implémenter dans mon VSPackage en utilisant C# à la place.Est-il possible d'ajouter un Assistant Nouveau projet avec un VSPackage?

Donc je suppose que la question principale est, est-il possible d'ajouter une entrée aux boîtes de dialogue Types de projets dans Visual Studio à partir d'un VSPackage? Ou est le "Custom Wizard" et JScript ma seule option ici?

Et si c'est possible, où puis-je trouver des informations et/ou des exemples sur la façon d'accomplir cela?

Répondre

3

Pour ajouter une entrée à la boîte de dialogue Types de projets, vous devez installer un modèle de projet (un fichier zip contenant un fichier .vstemplate) dans le cadre de votre installation. Vous voudrez le faire à partir de votre routine d'installation plutôt qu'à partir du VSPackage lui-même. Cependant, votre .vstemplate peut appeler un assistant écrit en C#. Bien qu'il s'agisse bien d'un "assistant personnalisé", vous pouvez fournir une référence à un assembly .NET. Il n'y a pas besoin d'utiliser un langage de script.

Pour un exemple, voir IronPython> C# Example.IronPythonProject dans le navigateur du SDK VS2008. Malheureusement, cela démontre seulement une fonctionnalité d'assistant limitée et seulement pour les éléments du projet plutôt que pour les projets, mais j'espère que cela sera utile tout de même.

+0

Merci pour l'info. J'ai regardé dans ceci mais je ne pourrais pas figurer dehors comment faire ceci avec un VSTemplate pour des projets que je pourrais mettre sous Visual C++. Cependant, cela m'a permis de trouver un moyen d'implémenter IDTWizard en C# et de créer un fichier .vsdir/.vsz pour l'invoquer, donc je suis capable de faire tout ce dont j'ai besoin. Merci. – Gerald

Questions connexes