Mise à jour : Microsoft vient de mettre en téléchargement Visual Studio 11 beta et Windows 8 Consumer Preview. Vous trouverez plus d’informations dans cet autre billet.

image

Suite à l’annonce de Somasegar il y a moins d’une semaine quant à la mise à disposition de Visual Studio 11 le 29 février, l’équipe Visual Studio de Microsoft présentait sur le blog officiel la nouvelle expérience utilisateur préparée dans cette nouvelle mouture de l’IDE. Si vous n’avez pas encore pris connaissance des derniers changements, vous allez être très surpris par ce qui va suivre. Le sujet fait d’ailleurs pas mal débat sur le blog de Microsoft et si vous avez la moindre remarque à exprimer, n’hésitez à le faire savoir à l’équipe Visual Studio qui est à votre écoute. Nous ne sommes qu’à la beta et il est très fréquent de voir Microsoft tenir compte de l’avis des utilisateurs qui travaillent avec leurs outils, c’est même logique.

Mais revenons à cette nouvelle expérience utilisateur dans Visual Studio 11… En découvrant cette nouvelle version, on comprend très clairement qu’un gros travail d’épuration a été accompli afin de rendre Visual Studio plus clair et plus simple afin de nous permettre de nous focaliser sur ce que l’on désire faire plutôt que de perdre du temps à chercher ce que l’on veut faire. Nous allons voir cela plus en détail tout de suite.

Command Placements

Si vous développez avec Visual Studio, il doit nécessairement vous arriver de réajuster l’organisation des commandes dans les barres d’outils lorsque celles-ci atteignent 3 lignes en fonction du document ouvert. Et tout comme moi, il vous arrive souvent de chercher après une commande perdue au milieu du lot. Microsoft a donc effectué un travail d’allègement en retirant les commandes devenues inutiles. Un exemple surprenant, et pourtant tout à fait logique, les commandes couper/copier/coller ont été tout simplement retirées. Pour ma part, je n’utilise jamais ces commandes, il n’y a que mes parents pour utiliser cela plutôt que les raccourcis clavier… Heureusement, ils ne travaillent pas avec Visual Studio !

A titre d’exemple, voici les barres d’outils visibles par défaut dans Visual Studio 2010 :

Et voici la même chose dans Visual Studio 11 :

Colorized Chrome

Un autre constat de Microsoft est que la diversité de couleurs dans l’éditeur est un facteur agressif pour l’utilisateur qui est avant tout attiré par ces couleurs, plutôt que par le contenu. Visual Studio fait donc peau neuve avec un allègement drastique au niveau des couleurs pour faire place à deux nouveaux thèmes.

Le thème clair :

 

Le thème foncé :

L’utilisation de ces thèmes a pour but de mettre en en évidence les notifications et les changements de statuts qui eux seront colorisés afin de mieux capter notre attention. Microsoft explique aussi, et cela est d’ailleurs présenté dans les captures d’écrans précédentes, que ce choix permettra de mieux mettre en évidence nos applications qui utilisent des couleurs et des polices plus vivantes.

Line Work

Microsoft nous a le premier habitué à développer des applications avec une certaine structure au niveau des composants graphiques par l’utilisation de conteneurs, séparateurs, bordures, etc. Le plus souvent, le tout est accompagné d’ombres et de dégradés en tout genre. Leur constat est le même que précédemment, l’utilisateur a tendance à être perturbé par ces artifices. Lorsqu’on fait attention aux dernières applications et sites web de Microsoft comme par exemple l’interface Metro, on s’aperçoit de cette volonté de rendre les applications plus simples pour une utilisation plus efficace.

Vous pouvez donc voir un exemple avec les changements effectués dans la fenêtre des propriétés d’un projet sous Visual Studio.

La fenêtre des propriétés d’un projet sous Visual Studio 2010 :

Et la même fenêtre sous Visual Studio 11 :

Je trouve que cela rend plutôt bien. Et l’avantage à ce balayage de la structure superflue, on gagne en espace !

Iconography

Les icones ont subi aussi un rajeunissement pour faire place à un style proche des glyphes comme dans Windows 8. C’est plutôt sobre, voir figé mais cela reste à voir avec une utilisation réelle.

Dans l’écran suivant, vous pouvez voir les icones du dessus utilisés dans Visual Studio 2010 et leur équivalent Visual Studio 11 dans la ligne du dessous.

