Menus et commandes pour Visual Studio

Utilisation de commande

Contrairement à Microsoft Bureau, qui est une suite qui comprend de nombreux produits distincts, Visual Studio contient de nombreux produits qui contribuent chacun à leurs ensembles de commandes à l’IDE Visual Studio global. L’IDE gère la complexité des milliers de commandes en filtrant les fonctionnalités disponibles pour l’utilisateur en fonction du contexte.

Quand le contexte d’un utilisateur change , comme passer d’une fenêtre de conception à une fenêtre d’édition de code, la fonctionnalité non liée au nouveau contexte disparaît. En même temps, de nouvelles fonctionnalités s’affichent avec des informations dynamiques associées, telles que les options Propriétés et Boîte à outils. L’utilisateur ne doit pas remarquer l’échange du jeu de commandes disponible. Si l’utilisateur est distrait ou confus par les commandes qui apparaissent ou disparaissent, la conception de l’interface utilisateur a besoin d’un ajustement. Le contexte actuel de l’utilisateur est toujours indiqué d’une ou plusieurs façons, comme dans la barre de titre de l’IDE, le Fenêtre Propriétés ou la boîte de dialogue Pages de propriétés.

Les barres de commandes permettent une flexibilité dans l’interface utilisateur. Les seules structures de commande inhérentes à l’environnement Visual Studio sont le menu principal et la barre de commandes principale, qui peuvent être personnalisées et même masquées. D’autres barres de commandes apparaissent et disparaissent en fonction de l’état de l’application. Les fenêtres d’outils et les éditeurs de documents peuvent également contenir des barres d’outils incorporées dans leurs bords de fenêtre.

Instructions de base

Utilisez les commandes partagées existantes, les groupes de commandes et les menus dans la mesure du possible.

Étant donné que les commandes sont généralement affichées en fonction du contexte, l’utilisation de menus partagés et de groupes de commandes existants garantit que la structure de commandes reste relativement stable entre les modifications dans le contexte. La réutilisation des commandes partagées et le placement de nouvelles commandes proches des commandes partagées associées réduisent également la complexité de l’IDE et créent une expérience plus conviviale. Si une nouvelle commande doit être définie, essayez de la placer dans un groupe de commandes partagé existant. Si un nouveau groupe doit être défini, placez-le dans un menu partagé existant proche d’un groupe de commandes associé avant de créer un nouveau menu de niveau supérieur.

Ne créez pas d’icônes pour chaque commande.

Réfléchissez attentivement avant de créer une icône de commande. Les icônes doivent être créées uniquement pour les commandes qui :

  • s’affiche dans une barre d’outils par défaut.

  • sont susceptibles d’être ajoutés par les utilisateurs à une barre d’outils via la boîte de dialogue Personnaliser...

  • avoir une icône associée à la même action dans un autre produit Microsoft.

Limiter l’ajout de raccourcis clavier

La grande majorité des utilisateurs utilisent une petite fraction de tous les raccourcis disponibles. En cas de doute, ne liez pas votre fonctionnalité à un raccourci clavier. Collaborez avec votre équipe d’expérience utilisateur avant d’ajouter de nouveaux raccourcis.

Donnez aux commandes un emplacement de menu par défaut.

N’oubliez pas que vos commandes seront personnalisées par d’autres personnes et les concevez en conséquence. Il n’y a pas de commande masquée. Toutes les commandes Visual Studio s’affichent dans la boîte de dialogue Personnaliser les outils>, la fenêtre commande, la saisie semi-automatique, la boîte de dialogue Options > des outils > et l’environnement d’outils de développement (DTE). Veillez à donner à vos commandes un nom et une info-bulle dans votre fichier .ctc afin que les utilisateurs puissent les trouver facilement.

Ne dupliquez pas les commandes partagées dans une barre d’outils incorporée.

Il est utile de placer des commandes à proximité de la zone du focus de l’utilisateur. Pour ce faire, vous pouvez créer une barre d’outils incorporée en haut de la fenêtre outil ou de l’éditeur de document. Les commandes placées dans la barre d’outils doivent être spécifiques à la région de contenu dans la fenêtre. Ne dupliquez pas les commandes partagées sur ces barres d’outils. Par exemple, n’placez jamais une icône « Enregistrer » dans une barre d’outils incorporée.

Visibilité du contenu et des commandes

Les commandes existent dans les étendues suivantes : environnement, hiérarchie et document. Connaissez chaque étendue pour avoir confiance dans le placement des commandes.

Les commandes dans l’étendue de l’environnement établissent un contexte principal et sont partagées entre plusieurs contextes. Ils modifient la visibilité ou la disposition des documents et des fenêtres outils. Parmi les commandes de l’étendue de l’environnement figurent New Project, Connecter to Server, Attach Process, Cut, Copy, Paste, Find, Options, Customize, New Window et View Help.

Les commandes de l’étendue Hiérarchie gèrent les hiérarchies dans Visual Studio, notamment Project, Team et Data. Ils concernent le sous-texte d’un projet , par exemple, déboguer, générer, tester, architecture ou analyser. Parmi les commandes de l’étendue Hiérarchie, citons Ajouter un nouvel élément, une nouvelle requête, un projet Paramètres, ajouter une nouvelle source de données, lancer l’Assistant Performances et un nouveau diagramme.

Les commandes de l’étendue du document agissent sur le contenu d’un document, comme le code, la conception ou une requête d’élément de travail (WIQ). Ils agissent également sur la vue d’une fenêtre outil ou sont spécifiques à cette fenêtre d’outil. Les commandes d’étendue de document agissent également sur les objets de fichier qui sont eux-mêmes spécifiques à la hiérarchie, tels que Supprimer du projet. Parmi les commandes de l’étendue du document, refactorisez renommer, créer une copie de l’élément de travail, développer tout, réduire tout et créer une tâche utilisateur. >

Décisions de placement des commandes

Une fois que vous avez décidé de créer une commande, vous devez déterminer son emplacement approprié et déterminer s’il faut créer un raccourci clavier. Suivez ce chemin de décision pour établir où placer la commande :

Command placement decision chart

Chemin d’accès à la décision pour le placement des commandes dans Visual Studio

Positionnement des commandes dans les menus

La barre de menus principale doit être l’emplacement standard pour les commandes de tous les packages de menus spécifiques au contexte qui contribuent à l’interface utilisateur. La barre de menus principale diffère des autres structures de commandes dans lesquelles l’environnement l’utilise pour contrôler les commandes visibles. Toutes les autres barres de commandes désactivent simplement les commandes hors contexte, qu’elles soient placées dans un menu ou dans une barre d’outils.

L’environnement définit un ensemble de commandes intégrées à la barre de menus principale qui sont communes à l’ensemble de l’IDE et à plusieurs domaines de tâches. Ces commandes sont toujours visibles indépendamment des vsPackages chargés dans l’environnement. Bien que les VSPackages puissent étendre cet ensemble de commandes, le jeu de commandes à partir de chaque produit et le placement de leurs commandes est la responsabilité de chaque équipe.

La structure du menu principal de Visual Studio peut être divisée en catégories de menus suivantes :

Menus principaux
  • File

  • Modifier

  • Affichage

  • Outils

  • Fenêtre

  • Aide

Menus spécifiques au projet
  • Project

  • Build

  • Déboguer

Menus spécifiques au contexte
  • Team

  • Données

  • Test

  • Architecture

  • Analyser

Menus spécifiques au document
  • Mettre en forme

  • Table

Lors de la conception de menus principaux, respectez ces règles :
  • Ne dépassez pas 25 éléments de niveau supérieur dans un contexte donné

  • Les menus ne doivent jamais dépasser 600 pixels en hauteur.

  • Évaluez un menu principal dans plusieurs contextes, tels que la référence SKU Ultimate et le profil général.

  • Les menus volants sont acceptables.

  • Les menus volants doivent contenir au moins trois éléments et pas plus de sept.

  • Les menus volants ne doivent aller qu’à un niveau profond : certains éléments de menu Visual Studio ont des sous-menus en cascade, mais ce modèle n’est pas encouragé.

  • N’utilisez pas plus de six séparateurs. Les regroupements doivent respecter l’illustration suivante :

    Guidelines for main menu grouping

  • Bien qu’il ne soit pas nécessaire d’avoir chaque regroupement dans la figure, l’ajout de regroupements supplémentaires est limité.

  • Chaque regroupement doit avoir entre deux et sept éléments de menu.

Avant d’ajouter un nouvel élément de niveau supérieur, envisagez de placer la commande dans un menu de niveau supérieur existant. Lorsque vous ajoutez un nouveau menu de niveau supérieur, veillez à le placer à l’emplacement approprié. Déterminez si le menu est spécifique au projet, au contexte ou au document. Conservez le nom du menu de niveau supérieur concis et utilisez un seul mot.

Les menus principaux doivent réserver le reste des commandes. Le fichier, la modification et l’affichage doivent toujours être à gauche, et Les outils, la fenêtre et l’aide doivent toujours être à droite.

Menu contextuels

Le fait de placer trop de fonctionnalités dans les menus contextuels entraîne une interface difficile à apprendre. Toutes les fonctionnalités principales doivent être disponibles via la barre de menus principale. L’emplacement des commandes doit être rapproché des commandes existantes pour éviter les commandes en double. Pour les menus contextuels, l’interpréteur de commandes définit des groupes de menus standard qui doivent être inclus selon que le menu contextuel concerne la solution, un nœud de projet ou un élément de projet.

Lors de la conception de menus contextuels, respectez les mêmes règles que pour le menu principal, et en outre :

  • Ne dépassez pas 25 éléments de menu de niveau supérieur.

  • Les menus volants sont acceptables, mais ne doivent pas dépasser un niveau profond : n’utilisez jamais de menu volant en cascade.

  • N’utilisez pas plus de six séparateurs.

Positionnement des commandes dans les barres d’outils

Barres d’outils générales

Lors de la conception et de l’organisation de barres d’outils, suivez les normes suivantes :

  • N’utilisez pas plus d’un verbe par bouton. Un bouton = une action.

  • Utilisez du texte à côté de l’icône uniquement s’il doit être renforcé avec l’étiquette.

  • Utilisez une zone de liste déroulante exclusivement pour les propriétés qui seront basculées plusieurs fois dans une session. Sinon, exposez la propriété ailleurs.

  • La largeur d’une zone de liste modifiable doit être égale à la largeur de l’élément le plus long dans la zone + 30 %. Par exemple, si l’élément le plus long est de 200 pixels, la zone de liste modifiable doit avoir une largeur de 260 pixels.

  • Limitez l’utilisation des séparateurs. L’utilisation d’un séparateur en regard d’une liste déroulante est un anti-modèle, car la forme de la liste déroulante elle-même agit comme séparateur visuel.

  • Les groupes d’icônes doivent contenir de trois à six icônes.

  • Si des qualificateurs entraînent plusieurs commandes utiles, utilisez un bouton fractionné qui stocke le dernier paramètre :

    Split buttons in Visual Studio

    Exemple de bouton fractionné. Les six commandes sur la gauche peuvent plutôt s’adapter à un seul bouton.

Barres d’outils spécifiques au produit

Chaque produit peut fournir une barre d’outils par défaut qui contient des commandes fréquemment utilisées et importantes, et la barre d’outils par défaut de chaque produit doit apparaître la première fois que Visual Studio est démarré après l’installation du produit.

Les produits doivent également tirer parti des groupes de commandes partagés et des menus fournis par l’IDE. Chaque groupe de commandes partagé est placé dans un menu partagé destiné à organiser les commandes associées de manière significative pour l’utilisateur. Il est important de tirer parti de cette structure de commandes partagées afin de réduire la complexité.

Barres d’outils globales

Les barres d’outils globales sont requises pour s’adapter à une ligne en dehors de la zone. Lors de la création d’une barre d’outils globale, suivez les instructions pour ce type de barre d’outils.

Instructions générales relatives à la barre d’outils :

  • Chaque barre d’outils comporte 24 pixels dans les contrôles courants (gripper, dépassement de capacité).

  • Chaque bouton de barre d’outils est large de 22 pixels, y compris le remplissage. La création de l’icône d’un bouton fractionné ajoute un autre 11 pixels de largeur.

  • La duplication des commandes entre les barres d’outils est autorisée.

    Les barres d’outils spécifiques au document s’affichent lorsqu’un certain type de fichier est actif et disparaissent lorsqu’un autre type de fichier devient actif.

  • Les barres d’outils spécifiques au document peuvent ne pas comporter plus de 12 boutons.

  • La largeur totale de la barre d’outils peut ne pas dépasser 300 pixels.

  • Chaque type de fichier peut avoir une barre d’outils incorporée ou une barre d’outils globale spécifique au document, mais pas les deux.

    Les barres d’outils spécifiques au contexte s’affichent lorsqu’un certain contexte est défini et ont tendance à rester actifs pendant des périodes prolongées.

  • La limite de boutons pour toutes les barres d’outils spécifiques au contexte est de 18.

  • Si la plupart des utilisateurs n’utilisent pas de manière cohérente les commandes de cette barre d’outils lorsque le contexte est actif, n’associez pas cette barre d’outils à un contexte.

  • Vérifiez que la barre d’outils disparaît lors de la sortie du contexte. Aucune de ces barres d’outils ne doit apparaître au démarrage.

    Les barres d’outils sans contexte n’apparaissent jamais automatiquement. Celles-ci s’affichent uniquement lorsque l’utilisateur les active. Conservez la largeur maximale inférieure à 200 pixels.

