Leçon 2 : Découverte de votre environnement de développement

Autodesk Support

31 mars 2023


Ma première présentation du plug-in AutoCAD > Leçon 1 >> Leçon 2 >> Leçon 3 >> Leçon 4 >> Leçon 5 >> Leçon 6 >> Leçon 7 > Leçon 8

Dans la leçon précédente, vous avez vu comment augmenter votre productivité dans AutoCAD en mettant en oeuvre un plug-in créé à partir d'une petite quantité de code Visual Basic .NET.

.NET (ou .NET Framework) est une technologie créée par Microsoft qui permet aux programmeurs de créer et d'étendre des applications logicielles. Un programmeur peut utiliser le .NET Framework pour créer une nouvelle application logicielle à partir de zéro, pour mettre en oeuvre la communication ou l'interopérabilité entre deux applications logicielles, ou pour étendre une application logicielle en implémentant un plug-in pour celle-ci (comme vous le faites ici pour AutoCAD). Si vous souhaitez en savoir plus, vous trouverez des informations dans la section Rubriques supplémentaires.

Vous allez maintenant examiner de plus près ce qui s'est passé lorsque vous avez créé et exécuté le code dans la leçon précédente.

Envoyer des commentaires : envoyez vos commentaires sur cette formation AutoCAD ou sur cette leçon à l'adresse email:%00a0myfirstplugin@autodesk.com

Que signifie "construire" du code ?

Le code que vous avez tapé dans la communauté Visual Studio dans la leçon 1 était un ensemble d'instructions lisibles par l'homme (code source) qui devaient être converties en code pouvant être compris et exécuté par l'ordinateur. La "génération" effectuée a permis de réaliser cette opération : le code exécutable obtenu est regroupé dans une DLL (Dynamic-Link Library) qui peut être chargée dans AutoCAD.

La capture d'écran suivante montre la sortie au format DLL avec la base de données de débogage du programme associée (qui fournit des informations supplémentaires lors du dépannage de la DLL) que vous avez créée à l'aide de la communauté Visual Studio dans la leçon 1. Le chemin d'accès à l'emplacement où la DLL est compilée est spécifié dans les paramètres du projet de la communauté Visual Studio et est défini par défaut sur le sous-dossier bin\Release ou bin\Debug du dossier de projet de la communauté Visual Studio (selon que vous créez une version Release ou Debug de votre DLL - nous en parlerons plus tard).

Choix d'un langage de programmation et d'un outil de développement

De la même manière que les êtres humains utilisent différents langages pour communiquer, vous disposez de plusieurs options de langage lors de la création d'un plug-in AutoCAD : pour les besoins de ce guide, nous avons choisi Visual Basic .NET, un langage de programmation polyvalent puissant. Visual Basic .NET est particulièrement apprécié des utilisateurs qui apprennent à programmer, car la syntaxe du langage est plus facile à lire que de nombreux autres langages (par exemple, C# ou C++).

Il existe un certain nombre d'outils disponibles pour développer du code Visual Basic .NET. Ils vont d’outils open source tels que SharpDevelop et MonoDevelop à l’environnement de développement professionnel phare de Microsoft, Visual Studio. Ce didacticiel suppose que vous utilisez la communauté Visual Studio, une version gratuite de Visual Studio pour la création d'applications Visual Basic .NET.

La communauté Visual Studio est un environnement de développement intégré (IDE), car il est composé de différents outils, menus et barres d'outils qui facilitent la création et la gestion de votre code.

Le système de projet de la communauté Visual Studio comprend les fichiers Solution et Projet, ainsi que les éléments de projet, les fichiers individuels appartenant aux projets. Une solution est un conteneur pour un ou plusieurs projets. Chaque projet peut à son tour être considéré comme un conteneur pour les éléments de projet (fichiers source, icônes, etc.), dont la plupart sont compilés dans le fichier exécutable résultant (EXE ou DLL). La communauté Visual Studio fournit un Explorateur de solutions qui organise et affiche le contenu de la solution chargée dans un format d'arborescence :

L'interface de la communauté Visual Studio contient également un éditeur de texte et un concepteur d'interface. Ces derniers s'affichent dans la fenêtre principale en fonction du type de fichier en cours de modification. L'éditeur de texte permet d'entrer le code Visual Basic .NET pour votre plug-in AutoCAD. Cet éditeur propose des fonctionnalités avancées telles qu'IntelliSense et des sections de code réductibles, ainsi que des fonctionnalités d'édition de texte plus classiques telles que les signets et l'affichage des numéros de ligne.

