Jan 12

Logo Visual Studio 2012Maintenant qu’une grosse partie du code des projets autour du Framework .Net est disponible, il peut être intéressant de pouvoir le consulter facilement pendant que l’on développe. Aujourd’hui, utiliser le raccourci F12 (« Go To Definition ») sur une méthode du Framework affiche uniquement les métadatas de la classe et de la méthode (notamment sa signature).

Le plugin Ref12 permet de remplacer cela par l’ouverture d’une page web pointant sur le site de Microsoft regroupant les sources du Framework et qui affiche les sources de la méthode et de la classe correspondante.

 

Jan 12

Logo Visual Studio 2012Lorsqu’on ouvre une solution pour la première fois, la Visual Studio sélectionne arbitrairement le projet de démarrage, qui n’est pas forcément le plus logique (cela peut très bien être un projet de bibliothèque de classes), qu’il est ensuite possible de modifier manuellement.
Cette information n’étant pas enregistrée dans le fichier de la solution mais dans le fichier *.suo, qui n’est généralement pas commité dans le logiciel de gestion de version, cette manipulation est à effectuer pour chaque utilisateur du projet.

Il se trouve qu’en fait la Visual Studio sélectionne comme projet de démarrage le premier projet qu’il trouve dans la solution.
Ainsi, pour qu’elle sélectionne le bon projet par défaut, il suffit de modifier le fichier *.sln avec un éditeur texte et déplacer le projet principal pour le mettre en premier.

 

via Ashvin’s Technical Blog.

Fév 18

Logo Visual StudioDans un précédent article, nous avons abordé la question de la transformation du fichier App.Config, en fonction de l’environnement cible.
Or généralement, la cible par défaut, Debug est uniquement utilisée pour le développement et utilise donc une configuration particulière qui ne doit pas forcément être publiée.

Ainsi, sur tous mes projets, je créé les cibles Recette, Qualif, Production (et autres, en fonction du besoin), tout en conservant les cibles existantes Debug et Release. La première étant la configuration utilisée pour le développement, la seconde étant rarement utilisée.
Le problème est donc qu’il arrive occasionnellement de lancer une publication sans avoir changé l’environnement cible, ce qui provoque la copie de paramètres de configuration de débogage sur un environnement ne correspondant pas à cette configuration.

Afin d’éviter de publier accidentellement en configuration Debug, il suffit d’ajouter les lignes suivantes à la fin du fichier *.csproj de votre projet principal (à ouvrir avec un éditeur texte), juste avant la balise de clôture </project> :

<Target Name="BeforePublish">
	<Error Condition="'$(Configuration)'=='Debug'" Text="Ce projet ne doit pas être publié en DEBUG. Choisissez l'environnement cible approprié." />
	<Error Condition="'$(Configuration)'=='Release'" Text="Ce projet ne doit pas être publié en RELEASE. Choisissez l'environnement cible approprié." />
</Target>

Cette modification va interrompre la publication si la configuration actuellement sélectionnée est Debug ou Release (car je ne l’utilise pas) en affichant le message spécifié.

Fév 01

Logo Visual StudioIl y a un raccourcis clavier que je définis systématiquement sur toutes les Visual Studio que j’utilise, parce qu’il est génial et fais gagner un temps fou.

Il s’agit de « Afficher la balise active » : lorsqu’on tape le nom d’une classe dont le namespace n’est pas définit dans les using en entête de fichier, ou que l’on renomme une classe, méthode ou variable, un petit symbole s’affiche sous le nom de la classe :

Si l’utilisateur clique sur ce symbole, un menu contextuel apparait, proposant notamment d’ajouter l’instruction using dans l’entête ou de renommer toutes les références :

En fait ce raccourci existe déjà par défaut mais n’est pas très pratique à taper : Shift + Alt + F10 ou Ctrl+;. Ces raccourcis là ont tendance à casser le flux lorsque l’on tape des instructions.

Je suggère fortement de le remplacer par Alt + Espace qui est nettement plus pratique !

Pour changer ce raccourci clavier dans la Visual Studio 2010 :

  • Menu Outils, sélectionner Options...
  • Dans la fenêtre qui s’ouvre, développer la branche Environnement et sélectionner Clavier
  • Dans la zone de texte Afficher les commandes contenant, taper Affichage.Afficherlabaliseactive ou View.Showsmarttag pour une VS en anglais
  • Dans la zone de texte libellée Appuyer sur les touches de raccourci, taper le raccourci Alt + Espace
  • Vérifier que la liste libellée Utiliser un nouveau raccourci dans a bien pour valeur Global
  • Cliquer sur le bouton Assigner

Ce raccourci sera désormais disponible sur n’importe quelle fenêtre de la Visual Studio, à partir du moment qu’une balise active est disponible.

Jan 18

La dernière version de la Visual Studio a un petit bug (certains diront probablement « fonctionnalité ») : souvent, lorsque l’on interrompt l’exécution de l’application (bouton « pause », ctrl-break…) afin de modifier le code pendant le débogage, la Visual Studio affiche un peu trop souvent un nouvel onglet No source available, indiquant que la source du code n’est pas disponible (notamment parce application était inactive, donc aucun code n’est exécuté…).

Le problème, c’est que c’est un peu ennuyeux, cet onglet n’apporte rien et il faut ensuite retrouver l’onglet sur lequel on était. L’idéal serait tout de même que la Visual Studio laisse l’utilisateur là où il était, ou du moins que ce soit quelque chose de paramétrable.

En attendant que Microsoft se bouge, quelqu’un a écrit une extension permettant de supprimer cette fenêtre : Disable No Source Available Tab.
Ce n’est pas une solution idéale car l’onglet s’affiche généralement furtivement avant de disparaître et d’après mon expérience, cela ne fonctionne pas à tous les coups, mais c’est déjà ça !