Partager via


Comment : créer des éléments de projet par programme

Mise à jour : novembre 2007

Pour créer des éléments de projet par programme, commencez par appeler GetProjectItemTemplate, puis passez les chemins des modèles retournés à AddFromTemplate. Pour plus d'informations, consultez Modèles Visual Studio.

La méthode GetProjectItemTemplate retourne le modèle à partir du fichier .zip approprié pour une utilisation avec la méthode AddFromTemplate. Les modèles d'élément de projet destinés à tous les langages sont accessibles sous : <lecteur>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\Langage.

Vous pouvez également créer vos propres modèles d'éléments de projet personnalisés. Pour spécifier le répertoire dans lequel vous stockerez vos modèles, cliquez sur Options dans le menu Outils. Dans le volet gauche de la boîte de dialogue Options, cliquez sur Projets et solutions. Tapez le chemin d'accès à vos modèles dans la zone Emplacement des modèles d'élément pour l'utilisateur de Visual Studio. Vous pouvez également accepter les emplacements par défaut.

Les modèles personnalisés requièrent des noms de fichiers uniques qui n'entrent pas en conflit avec les noms de fichiers définis dans :<lecteur>:\Program Files\Microsoft Visual Studio 8\Common7\IDE\ItemTemplates\Langage.

Assurez-vous que vous utilisez des noms de fichiers longs (par opposition au modèle 8.3). Pour plus d'informations, consultez Création de modèles de projet et d'élément.

Pour supprimer des projets de la solution, utilisez Remove.

L'exemple suivant illustre la méthode générique de création d'éléments de projet. Les rubriques répertoriées à la section Voir aussi montrent comment utiliser les modèles propres au langage.

Remarque :

Les boîtes de dialogue et les commandes de menu qui s'affichent peuvent être différentes de celles qui sont décrites dans l'aide, en fonction de vos paramètres actifs ou de l'édition utilisée. Ces procédures ont été développées avec les paramètres de développement généraux actifs. Pour modifier vos paramètres, choisissez Importation et exportation de paramètres dans le menu Outils. Pour plus d'informations, consultez Paramètres Visual Studio.

Ajout d'éléments aux projets

Pour ajouter des éléments à un projet par programme

  1. Démarrez Visual Studio et créez un nouveau projet de complément Visual Studio.

  2. Ajoutez le code ci-dessous à la classe Connect du complément.

  3. Exécutez le projet Complément et activez-le dans le Gestionnaire de compléments.

    Pour cela, cliquez sur Gestionnaire de compléments dans le menu Outils, puis activez la case à cocher située en regard du complément.

Exemple

L'exemple suivant montre comment ajouter par programme des éléments à un projet Visual Basic existant.

' Before running the following code, be sure that a Visual Basic 
' project is open in Visual Studio.
Public Sub OnConnection(ByVal application As Object, ByVal _
connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    createProjectItem(_applicationObject)
End Sub

Sub createProjectItem(ByVal dte As DTE2)
    ' Adds a new Class to an existing Visual Basic project.
    Dim soln As Solution2
    Dim prj As Project
    soln = CType(_applicationObject.Solution, Solution2)
    Dim prjItem As ProjectItem
    Dim itemPath As String

    ' Point to the first project (the Visual Basic project).
    prj = soln.Projects.Item(1)
    ' Retrieve the path to the Class template.
    itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj")
    ' Create a new project item based on the template, in this case,
    ' a Class.
    prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass")
End Sub
// Before running the following code, be sure that a Visual Basic 
// project is open in Visual Studio.
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst, ref
 System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;

    // Pass the applicationObject member variable to the code example.
    createProjectItem(_applicationObject);
}
public void createProjectItem(DTE2 dte)
{
    //Adds a new Class to an existing Visual Basic project.
    Solution2 soln;
    Project prj;
    soln = (Solution2)_applicationObject.Solution;
    ProjectItem prjItem;
    String itemPath;
    // Point to the first project (the Visual Basic project).
    prj = soln.Projects.Item(1);
    // Retrieve the path to the class template.
    itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj");
    //Create a new project item based on the template, in this
    // case, a Class.
    prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass");
}

Compilation du code

Pour compiler ce code, créez un projet de complément Visual Studio et remplacez le code de la classe Connect.cs ou Connect.vb par le code de l'exemple. Avant d'exécuter le complément, ouvrez un projet Visual Basic dans l'IDE de Visual Studio. Pour plus d'informations sur l'exécution d'un complément, consultez Comment : contrôler des compléments avec le Gestionnaire de compléments.

Programmation fiable

Lorsque vous utilisez des noms d'éléments de projet comme paramètre pour Solution.Projects.Item, vous devez utiliser le nom unique du projet. Le nom unique est un chemin d'accès relatif depuis le répertoire contenant le fichier solution (.sln) jusqu'au fichier projet.

Par exemple, considérez la structure solution/projet suivante :

SomeSolution.sln

     WinApp1

          WinApp1.VBProj

Le nom unique pour le projet serait "WinApp1/WinApp1.VBProj" et l'appel à la méthode Item serait Solution.Projects.Item("WinApp1/WinApp1.VBProj").

Voir aussi

Tâches

Comment : compiler et exécuter les exemples de code du modèle objet Automation

Comment : créer par programme des projets

Concepts

Manipulation des projets Visual Basic et Visual C#

Manipulation des projets Visual C++

Introduction aux modèles Visual Studio

Autres ressources

Contrôle de la solution et de ses projets