IntelliSense est une fonctionnalité extrêmement précieuse de la famille Visual Studio qui améliore considérablement la productivité des programmeurs : elle fournit automatiquement des suggestions pour le code en cours d'écriture en fonction des objets disponibles et des lettres saisies. Vous avez déjà vu IntelliSense à l'oeuvre si vous avez tapé le code dans la leçon 1. C'est une des raisons pour lesquelles nous vous avons conseillé de ne pas copier-coller.

Il est clair que l'une des principales fonctionnalités de la communauté Visual Studio est sa capacité à créer du code Visual Basic .NET dans un fichier exécutable. Au cours du processus de génération, le compilateur de langage effectue diverses vérifications et analyses du code. Une de ces vérifications consiste à s'assurer que le code est conforme aux règles syntaxiques du langage Visual Basic .NET. Le compilateur effectue également d'autres vérifications, comme si une variable a été définie de façon appropriée ou non. Les erreurs détectées sont signalées dans la fenêtre Liste d'erreurs, généralement située au bas de la fenêtre principale. Si vous avez commis une erreur en tapant le code dans la leçon 1, vous avez peut-être déjà vu cela lorsque vous avez essayé de construire votre plug-in.

 Vérification de votre utilisation de la communauté Visual Studio

Dans cette section, vous allez passer en revue les étapes effectuées à l'aide de la communauté Visual Studio de la leçon précédente. Toutefois, nous les replacerons dans le contexte de ce que vous venez d'apprendre sur la programmation en général et la construction de votre code.

1. Dans la première étape, vous avez simplement lancé la communauté Visual Studio. 

2. Vous avez ensuite créé un projet Visual Basic .NET de type plug-in AutoCAD. Ce gabarit de projet a été ajouté lors de l'installation des Assistants AutoCAD .NET.

Le langage de développement utilisé pour ce guide étant Visual Basic .NET, vous utilisez Visual Basic dans la communauté Visual Studio. Par conséquent, Visual Basic s'affiche dans la partie Modèles installés de la boîte de dialogue Nouveau projet. Le gabarit du plug-in AutoCAD est essentiellement un gabarit de bibliothèque de classes, mais avec des paramètres supplémentaires.

Dans la partie centrale de cette boîte de dialogue, vous avez vu différents types d'applications pouvant être créés ; vous sélectionnez le modèle en fonction du type d'application que vous souhaitez créer.

Le nom que vous avez entré dans la partie inférieure de la boîte de dialogue est utilisé pour identifier le projet dans la solution.

3. Votre projet vide a été créé. Il contient quelques références de projet standard aux composants .NET principaux, ainsi que des références aux trois fichiers qui définissent l'API AutoCAD (AcCoreMgd.dll, AcMgd.dll et AcDbMgd.dll). Le projet inclut également deux fichiers de classe Visual Basic .NET (MyCommands.vb et MyPlugin.vb - vous avez peut-être supprimé le fichier MyPlugin.vb du projet, car il n'est pas nécessaire pour ce didacticiel). Ces fichiers contenaient un code simple standard. Si vous cliquez sur l'un de ces fichiers dans l'Explorateur de solutions, le code qu'il contient s'affiche dans la fenêtre de l'éditeur de texte.

4. Vous avez consulté la section Références des paramètres du projet "Mon projet" et vérifié que les fichiers AcCoreMgd.dll, AcDbMgd.dll et AcMgd.dll étaient correctement référencés (remarque : AcCoreMgd.dll est fourni pour AutoCAD 2013 et versions ultérieures).


5. L’enregistrement de la solution a créé des fichiers physiques représentant le contenu de votre projet sur le disque dur de l’ordinateur, ce qui vous permet de l’ouvrir et de le modifier ultérieurement. Vous avez fermé et rouvert le projet pour vous assurer que la communauté Visual Studio a correctement analysé les fichiers de projet.

6. AcCoreMgd.dll, AcMgd.dll et AcDbMgd.dll contiennent les définitions des API AutoCAD que vous utiliserez le plus souvent dans vos plug-ins. Vous référencerez toujours ces fichiers dans vos projets de plug-ins AutoCAD. Vous en référencerez parfois d'autres.

  • AcMgd.dll contient les API permettant de contrôler l'application AutoCAD elle-même : définition de commandes personnalisées, ouverture et fermeture de documents, traçage, etc.
  • AcDbMgd.dll contient les API permettant de créer, de modifier ou d'interroger le contenu d'un fichier DWG.
  • Dans AutoCAD 2013, les API du fichier AcMdg.dll ont été séparées entre AcMgd.dll et AcCoreMgd.dll. AcCoreMgd.dll contient des API liées à la connexion à l'application AutoCAD (telles que les jeux de sélections, les commandes et les mots-clés), et AcMgd.dll contient des API liées à l'interface utilisateur (telles que les boîtes de dialogue).