Par contre, je reconnais que les icones ressortent encore bien dans l’IDE :

image

Searching Within Commands

Cette recherche est un point d’entrée pour trouver une commande dans la liste complète des commandes disponibles dans Visual Studio 11, ainsi que dans les options de l’IDE. Ainsi, vous ne serez plus contraint de passer du clavier à la souris pour ensuite chercher une commande accessible au fin fond d’un menu. L’utilisation du raccourci “Ctrl + Q” permettra de se rendre dans cette zone de recherche.

Comme le dit Microsoft, cette zone de recherche a aussi un but éducatif car les raccourcis claviers disponibles associées aux commandes résultantes de la recherche utilisateur seront affichés.

Searching Within Tool Windows

La presque totalité des fenêtres d’outils (comme celles des propriétés, des contrôles, de la liste des erreurs, etc.) sont dépourvues de fonctionnalité de recherche au sein de ces fenêtres, et pourtant, qui n’a déjà pas pesté de ne pas retomber sur le nom d’une propriété d’un contrôle et être obligé de parcourir des yeux plusieurs fois la liste complètes des propriétés. Ca m’arrive en tout cas encore fréquemment.

Microsoft a donc identifié les fenêtres d’outils les plus importantes afin d’y intégrer une zone de recherche. Ces dernières sont les suivantes :

    • SOLUTION EXPLORER
    • REFERENCE MANAGER
    • TEAM EXPLORER
    • INTELLITRACE SUMMARY PAGE
    • TOOLBOX
    • PARALLEL WATCH WINDOW
    • ERROR LIST
    • C++ GRAPHICS EVENT LIST
    • CODE ANALYSIS

Pour la recherche dans la fenêtre “SOLUTION EXPLORER, le raccourci “Ctrl + ;” pourra être utilisé.

Searching Within Open Files

La recherche dans les fichiers (ouverts), tout le monde connait et nous savons aussi que différentes possibilités s’offrent à nous. Microsoft a donc décidé de consolider deux types de recherche et qui sont la recherche incrémentale et la recherche rapide. Une nouvelle zone de recherche apparait donc en haut d’un fichier afin d’effectuer cette recherche. C’est donc terminé les fenêtres de recherche qui se placent au dessus de votre code. Certains remarqueront que cette fonctionnalité étaient déjà en très grande partie disponible dans les Power Tools de Visual Studio 2010.

Hubs

Les fenêtres d’outils sont nombreuses et comme le fait très bien remarquer Microsoft, nous pouvons passer beaucoup de temps à les consulter pour ensuite passer à une autre fenêtre d’outil ayant des informations plus en adéquations avec l’évolution de l’information que nous recherchons. Le résultat est que nous perdons du temps.

Un exemple flagrant sont les fenêtres Solution Explorer et Class View qui ont une utilité différente mais partagent les mêmes données, c’est à dire notre code. Microsoft a donc mis en place deux Hubs fournissant les services de différentes fenêtres d’outils (partageant les mêmes données) en une seule fenêtre :

    1. SOLUTION EXPLORER
    2. TEAM EXPLORER

Ainsi, le Solution Explorer Hub regroupera les fenêtres d’outils Solution Explorer, Class View, Object Browser, Call Hierarchy, Navigate To et Find References. Vous pourrez donc naviguer dans tout ce contenu sans avoir besoin de changer de fenêtre.

Pivots

Toujours concernant le Solution Explorer Hub, une notion de relations a été mises en place afin de passer facilement d’un mode à un autre en fonction de ce que l’utilisateur a besoin de voir sans pour autant changer de fenêtre.

La liste des relations disponibles est la suivante :

    • Contains
    • Base types
    • Derived types
    • Is used by
    • Calls
    • Is called by

Il faut aussi savoir que le Solution Explorer Hub a été développé de manière à être extensible et ainsi accueillir des fonctionnalités développées par des tiers.

Multi instancing

Microsoft a ajouté la possibilité d’instancier autant de fois qu’on le désire la fenêtre Solution Explorer afin d’avoir différentes vues permanentes des données en fonction des besoins de l’utilisateur. Le principe est simple car vous allez pouvoir dupliquer une fenêtre en gardant le même contenu et la même vues. Avec cette fenêtre dupliquées, vous allez ensuite pouvoir changer ce que vous voulez sans que cela ait d’impact sur la précédente fenêtre utilisée pour la copie.

