Connect(); 2016

Volume 31, numéro 12

Cet article a fait l'objet d'une traduction automatique.

Visual Studio Development - Amélioration de la productivité dans Visual Studio 2017 RC

Par Kasey Uhlenhuth ; 2016

Si vous voulez être plus productif, vous devez enregistrer plus de temps ou davantage d’efforts sur les tâches à qu'effectuer tous les jours. Visual Studio 2017 RC améliore votre productivité avec des tâches automatisées et une navigation améliorée, ainsi que des commentaires immédiats sur la qualité et l’état de votre code.

Le travail de que Visual Studio a fait de refactorisations, génération de code, l’analyse du code, la navigation, tests et le débogage pour les développeurs .NET ont été rendues possibles par le projet « Roslyn », une entreprise de six ans pour remanier les compilateurs c# et Visual Basic. Visual Studio 2017 RC tire parti de l’investissement Visual Studio 2015 dans Roslyn pour développer de nouvelles fonctions sympas.

Lorsque les développeurs explorez un bogue, découvrir les implications d’une refactorisation ou d’utiliser pour une base de code inconnu de développant ma connaissance, elles s’appuient sur la précision et la facilité de navigation dans le code. Cette version offre une expérience de navigation améliorée : rechercher toutes les références, GoTo et mettre en retrait les Guides, pour vous aider de A vers B avec une plus grande confiance et distrait (même dans les grandes bases de code).

Auparavant, rechercher toutes les références serait découvrir toutes les utilisations d’un symbole et ensuite les résultats sous forme de liste simple, plate dans la fenêtre de résultats. Maintenant, en tant que Figure 1 présente, les références sont colorisés et organisées dans un affichage hiérarchique avec regroupement personnalisé, le tri, le filtrage et la recherche pour vous aider à rapidement chez vous sur la référence particulière que vous souhaitez, même lorsqu’il existe de nombreuses références dans la liste. En outre, vous pointez sur une référence affiche une info-bulle pour donner de prévoyance dans où vous allez être accédant au préalable en réalité il. Vous pouvez enregistrer ou vos résultats de rechercher toutes les références dans les situations « verrou » lorsque vous avez besoin exécuter la commande plusieurs fois, mais vos résultats d’origine à conserver (par exemple, après examen et explore l’impact d’une refactorisation).

Rechercher toutes les références améliorations incluent la colorisation, organisation personnalisé et des aperçus de pointage
Figure 1 les rechercher toutes les références améliorations incluent la colorisation, organisation personnalisé et des aperçus de pointage

Pour gagner du temps, Découvrez les raccourcis clavier pratiques indiqués dans Figure 2.

Figure 2 raccourcis clavier de Navigation générale

Go To Definition (Atteindre la définition) Aperçu de définition Rechercher toutes les références Accédez à la mise en œuvre Accédez à toutes les (fichier / / membre/symbole de Type)
F12 ALT + F12 Maj + F12 CTRL + F12 CTRL + T ou Ctrl +

 

Une autre fonctionnalité qui a subi une amélioration significative dans cette version est GoTo (anciennement naviguer vers). GoTo s’agit d’une recherche rapide et complete pour toute déclaration de fichier, type, membres ou symbole dans une solution. Icônes en bas de la barre de recherche permettent à filtrer les résultats par groupe ou ajuster l’étendue de la recherche, comme indiqué dans Figure 3. (Mais si vous préférez le clavier sur la souris, vous pouvez également tirer parti de la syntaxe de requête qui vous permet de filtrer en tapant un préfixe simple). L’icône d’engrenage dans le coin inférieur droit vous permet de personnaliser un certain nombre de paramètres, y compris l’emplacement de la recherche de la barre de menus Aperçu en direct des fichiers contenant le résultat mis en surbrillance et les informations supplémentaires pour chaque résultat.

Utilisez les icônes ou la syntaxe de requête pour filtrer les résultats par les fichiers, Types, membres ou des symboles
Figure 3 utilisation icônes ou syntaxe de requête pour filtrer les résultats par les fichiers, Types, membres ou des symboles