Lorsque vous avez créé votre projet de plug-in AutoCAD, la boîte de dialogue du configurateur de l'assistant AutoCAD .NET les sélectionnait par défaut (vous ne pouvez pas les désélectionner). Il y avait des options pour inclure d'autres fichiers de définition d'API que nous avons ignorés.

7. Vous avez ensuite ajouté du code Visual Basic .NET à l'aide de l'API AutoCAD dans votre projet. En d'autres termes, vous devez fournir à AutoCAD des instructions sur la manière de modifier le comportement d'un attribut de bloc lorsqu'il est pivoté.

Lors du développement du code, il est conseillé de construire la solution de temps en temps, pour vérifier si des erreurs ont été introduites dans le code. Le code ne doit pas nécessairement être complet ou fonctionnel lors de la création de la solution. Cette approche permet d'éviter des problèmes potentiellement longs une fois le code terminé. Elle permet également d'enregistrer automatiquement les fichiers source modifiés avant le début de la génération.

Pour créer une solution dans la communauté Visual Studio, sélectionnez Générer la solution dans le menu déroulant Générer.

Si le processus de génération a réussi, vous verrez un état Création d'image réussie dans le coin inférieur gauche de la fenêtre de l'application de la communauté Visual Studio. Si votre code contient une erreur, la communauté Visual Studio affiche une liste d'erreurs expliquant les erreurs détectées. L'erreur est également soulignée en bleu dans le code. Voici un exemple où nous avons délibérément ajouté une erreur au code que vous avez tapé dans la leçon 1 :

Dans cette leçon, vous avez brièvement vu ce qui se passe lorsque vous construisez un projet, ainsi que des informations générales sur Visual Basic .NET et la communauté Visual Studio. Vous avez passé en revue les étapes que vous avez suivies dans la leçon précédente pour créer votre plug-in AutoCAD de base, en le plaçant dans le contexte de ce que vous avez appris sur la programmation.

Rubriques supplémentaires

Communauté Visual Studio et Visual Studio Professional
Dans ce guide, vous utilisez la communauté Visual Studio. C’est une version gratuite de Visual Studio et c’est donc un excellent outil pour commencer à apprendre. Microsoft a ciblé les éditions Community de Visual Studio pour les étudiants, les amateurs et les autres programmeurs à temps partiel. Bien qu'il fournisse la plupart des fonctionnalités de Visual Studio Professional, telles qu'IntelliSense, il présente certaines limitations. Par exemple, il contient moins de modèles de projet et dispose d'options limitées pour déboguer et dépanner votre code. Si vous souhaitez développer des plug-ins commerciaux, nous vous recommandons d'investir dans l'un des membres les plus complets de la famille de produits Visual Studio.

*Il existe plusieurs versions "professionnelles" de Visual Studio. Pour plus d'informations, consultez le site Web de Microsoft Visual Studio.

Qu'est-ce que .NET ?
Le reste de cette leçon inclut un peu de jargon technique. Ne vous inquiétez pas si vous ne comprenez pas tout au début. Cela aura plus de sens une fois que vous vous serez familiarisé avec .NET après avoir écrit quelques-uns de vos propres plug-ins.

.NET Framework est une structure logicielle installée sur le système d'exploitation Microsoft® Windows®* et qui fournit la plate-forme, les bibliothèques et les services sous-jacents pour toutes les applications .NET. Les services incluent la gestion de la mémoire, le nettoyage de la mémoire, le système de type commun, les bibliothèques de classes, etc.

* Des sous-ensembles de .NET sont également disponibles sur d'autres systèmes d'exploitation, que ce soit via le projet Open Source Mono ou via Microsoft® Silverlight®, mais ces rubriques ne sont pas incluses dans ce guide. Vous vous concentrerez uniquement sur l'utilisation de .NET sous Microsoft Windows.

Que contient le .NET Framework ?
Le cadre contient deux composants principaux :

1. Common Language Runtime (CLR) : il s'agit de l'agent (ou du moteur d'exécution) du .NET Framework responsable de la gestion de l'exécution du code. C'est pourquoi le code écrit pour cibler ce runtime est également connu sous le nom de code managé. Tout le code managé s'exécute sous la supervision du CLR, mais qu'est-ce que cela signifie ? Le CLR gère le code en fournissant des services de base tels que la gestion de la mémoire (qui inclut la libération automatique de la mémoire de l'ordinateur pour réutilisation sur d'autres tâches quand elle n'est plus nécessaire), la gestion des erreurs (ou des exceptions), la gestion de l'utilisation de plusieurs threads d'exécution et la garantie que les règles autour de l'utilisation de différents types d'objet sont respectées. Le CLR est réellement la base du .NET Framework. 

2. Bibliothèque de classes .NET Framework : comme son nom l'indique, il s'agit d'une bibliothèque ou d'un ensemble de types d'objet pouvant être utilisés à partir de votre propre code lors du développement d'applications .NET. Ces applications .NET sont destinées à Windows (via une invite de commandes ou via une interface utilisateur graphique), au Web ou aux appareils mobiles. Cette bibliothèque est disponible pour toutes les langues utilisant le .NET Framework.

Comme indiqué ci-dessus, le CLR améliore la robustesse du code en s'assurant que le code d'exécution est conforme à un système de type commun (CTS). Le CTS garantit que tout le code .NET (ou managé), quel que soit le langage, utilise un jeu similaire de types d'objet et peut fonctionner ensemble dans le même environnement. C'est cette fonctionnalité qui vous permet d'écrire des applications dans le langage de développement de votre choix tout en utilisant des composants/du code écrits par des programmeurs utilisant d'autres langages .NET.

Création d'exécutables
Lorsque vous avez intégré votre code dans un fichier EXE, il a été compilé dans du code CIL (Common Intermediate Language) (également connu sous le nom de code MSIL) à l'aide du compilateur spécifique au langage. CIL est un ensemble d'instructions indépendant de l'UC qui peut être exécuté par le CLR sur les systèmes d'exploitation Windows. CIL est généralement portable sur les systèmes 32 bits et 64 bits et même, dans une certaine mesure, sur les systèmes d'exploitation non Windows. Le code CIL généré à partir du code source VB a ensuite été intégré dans un assembly .NET. Un tel assembly est une bibliothèque de code CIL stockée au format PE (Portable Executable) (qui contient à la fois le code CIL et les métadonnées associées). Les assemblys peuvent être des assemblys de processus (EXE) ou des assemblys de bibliothèque (DLL).

Au cours de ce guide, vous vous concentrerez sur le développement d'un type particulier de plug-in AutoCAD : un assemblage de processus (EXE) qui communique avec AutoCAD. En raison de la surcharge liée à leur développement, vous ne passerez pas de temps à examiner les compléments AutoCAD, qui sont généralement des assemblages de bibliothèque (DLL) qui sont chargés et exécutés dans l'espace mémoire d'AutoCAD. L'une des raisons pour lesquelles l'implémentation d'un fichier EXE avec AutoCAD est plus simple que le développement d'un complément est liée à son interface utilisateur : les exécutables n'ont pas besoin de s'intégrer de manière transparente à l'interface utilisateur d'AutoCAD en ajoutant des boutons de ruban (par exemple).

Exécution des exécutables

Lors de l'exécution d'un assembly .NET, CIL (résidant dans l'assembly) est transmis via le compilateur juste-à-temps (JIT) du CLR pour générer du code natif (ou machine). La compilation JIT du code CIL vers le code natif se produit lorsque l'application est exécutée. Comme le code n'est pas entièrement requis pendant l'exécution, le compilateur JIT ne convertit le CIL que lorsqu'il est nécessaire, ce qui permet d'économiser du temps et de la mémoire. Il stocke également le code généré en mémoire, ce qui le rend disponible pour une utilisation ultérieure sans avoir à le recompiler.

Dans la dernière étape de ce processus, le code natif est exécuté par le processeur de l’ordinateur.

Pour plus d'informations sur la création d'applications .NET, reportez-vous à la rubrique MSDN Library.

Ma première présentation du plug-in AutoCAD > Leçon 1 >> Leçon 2 >> Leçon 3 >> Leçon 4 >> Leçon 5 >> Leçon 6 >> Leçon 7 > Leçon 8



Ces informations vous ont-elles été utiles ?


Besoin d’aide ? Demandez à l’Assistant Autodesk.

L’Assistant peut vous aider à trouver des réponses ou à contacter un agent.


Quel est votre niveau d’assistance actuel ?

Chaque plan d’abonnement inclut différentes catégories d’assistance. Découvrez le niveau d’assistance qui correspond à votre plan.

Voir les niveaux d’assistance