Share via


Trucs et astuces pour Visual Studio 2008 / Visual Basic 2008 / Visual C# 2008 : Partie 4

 

Sommaire de la quatrième partie

 

VStudio Insérez vos commentaires en vue de générer votre documentation
VStudio Exploitez au mieux l’intelliSense
VStudio Exploitez au mieux la richesse du débuggeur de Visual Studio 2008
VStudio Etendez la richesse du débuggeur sur vos objets
VStudio Etendez la surcharge du rendu de types dans le débuggeur
VStudio Déployez automatiquement tout assembly de projet

 

 

<< Retour à la troisième partie

 

Téléchargez le code source du projet

Partie 4 : l’intelliSense, le débuggeur

 

VStudio

Insérez vos commentaires en vue de générer votre documentation

L’une des questions souvent posée par un chef de projet à ses développeurs est « Avez-vous commenté votre code ? » et souvent la question reste sans réponse, ou cette dernière est négative. Afin de faciliter l’insertion et de minimiser la perte de temps, vous retrouverez en faisant un clic droit sur une classe ou l’un de ses membres une nouvelle entrée dans le menu contextuel : l’insertion de commentaire, illustrée ci-dessous.

Insert Comment

Un simple clic sur cet élément vous insèrera dans votre code l’ensemble des structures XML ad-doc à la génération ultérieure de la documentation de votre code. Observez le résultat obtenu sur notre fonction EmployeList().