Mais Microsoft ne s’est pas arrêté là car il permet aussi d’agencer les différents Solution Explorer où vous voulez ! Je vois que cela ne surprend personne. En fait, cela va plus loin que ça car vous allez aussi pouvoir docker vos fenêtres à l’intérieur d’un document, donc par exemple, à l’intérieur d’une fenêtre représentant le contenu d’un fichier C#/VB par exemple. Vous pourriez donc décider de docker un Solution Explorer à l’intérieur d’une classe et d’y lister les classes qui utilisent votre classe courante.

Preview Tab

Une autre source de perte de temps lorsqu’on travaille dans Visual Studio est le nombre croissant de fichiers ouverts. Parmi ces fichiers, quelques un sont pertinents pour le travail que nous sommes en train d’effectuer et la majorité restante ne sont que des fichiers qui viennent polluer la barre d’onglet des documents ouverts.

Il est d’ailleurs très facile d’en arriver là soit par exemple en faisant des recherches au niveau du code ou alors fréquemment lorsque vous déboguez un bug en faisant un exécution pas à pas. De nombreux fichiers sont ouverts sans que vous ayez nécessairement un besoin de les garder. D’ailleurs, il y a deux catégories de développeurs selon Microsoft face à un tel scénario :

    • Les développeurs qui ferment de suite une fenêtre qui ne leur est pas utile ;
    • Les développeurs (comme moi) qui laissent ces fichiers s’accumuler jusqu’à opter pour la solution de tous les fermer d’un coup.

Dans la première catégorie, on perd beaucoup de temps à les fermer et dans la seconde, on perd les fichiers utiles au travail que nous sommes en train d’effectuer.

A présent, les fichiers seront ouverts dans un onglet de prévisualisation séparé des onglets des documents réellement actifs. Cela n’a d’ailleurs aucun impact d’avoir un tel document en “mode” prévisualisation car il est utilisable sans aucun problème. Quatre cas sont possibles pour rendre un onglet pré visualisé comme onglet classique :

    1. Editer le contenu ;
    2. Cliquer sur le bouton “Open” se trouvant dans l’onglet en question ;
    3. Double clique sur le fichier ;
    4. Glisser / déposer l’onglet dans la zone des onglets classiques.

History

En conjonction avec la nouvelle fonctionnalité de “Preview Tab” expliquée précédemment, un dernier constat a été effectué sur le fait qu’un développeur est capable de changer de fichier actif par l’utilisation du raccourci clavier “Ctrl + Tab”. L’activation de ce raccourci permet d’avoir une vue sur tous les fichiers ouverts dans l’IDE. Cependant, il n’est pas possible de voir les fichiers précédemment fermés encore moins dans l’ordre dans lequel ils auraient été ouverts.

Microsoft a donc introduit une fonctionnalité d’historique permettant d’afficher autant les fichiers ouverts que ceux fermés dans l’ordre dans lequel ces fichiers ont été accédés. L’utilisateur aura ainsi la possibilité d’identifier plus facilement un fichier qu’il avait précédemment consulté et au cas où il serait fermé, le rouvrir par simple clique dans l’historique.

Conclusion

Lors de ma première utilisation de Visual Studio 11 Preview fin de l’année passée, je m’étais résolu à penser que presque rien changerait au niveau de l’IDE en terme d’expérience utilisateur et que l’on pouvait plutôt miser sur des améliorations notables dans les langages de développements C#/VB/C++/F#, les Framework et les nouvelles plateformes de développement comme Windows 8. J’étais vraiment loin d’imaginer de tels changement et comme beaucoup, j’ai été très surpris par les choix de Microsoft quant à cette nouvelle interface dîtes simple et efficace.

Et bien je vous avoue qu’avec l’écriture de cet article où j’ai du me documenter plus sérieusement, j’ai mieux compris les raisons qui se cachent derrières tous ces changements (sans même avoir lancé l’outil d’ailleurs). Je reste encore un peu sceptique sur certains points mais d’une manière générale, l’équipe en charge du développement de Visual Studio a su encore m’impressionner.

En conclusion, je n’ai envie de dire que deux choses qui résument selon moi assez bien cette nouvelle version de Visual Studio : simplicité et productivité accrue.