Groupes généraux définis par l’organisation et l’interpréteur de commandes

Utilisez des commandes partagées existantes, des groupes de commandes et des menus. Si une nouvelle commande doit être définie, essayez de la placer dans un groupe de commandes partagé existant. Si un nouveau groupe doit être défini, essayez de le placer dans un menu partagé existant proche d’un groupe de commandes associé avant de créer un menu de niveau supérieur. Cela réduit la complexité des commandes tout en garantissant un positionnement cohérent des commandes dans l’IDE.

Le menu Format partagé, généralement affiché dans le contexte des fenêtres de document de style concepteur, est illustré dans l’image suivante :

Visual Studio Format menu with callouts

Groupes de menus dans Visual Studio

Réduction et réutilisation des commandes

Les commandes sont généralement affichées en fonction du contexte, afin de réduire le nombre de commandes que l’utilisateur voit à tout moment. Toutefois, vous devez également réutiliser les menus partagés et les groupes de commandes existants pour vous assurer que la structure de commandes reste relativement stable entre les modifications dans le contexte.

La réutilisation des commandes partagées et le placement de nouvelles commandes proches des commandes partagées associées réduit la complexité de l’IDE et crée une expérience plus conviviale.

Commandes d’affectation de noms

Conventions d’affectation de noms

Le nommage de commande cohérent est essentiel pour permettre aux utilisateurs de rechercher et d’exécuter des commandes, soit à l’aide de la ligne de commande, soit de la liaison à un raccourci clavier. Les noms de commandes aident également l’utilisateur à comprendre l’objectif qu’une commande sert lorsqu’elle est affichée dans une barre d’outils ou dans un menu contextuel en cascade.

Lorsque vous nommez des commandes :

  • Construisez du texte afin qu’il soit facilement localisable. Pour plus d’informations sur la localisation du texte, consultez les meilleures pratiques de localisation.

  • Soyez concis. Les commandes ne doivent pas utiliser plus de trois mots.

  • Utilisez la majuscule de cas de titre : la première lettre de chaque mot doit être majuscule. Pour plus d’informations sur la mise en forme du texte dans Visual Studio, consultez style texte.

  • Prenez en considération l’emplacement de la commande. Est-ce dans un menu de niveau supérieur ou dans un menu volant ? Par exemple, lors du regroupement des commandes d’alignement dans un menu volant, la commande de niveau supérieur doit être « Aligner » et les commandes de menu volant doivent être « Gauche », « Droite », « Centre », « Justifier », et ainsi de suite. Il serait redondant pour nommer les commandes volantes « Aligner à gauche » ou « Aligner à droite ».

    Visual Studio Format menu

Utilisation d’icônes avec des commandes

Soyez à l’aide du jumelage d’icônes avec des commandes. Bien que l’association d’une image unique à une commande hachage la capacité de l’utilisateur à identifier cette commande, l’encombrement visuel et l’inefficacité se produisent avec une surutilisation de l’image. Les règles suivantes permettent de décider s’il faut créer une icône de commande.

Utilisez une icône avec une commande uniquement si :

  • La même commande a une icône associée dans un autre produit Microsoft de premier plan, par exemple l’une des application Office lications Microsoft.

  • La commande est placée dans une barre d’outils par défaut.

  • La commande est une commande spécialisée que les utilisateurs sont susceptibles d’ajouter à une barre d’outils à l’aide de la boîte de dialogue « Personnaliser... ».

Touches d’accès et de raccourci