Enfin, vous pourriez rencontrer des repères de retrait de l’extension de puissants outils de productivité populaires. Maintenant, en tant que partie du produit de base, les lignes verticales en pointillé, gris servent de points d’intérêt dans le code pour fournir un contexte dans le cadre de la vue. Lorsque vous pointez sur une accolade bas, vous obtenez un aperçu couleur de début accolade de correspondance, et lorsque vous pointez sur le guide lui-même, vous obtenez un aperçu du code qui entoure et contenant l’accolade correspondante premières couleur. Ces fonctionnalités visent à vous donner une meilleure idée de votre code « géographie » et le contexte sans défilement ou de navigation. Guides de mise en retrait fonctionnent également bien avec les fonctionnalités de plan existantes dans Visual Studio et proposent même des zones plus extensible et réductible.

Vous pouvez également activer le « Mode plan » sur votre barre de défilement. Cela transforme la barre de défilement dans un « mappage » de votre code, ce qui vous permet d’afficher une version miniature de l’ensemble du document, y compris les erreurs, des points d’arrêt et ainsi de suite. Vous pointez sur une partie quelconque du « mappage » affiche un aperçu du code à ce stade dans le document.

Et, là encore, vous pouvez augmenter votre efficacité en apprenant les raccourcis clavier utiles illustrés Figure 4.

Figure 4 raccourcis clavier de GoTo

  Accédez à tous les Atteindre la ligne Accédez au fichier Accédez au Type Accédez au membre Accédez à un symbole
Raccourci CTRL + T ou Ctrl + Ctrl+G CTRL + 1, F CTRL + 1, T CTRL + 1, M CTRL + 1, S
Préfixe de la requête Aucun préfixe : f t m #

Écrire et lire des Code

Avec le volet de navigation, les développeurs consacrent beaucoup de temps à écrire et lire des code. Visual Studio 2017 RC se concentre sur ce qui facilite l’écriture de code correct, ainsi que la gestion de la lisibilité des bases de code développeur. S’appuyant sur les fonctionnalités de Visual Studio 2015, cette version fournit une expérience IntelliSense affinée, plus refactorisations et des correctifs de code et configuration du style de code personnalisables et l’application.

IntelliSense de Visual Studio vise à aider plutôt que d’empêcher les flux de travail d’écriture de code différents utilisés aujourd'hui. Un des moyens plus évidents que Visual Studio vous améliore la productivité est IntelliSense (voir Figure 5). Visual Studio 2017 RC met à jour l’expérience IntelliSense avec plusieurs améliorations : smart présélection, le filtrage et la prise en charge XAML.

IntelliSense maintenant a mise en surbrillance et le filtrage
Figure 5 IntelliSense maintenant a mise en surbrillance et le filtrage

Présélection Smart déterminera le « type de cible » nécessité à une position dans le code et présélectionne des éléments dans la liste de saisie semi-automatique IntelliSense correspondant à ce type. Cela accélère le flux de votre saisie et supprime le fardeau de devoir déterminer le type attendu à un emplacement donné. Filtrage IntelliSense vous permet de filtrer la liste de saisie semi-automatique par catégorie ; par exemple, vous pouvez filtrer les méthodes d’extension ou afficher uniquement les événements. Cette fonctionnalité augmente votre productivité lorsque vous travaillez dans une grande base de code où il existe plusieurs éléments dans la liste de saisie semi-automatique ou lors du traitement du code inconnu.

Enfin, cette version offre une expérience inédite pour XAML IntelliSense aider les développeurs à lier rapidement et correctement et afficher uniquement les informations associées. Inclut l’achèvement de cette expérience plus intelligente de saisie semi-automatique lors de la liaison des événements, des chemins d’accès et des fonctions avec x : Bind ; camelCase correspondant à la prise en charge (par exemple, « RTB » se termine en tant que « RichTextBox ») ; et la saisie semi-automatique de préfixe espace de noms.

L’analyse du code Visual Studio 2015 introduit la fonctionnalité d’analyse de code dynamique, ce qui permet des commentaires «-vous-type » dans votre code. Cela vous permet d’en savoir plus sur les problèmes au plus tôt, avant qu’ils créent, au lieu de cumul des problèmes vous pourrez jamais contourner à résoudre. Pour résoudre les erreurs identifiées dans l’analyse du code dynamique, vous utilisez le menu de l’ampoule ou le raccourci « Ctrl + ». code d’accès aux correctifs et refactorisations. Visual Studio 2017 RC prend une analyse dynamique et code résout d’aller plus loin en amplifier l’ensemble de correctifs refactorisations et code disponibles et en introduisant des analyseurs de style de code qui identifient les problèmes de style dans le code, dès qu’ils sont tapés.

Visual Studio 2015 inclus certaines refactorisations core : extraire la méthode ou l’interface, signature de méthode de modification, variable inline temporary, introduire une variable locale et supprimer les instructions using inutiles et les importations. Visual Studio 2017 RC développe l’ensemble des refactorisations et des correctifs pour vous aider à préserver la lisibilité du code de base et catalyze votre flux de travail de développement. Par exemple, un nombre important de développeurs initialement écrire toutes les classes, interfaces et autres types dans un seul fichier et ensuite extraire chaque type dans un fichier dont le nom correspond plus tard. Visual Studio 2017 RC accélère ce processus avec l’option de refactorisation « Type de déplacement vers le fichier de mise en correspondance ». Autres refactorisations que pourront continuer à inclure :

  • Nom de fichier et le type de synchronisation
  • Convertir en propriété (méthode)
  • Utiliser l’initialiseur d’objet
  • Convertir le contrôle null + lever pour utiliser ? + throw
  • Convertir en chaîne. Format de chaîne interpolée
  • Rendre la méthode synchrone
  • Ajouter des cas manquant
  • Ajouter des accolades

En outre, cette version introduit certains correctifs et l’analyse du code de base pour XAML. À l’aide du même mécanisme d’ampoule dans c# et Visual Basic, vous pouvez trier et supprimer les espaces de noms inutiles et ajouter des espaces de noms manquant dans vos fichiers XAML. 

Maintenir une cohérence, la lisibilité du code base est un véritable défi. Il existe de bonnes raisons d’atteindre à une base de code lisible : Si tout le code semble cohérent, il est plus facile à intégrer nouveaux développeurs ; et si tout le code semble cohérent, révisions du code peuvent se concentrer sur la logique, plutôt que sur les détails de mise en forme et de style. Visual Studio 2017 RC établit possible de configurer le style de code avec les règles de style intégrées et des conventions d’affectation de noms personnalisées.

