Passer au contenu du pied de page
Iron Academy Logo
Outils et productivité C#

Créer des extraits de code en C# - Personnaliser Visual Studio pour plus d'efficacité

Tim Corey
48m 46s

Pour les développeurs travaillant avec C#, la répétition est une réalité. De l'écriture de propriétés à la configuration de méthodes de console et à la capture d'exceptions, certaines tâches peuvent être rationalisées. C'est là qu'interviennent les extraits de code, petits morceaux de code puissants et réutilisables que vous pouvez rapidement insérer dans votre projet à l'aide d'un simple raccourci.

Dans cet article, nous allons explorer comment créer et utiliser des extraits de code personnalisés dans Visual Studio, guidés par le formateur expert en C# Tim Corey. Dans sa vidéo intitulée "Création d'extraits de code en C# - Personnaliser Visual Studio pour plus d'efficacité", Tim propose des étapes pratiques, des commentaires et des exemples que vous pouvez appliquer directement à vos propres projets. À la fin du cours, vous serez équipé pour améliorer votre productivité, écrire un code plus lisible et mettre en œuvre les meilleures pratiques dans le cadre de votre travail de développement.

Pourquoi les extraits de code sont importants

Tim commence par expliquer comment il utilise fréquemment des extraits pour insérer des éléments tels que des propriétés automatiques, des constructeurs et des boucles foreach. Il montre comment taper cw et appuyer deux fois sur la touche Tab insère Console.WriteLine(), en plaçant le curseur entre les parenthèses - une astuce essentielle pour la sortie du contenu d'une chaîne de caractères.

Mais comme il le souligne, toutes les méthodes utiles ne disposent pas d'un extrait intégré. Par exemple, il manque un élément à Console.ReadLine(). La réponse de Tim ? Créez votre propre traduction.

Mise en place d'un projet de démonstration dans Visual Studio

Pour faire une démonstration en contexte, Tim met en place une application web ASP.NET Core dans Visual Studio. Bien que le type de projet ne soit pas essentiel, le fait de disposer de fichiers C# et HTML lui permet de montrer des exemples dans les deux langues.

Rappelons que les snippets ne se limitent pas à C# : ils peuvent s'appliquer à de nombreux langages pris en charge par Visual Studio, notamment HTML, XAML, etc.

Les snippets intégrés et la puissance des raccourcis

Tim fait une démonstration de quelques extraits existants :

  • cw + Tab Tab → Console.WriteLine()

  • ctor + Tab Tab → Constructeur

  • prop + Tab Tab → Propriété auto-implémentée (par exemple, public string Test { get ; set; })

  • propfull → Crée une propriété avec un champ d'appui

Ces raccourcis sont conçus pour éliminer les répétitions et augmenter les performances. Il suffit de spécifier un type comme string ou int, un nom, et de laisser le reste se générer automatiquement.

Ces extraits intégrés peuvent également démontrer l'interpolation, les modificateurs d'accès tels que public et les éléments définis par le système, garantissant ainsi que votre code suit une structure cohérente.

Création de votre propre extrait dans VS Code

Au lieu d'utiliser un générateur de snippets, Tim opte pour Visual Studio Code en raison de sa simplicité et de la mise en évidence de la syntaxe XML.

Il crée un fichier nommé readline.snippet et montre la structure XML essentielle :

<CodeSnippets>
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Console.ReadLine</Title>
      <Shortcut>cr</Shortcut>
      <Description>Creates Console.ReadLine()</Description>
      <Author>Tim Corey</Author>
    </Header>
    <Snippet>
      <Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
<CodeSnippets>
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Console.ReadLine</Title>
      <Shortcut>cr</Shortcut>
      <Description>Creates Console.ReadLine()</Description>
      <Author>Tim Corey</Author>
    </Header>
    <Snippet>
      <Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Il s'agit d'un extrait de base, utilisant <!-- [CDATA\N-[\N]\N]> pour envelopper le code C# brut. Le raccourci cr déclenche désormais l'insertion de la méthode Console.ReadLine() en appuyant deux fois sur la touche Tab.

Tim souligne que le formatage est hérité de l'environnement Visual Studio de l'utilisateur, ce qui signifie que l'indentation et l'espacement correspondront à vos paramètres.

Importer des snippets dans Visual Studio

Tim explique comment importer un fichier .snippet à l'aide de Tools > Code Snippet Manager. Il sélectionne l'emplacement de My Code Snippets, s'assurant ainsi que l'extrait apparaît lorsque nécessaire.

Une fois importée, la frappe de cr + Tab Tab insère la ligne Console.ReadLine(), prête à assigner sa valeur à une variable ou à l'utiliser dans un bloc de gestion des exceptions.

En-têtes de documentation réutilisables

Ensuite, Tim présente un extrait de documentation, un besoin fréquent dans les projets d'entreprise ou les équipes collaboratives. Il crée un extrait avec le raccourci docme qui génère un bloc de commentaires :