Il existe deux types d’affectations de touches de clavier :

  • Les touches d’accès (également appelées accélérateurs) autorisent l’accès au clavier via les menus pour la commande et à chaque étiquette dans l’interface utilisateur de boîte de dialogue. Les clés d’accès sont principalement à des fins d’accessibilité, sont affectées à tous les menus et à la plupart des contrôles de boîte de dialogue, ne sont pas destinées à être mémorisées, affectent uniquement la fenêtre actuelle et sont localisées.

  • Les touches de raccourci utilisent principalement les séquences de touches Ctrl (Ctrl) et Fonction (Fn). Ils sont conçus plus pour les utilisateurs avancés et aident à la productivité. Ils sont attribués uniquement aux commandes les plus souvent utilisées et autorisent l’accès rapide tout en contournant le menu principal. Les touches de raccourci sont destinées à être mémorisées et, pour cette raison, doivent être affectées conformément au schéma de profil. Les schémas de touches de raccourci peuvent varier d’un profil à l’autre. Un utilisateur peut personnaliser les touches de raccourci via le clavier Options des > outils>.

Affectation de clés d’accès

Les touches d’accès se composent de touches Alt et alphanumériques. Affectez une touche d’accès à chaque élément de menu sans exception. Suivez les conventions Windows et courantes pour l’attribution de clés d’accès. par exemple, la clé d’accès du nouveau fichier doit toujours être Alt, F, N.>

N’utilisez pas de lettres à largeur de pixel unique telles que « i » (en majuscules ou minuscules) ou une minuscule ' l », et évitez d’utiliser des caractères avec des décroissants (g, j, p, q et y), car ils sont difficiles à distinguer.

Évitez d’utiliser des clés en double lorsque cela est possible. Dans les cas où la duplication est inévitable, le système de menu gère les conflits en parcourant toutes les commandes qui utilisent la clé. Par exemple, pour une commande hypothétique « Nombre » sous le menu Fichier qui dupliquez la touche d’accès « N », Alt, F, N créerait un fichier et Alt, F, N, N, N exécuterait la commande « Nombre ».

Affectation de touches de raccourci

Évitez d’affecter de nouvelles touches de raccourci, car elles ne sont pas requises pour chaque commande et taxent le système (et la mémoire utilisateur) si elles sont surutilisées. Les données du Programme d’amélioration de l’expérience client (CEIP) indiquent que les utilisateurs de Visual Studio n’utilisent qu’un petit sous-ensemble des raccourcis intégrés.

Lorsque vous définissez des raccourcis, suivez les règles suivantes :

  • Utilisez les séquences de touches Ctrl (Ctrl) et Fonction (Fn).

  • Conservez les raccourcis fréquemment utilisés. Conservez les raccourcis les plus populaires.

  • Facilitez la saisie des raccourcis de l’éditeur. Lier des raccourcis faciles à taper aux commandes dont les développeurs ont besoin le plus lors de l’écriture de code. Par exemple, Edit.InvokeSmartTag doit avoir une touche de raccourci rapide comme Ctrl+/ et non Alt+Maj+F10.

  • Recherchez des raccourcis à thème cohérents.

  • Suivez les instructions Windows pour déterminer les clés de modificateur à utiliser. Utilisez des combinaisons de touches Ctrl pour les commandes qui ont des effets à grande échelle, tels que les commandes qui s’appliquent à un document entier. Utilisez des combinaisons de touches Maj pour les commandes qui étendent ou complètent les actions de la touche de raccourci standard. N’utilisez pas de combinaisons Ctrl+Alt.

  • Supprimez les raccourcis superflus. Si vous disposez d’une fonctionnalité héritée, envisagez de supprimer des raccourcis qui sont utilisés avec une fréquence extrême (moins de 10 fois des données du PROGRAMME d’accès utilisateur) ou une fréquence modérée (moins de 100 fois à partir des données CEIP) si une clé d’accès fournit un accès rapide à la même commande. Par exemple : Alt, H, C ouvre l’aide/contenu.

    Il n’existe pas un moyen simple de case activée disponibilité des raccourcis. Si vous souhaitez ajouter un raccourci, procédez comme suit :

  1. Consultez la liste des raccourcis Visual Studio 2013 pour déterminer s’il existe des commandes similaires pour regrouper le vôtre.

  2. Accédez au clavier d’environnement > Options > outils > et testez votre raccourci. Vérifiez chaque schéma de mappage de clavier répertorié sous « Appliquer le schéma de mappage de clavier supplémentaire suivant ». Vérifiez les profils Général, C#, VB et C++, car ceux-ci partagent des raccourcis uniques. Votre raccourci est disponible s’il n’est mappé à aucun de ces endroits.