Dans la version RC, vous accédez à outils | Options | Éditeur de texte | [C# / simple] | Style de code | Général pour afficher les règles de style configurables intégrées, notamment préférant var sur type explicite, prédéfini sur le type d’infrastructure, cela sur nothing. Chaque règle est fourni avec une description, une préférence configurables et un niveau de gravité configurable. Les différents niveaux de gravité fonctionne comme suit :

  • Erreur s’affiche dans l’éditeur en tant qu’une ligne ondulée rouge s’affiche dans la liste d’erreurs et échoue la build.
  • Avertissement s’affiche dans l’éditeur en tant qu’une ligne ondulée verte, apparaît dans la liste d’erreurs et est uniquement saut de la build si la configuration « traite avertissement en tant qu’erreurs » est activée.
  • Suggestion s’affiche dans l’éditeur de gris points, apparaît dans la liste d’erreurs et pas échouer la build (voir Figure 6).
  • None n’a aucun affichage dans l’éditeur, n’apparaît pas dans la liste d’erreurs et pas échouer la build.

Appliquer le Style de l’équipe et des Conventions d’affectation de noms dans l’éditeur afin d’avoir Live Diagnostics lorsque vous ne respectent pas les règles
Figure 6 appliquer le Style de l’équipe et des Conventions d’affectation de noms dans l’éditeur afin d’avoir Live Diagnostics lorsque vous ne respectent pas les règles

Étant donné que les préférences pour les styles d’affectation de noms peuvent varier dans la Communauté des développeurs .NET, vous pouvez créer vos propres conventions d’affectation de noms personnalisées à appliquer à votre équipe. Visual Studio 2017 RC fournit un ensemble de valeurs par défaut qui peut être configurée pour appliquer des conventions d’équipe, y compris que membres (à l’exception des champs) doivent être PascalCase, les types doivent être PascalCase, interfaces commencent par « I », et les méthodes asynchrone se terminent par « Async ». Vous pouvez configurer et ajouter ces valeurs par défaut en sélectionnant Outils | Options | Éditeur de texte | [C# / simple] | Style de code | Attribution de nom. Règles d’affectation de noms sont placés dans une grille de configuration comme les règles de style standard (Notez que la commande est important ici : la première règle correspondante de style est appliquée).

Pour ajouter une règle d’affectation de noms personnalisée, vous cliquez sur le signe plus vert bouton (« + ») en bas de la grille de règle pour ouvrir la boîte de dialogue de création de règle. Vous pouvez utiliser puis les spécifications par défaut (par exemple, « toutes les classes ») et les styles (tel que « utiliser préfixe _ ») pour créer une règle d’affectation de noms personnalisée. Si les spécifications intégrées et les styles ne sont pas suffisantes pour assembler votre convention d’affectation de noms souhaitée, vous pouvez écrire votre propre.

Vous pouvez également ajuster vos règles de style à partir de l’éditeur, appuyez sur « Ctrl +. » pour déclencher le menu de l’ampoule, sélectionnez la correction de la règle dans le menu puis en cliquant sur l’icône d’engrenage dans l’aperçu en direct de code.

Test du Code

Prise en charge des tests unitaires crée une tension intéressante entre la sélection de suffisamment de tests pour vous assurer de code est correct, tout en cours d’exécution des tests aussi peu que possible sans que vous ayez à attendre si longtemps des résultats de test. Ce compromis entre l’exactitude et l’heure a laissé souvent les développeurs sentez non productifs et frustré. Pour atténuer cette contrainte, Visual Studio 2017 RC introduit le test unitaire Live pour c# et Visual Basic (voir Figure 7).

Test d’unité dynamique fournit des commentaires instantanés sur si le Code est touché en passant, défectueux ou aucun des Tests
Figure 7 test d’unité dynamique fournit des commentaires instantanés sur si le Code est touché en passant, défectueux ou aucun des Tests

Le test unitaire direct analyse générées au moment de l’exécution pour exécuter les tests impactés uniquement après une modification de données et fournit des commentaires immédiats sur l’état des tests dans l’éditeur. Ces visualisations horizontales apparaissent sur une base ligne par ligne :

  • Si une ligne de code exécutable est atteint par le test qui a échoué au moins une, elle est décorée avec une croix rouge « x ».
  • Si une ligne de code exécutable est atteint par tous les tests concluants, elle est décorée avec une coche verte.
  • Si une ligne de code exécutable est atteint par aucun test, elle est décorée avec un tiret bleu.

Les informations de résultat test et de couverture du code dynamique fournie par supprime le test unitaire Live la charge de manuellement en sélectionnant et en cours d’exécution des tests. Les commentaires en direct permet également de vous avertir immédiatement si votre modification a été endommagé le programme — si visualisations horizontales passent de coches vertes à la croix (x) rouge, vous savez que vous un test s’est arrêtée. À tout moment, vous pouvez pointer sur la vérification ou de x pour voir quels tests sont en appuyant sur la ligne donnée. En outre, vous pouvez naviguer directement à ce test en cliquant dessus dans l’info-bulle hover.

Si vous faites partie d’une équipe qui traite le développement piloté par test, le test unitaire Live gamifies le flux de travail ; en d’autres termes, tous les tests sera en rouges et échoue sur tout d’abord et lorsque vous implémentez chaque méthode, vous voyez en vert si elles réussissent. Pour tous les autres développeurs, Live Unit Testing prévoit visuelle lorsqu’ils avez rompu leur code.

Débogage de Code

Lorsque tout le reste échoue, les développeurs s’appuient sur le débogage pour les aider à identifier la source d’un problème. Visual Studio 2017 RC pouvez gagner du temps en réduisant le nombre d’actions nécessaires pour parcourir un programme et explorez les informations sur les exceptions.

Exécuter pour, cliquez sur est exactement ce que cela semble ; Il exécute un programme jusqu'à ce que la ligne de code cible, s’arrête en mode débogage. Pour l’essentiel, il supprime la nécessité pour les développeurs à ajouter en permanence, atteindre et supprimer des points d’arrêt temporaires en combinant toutes ces actions sur un seul clic. Pour utiliser cette fonctionnalité, vous devez simplement appuyer sur l’icône verte « exécuter ici » qui apparaît à gauche de la ligne de code lorsque vous pointez dessus en mode débogage.

La principale amélioration de la productivité dans le débogueur est sans doute l’assistance de nouveau l’Exception. La nouvelle boîte de dialogue affiche les informations les plus importantes d’une exception à haut niveau, telles que les détails de l’exception interne et l’expression renvoie la valeur null, comme indiqué dans Figure 8. Visual Studio 2017 RC vous permet également d’interdire l’arrêt sur les types d’exceptions dans des cas spécifiques, ce qui vous permet d’ignorer les exceptions levées à partir des bibliothèques tierces ou certains fichiers .dll pendant le débogage.

L’assistance de nouveau l’Exception supprime la nécessité d’Explorer les listes déroulantes pour rechercher les informations et les Actions plus importantes
Figure 8 l’assistance de nouveau l’Exception supprime la nécessité d’Explorer les listes déroulantes pour rechercher les informations et les Actions plus importantes

Pour résumer

Visual Studio 2017 RC se concentre sur vous rendre plus productif en gagner du temps et efforts. Je suis ravi de pouvoir partager des améliorations de la navigation avec GoTo et rechercher toutes les références, les améliorations apportées à IntelliSense dans Visual c# / Visual Basic et XAML, une expansion de live analyse du code avec davantage de refactorisations et correctifs et l’ajout d’un style de code, de manière interactive de test avec des tests d’unités en direct et une expérience de débogage efficace avec l’assistance de nouveau l’exception. Je n’hésitez pas à vos commentaires et espérons que vous avez une expérience productive avec Visual Studio 2017 RC.


Kasey Uhlenhuth est responsable de programme dans l’équipe .NET et Visual Studio chez Microsoft et travaille actuellement sur la modernisation de l’expérience des développeurs c#. Auparavant, elle a travaillé sur Interactive c# et Node.js Tools pour Visual Studio. À l’adresse kaseyu@microsoft.com ou sur Twitter : @kuhlenhuth.

Merci aux experts techniques Microsoft suivants d'avoir relu cet article : David Carmona, Kevin Pilch-Bisson et Mark Wilson-Thomas
Kevin Pilch a travaillé sur les outils de développement chez Microsoft depuis près de 15 ans.  Pendant ce temps, il a travaillé sur l’expérience de c# et VB IDE, y compris des fonctionnalités telles qu’IntelliSense, mise en forme, refactorisation, la colorisation et bien plus encore. Plus récemment, il a été le responsable de l’équipe IDE pour le projet Roslyn de Microsoft. Il adore passer du temps avec ses enfants, la formation de marathons et « hockey » en lecture.  Ses faiblesses incluent des vins et au chocolat. Vous pouvez trouver Kevin sur Twitter @Pilchie.

Mark Wilson-Wilson est responsable de programme de l’équipe de l’IDE de Visual Studio, où il recherche une fois l’éditeur Visual Studio. Il a été impliqué dans les outils depuis 10 ans, y compris le travail sur tools for Office, SQL, WPF et Silverlight de développement. Vous pouvez le trouver sur Twitter @MarkPavWT.