'''<summary> ''' ''' </summary> ''' <returns></returns> ''' <remarks></remarks> Public Shared Function EmployeList() As List(Of Employe)

 

Haut de page

VStudio

Exploitez au mieux l’intelliSense

L’une des aides les plus puissantes de VS reste certainement l’ IntelliSense qui vous propose les syntaxes correspondantes à ce que vous êtes en train de taper. Cela vous permet ainsi de gagner en efficacité, en rapidité et en justesse ! Deux des petits trucs et astuces à connaître à cet effet sont la capacité de faire apparaître l’IntelliSense sans pour autant avoir saisi une première lettre en exploitant la combinaison des touches « CTRL+J » ou encore de faire apparaître le code se trouvant sous la fenêtre d’IntelliSense en enfonçant la touche CRTL au moment d’affichage des propositions.

List Employee

Cette première étape de constitution de notre solution finale nous permet de nous rendre compte avec quelle facilité nous avons pu créer ce type d’application en distinguant la couche métier et l’interface utilisateur. Voyons maintenant comment nous allons pouvoir, grâce à Visual Studio 2008, exploiter au mieux le mode débug de notre environnement de développement, et pourquoi pas, comment l’étendre !

 

Haut de page

VStudio

Exploitez au mieux la richesse du débuggeur de Visual Studio 2008

Comme nous avons eu l’occasion de le constater, le nombre de trucs et astuces de cette nouvelle version n’a fait que croitre sur base de ceux hérités des versions précédentes. Attaquons-nous maintenant à l’outil de débugging.

Debugging

Pour cela, positionnez-vous sur l’alimentation de votre liste d’employés comme montré dans la capture ci-dessus et exécutez la compilation de votre solution en appuyant sur la touche F5. Lors de l’arrêt du Runtime sur empList, appuyez sur la touche F11 afin de passer à la ligne de code suivante au travers du débuggeur et constatez l’apparition d’un symbol « + », cliquez sur celui-ci afin de voir en temps réel le contenu de vos données en mode débug :

EmpList attributes

Jouez avec la touche CTRL (pour les plus curieux d’entre vous) et découvrez le mix entre la fonctionnalité de transparence de l’IntelliSense et la richesse du débuggeur.

 

Haut de page

VStudio

Etendez la richesse du débuggeur sur vos objets

Mais ce n’est pas tout, non content de vous mettre à disposition une nouvelle version plus riche du débuggeur, vous aurez également la possibilité d’étendre ses fonctionnalités. Revenons pour cela sur la classe Employe et tentons de comprendre comment nous allons étendre le rendu du débuggeur en ajoutant l’attribut « DebuggerDisplay » sur les éléments ciblés. Observez l’extrait de code suivant :

<DebuggerDisplay("Nom = {Nom}")> _Public Class Employe      Private _Nom As String      Private _Prenom As String      Private _Salaire As Decimal      <DebuggerDisplay("Nom sélectionné = {Nom} - {Prenom}")> _      Public Property Nom() As String           Get                Nom = _Nom           End Get           Set(ByVal value As String)                _Nom = value           End Set      End Property

Ainsi que le résultat qui lui est attaché en reproduisant l’opération de compilation et de gestion en mode pas à pas :

 

Nom Attributes

Vous remarquerez assez naturellement l’exploitation des données affichées dans notre classe au travers de l’attribut DebuggerDisplay grâce à la syntaxe {…} déjà bien connue dans la gestion de formatage de String, l’exploitation de cet attribut permet ainsi de modifier le rendu du débuggeur de VS.

L’ajout de l’attribut vide sur la propriété et le champ Salaire permet de le faire disparaître du débuggeur (parfois bien utile dans certains cas).

<DebuggerDisplay("")> _

Mais ce n’est pas tout, la personnalisation du débuggeur peut aller bien plus loin encore et s’étendre à l’ensemble des éléments du projet sans pour autant devoir impacter votre code. Afin de mieux comprendre ceci, attaquons un nouvel exemple.

 

Haut de page

VStudio

Etendez la surcharge du rendu de types dans le débuggeur

Dans le load de votre projet, ajoutez le code suivant :

Dim g As Guid = Guid.NewGuid

Lorsque vous passez en mode débugge pas à pas, vous pouvez constater le résultat suivant.

 

New Guid

La problématique dans ce cas est la capacité à retrouver le GUID afin de suivre son évolution et/ou de le tracer éventuellement en Base de Données. Nous souhaitons ainsi ne plus afficher son type (hérité de .ToString de System.Object) mais bien la valeur contenue par celui-ci.

Nous allons pour ce faire étendre non plus le débugging de nos objets mais directement le visualisateur du débuggeur.

Afin d’arriver à un tel résultat, créez un nouveau projet de type Librairie de classes dans votre solution, supprimez tout fichier de code et accédez directement au fichier AssemblyInfo.vb et ajoutez-y la structure de code suivante :

<Assembly: DebuggerDisplay("{ToString}", target:=GetType(System.Guid))>

Cette opération terminée, compilez votre projet et déployez l’assembly ainsi obtenue dans le répertoire suivant : C:\Users\<user>\Documents\Visual Studio 2008\Visualizers

Compilez le tout en mode pas à pas et observez le résultat obtenu au travers du débuggeur de Visual Studio 2008 :

 

New Guid

 

 

Haut de page

VStudio

Déployez automatiquement tout assembly de projet

Le résultat est nettement plus adapté au suivi de la valeur générée par le GUID. Nous aurions également pu aller un peu plus loin dans la démarche et automatiser le déploiement de l’assembly de la librairie de classes que nous venons de créer à l’instant. Pour ce faire, rien de plus simple, il vous suffit de vous rendre sur le projet pour lequel vous souhaitez automatiser le déploiement.

Ouvrez « My Project » et sélectionnez l’onglet « Compile ». Nous allons travailler sur les évènements de compilation car tout comme notre application, la compilation a son propre cycle de vie. Cliquez sur « Build Events… » :

 

Event

 

Vous obtiendrez ainsi la fenêtre suivante vous permettant d’inscrire un script à exécuter avant la compilation ou juste après celle-ci :

 

Event edit

Insérez le script suivant dans la zone Post-Build event command line :

copy "$(TargetPath)" "C:\Users\<user>\Documents\Visual Studio 2008\Visualizers"

Exploitez éventuellement le mode édition de command line qui vous permettra de découvrir plus aisément les manipulations et structures de code que vous pourrez mettre en œuvre. Nous voici ainsi à nouveau au terme d’une étape majeure de notre solution. Comme vous vous en souvenez, notre objectif est également au travers des trucs et astuces, d’utiliser le potentiel de tout type de projet peu importe les croisements que nous pourrions effectuer et ce sera justement le cas. Puisque nous souhaitons faire évoluer de notre solution, actuellement un client lourd (entendez Winform) vers une solution de type SmartClient (application Winform exploitant le Web). Cette solution a un intérêt tout particulier au niveau du déploiement, de la centralisation de données, de l’authentification, etc. Nous travaillerons ici sur la mise en œuvre d’une consommation de notre logique métier au travers d’un Web Service et en profiterons pour exploiter l’authentification inhérente à toute application de type Webform.

 

 

 

Section suivante >>

 

Haut de page