/// Title:
/// Author:
/// Date:
/// Purpose:
/// Title:
/// Author:
/// Date:
/// Purpose:

Cette traduction est idéale pour le suivi des modifications, la paternité et le contexte des fichiers. Alors que des outils comme Git gèrent les versions, les en-têtes offrent des références visuelles rapides, en particulier dans les grandes équipes.

HHTML Snippets : Exemple de formulaire Bootstrap

Les snippets ne sont pas réservés au code C#. Tim montre comment les utiliser en HTML, ce qui est parfait pour créer des formulaires, des éléments de saisie et des collections de balises structurées.

Il copie un exemple de formulaire Bootstrap et l'incorpore dans le même format d'extrait XML, en changeant le langage en html. Après l'importation, la saisie du raccourci sampleform insère une structure HTML prête à l'emploi, ce qui vous évite de faire référence à plusieurs reprises à des URL externes ou de copier des modèles passe-partout.

Extrait avancé avec placeholders et variables

C'est ici que les choses deviennent plus avancées et plus puissantes. Tim construit un extrait qui récupère une valeur de configuration :

_config.GetValue<string>("values:myTest");
_config.GetValue<string>("values:myTest");

Il montre comment utiliser des caractères de remplacement pour le type (string, int, bool) et le chemin (values:myTest) afin que le développeur n'ait qu'à compléter ce qui est différent.

Dans le XML, il utilise :

<Declarations>
  <Literal>
    <id>ValType</id>
    <Default>string</Default>
    <ToolTip>Data type of the value</ToolTip>
  </Literal>
  <Literal>
    <id>Path</id>
    <Default>values:myTest</Default>
    <ToolTip>Config path</ToolTip>
  </Literal>
</Declarations>
<Declarations>
  <Literal>
    <id>ValType</id>
    <Default>string</Default>
    <ToolTip>Data type of the value</ToolTip>
  </Literal>
  <Literal>
    <id>Path</id>
    <Default>values:myTest</Default>
    <ToolTip>Config path</ToolTip>
  </Literal>
</Declarations>

Dans le corps de l'extrait :

_config.GetValue<$ValType$>("$Path$")
_config.GetValue<$ValType$>("$Path$")

L'utilisation de variables et de déclarations permet de générer un code flexible, expressif et concis. Il est idéal pour des tâches telles que la récupération de paramètres de sécurité, l'accès au dictionnaire ou la lecture de valeurs imbriquées dans des fichiers JSON.

Pourquoi les snippets améliorent les performances

Tim conclut en expliquant que les snippets ne sont pas seulement une question de rapidité : ils favorisent des pratiques cohérentes, réduisent les erreurs et améliorent la lisibilité du code au sein de l'équipe. Au fil du temps, le gain de quelques secondes par extrait peut se traduire par des heures économisées.

Il souligne que les snippets aident à :

  • Initialisation des tâches courantes

  • Gestion standardisée des exceptions avec try-catch-finally

  • Création de modèles de classes entières

  • Travailler avec des blocs finally, des blocs catch structurés et des méthodes overrides

Réflexions finales : Un avantage pour les développeurs

Que vous construisiez des systèmes complexes ou des applications simples, les extraits de code peuvent vous aider à écrire du code C ou du code C# plus rapidement et de manière plus cohérente. Ils vous permettent de :

  • Éliminer les répétitions

  • Se concentrer sur la logique d'entreprise

  • Maintenir une base de code propre, interpolée et bien documentée

Comme le suggère Tim dans sa vidéo complète, explorez vos propres habitudes de codage. Découvrez où vous tapez toujours la même chose. Ensuite, choisissez une approche : créez un extrait.

Vous vous rendrez vite compte que vous avez transformé votre flux de travail, rendant le développement plus efficace, plus organisé et plus agréable.

Idées d'extraits rapides pour commencer

  • tryfinally - Générer des blocs try + finally

  • logerror - Insérer une logique de journalisation avec Log.Error()

  • propnotify - Propriété avec INotifyPropertyChanged

  • filecheck - If File.Exists(path) avec logique inline

  • foreachdict - Boucle dans un Dictionnaire<TKey, TValue>

Le conseil de Tim : <Ne vous contentez pas de copier-coller à partir d'un autre fichier, faites-en un extrait et ne le retapez plus jamais.

Hero Worlddot related to Créer des extraits de code en C# - Personnaliser Visual Studio pour plus d'efficacité
Hero Affiliate related to Créer des extraits de code en C# - Personnaliser Visual Studio pour plus d'efficacité

Gagnez plus en partageant ce que vous aimez

Vous créez du contenu pour les développeurs travaillant avec .NET, C#, Java, Python ou Node.js ? Transformez votre expertise en revenu supplémentaire !

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi