Travailler avec Github Copilot

Comment une IA peut améliorer considérablement votre vitesse de codage

Attachez vos ceintures de sécurité

J'ai récemment été autorisé à utiliser Github Copilot avec mon compte Github privé et depuis lors, j'ai pu utiliser l'outil lors de ma programmation quotidienne. Dans cet article, je souhaite partager ma première expérience avec ce puissant assistant de code.

Ce que Github Copilot fait - et ce qui ne l'est pas

Github Copilot est exceptionnellement bon pour comprendre le contexte dans lequel vous travaillez actuellement et peut donc fournir des suggestions de complétion de code très précises. Cela signifie également que les développeurs s'appuieront de moins en moins sur des extraits de code prédéfinis, par exemple pour mettre en place rapidement une fonction asynchrone ou un composant React.js.

Github Copilot peut détecter le modèle que vous avez utilisé, par exemple en analysant un tableau de points de données ou une interface, et peut utiliser correctement ces informations lorsqu'il accède à ces données dans un appel de fonction, pour fournir un exemple simple.

L'outil ne code pas tout pour vous. Il comprend le contexte actuel et vos intentions, et est capable de fournir des suggestions de code très précises sur la base de ces informations.

Utilisations du monde réel dans mes projets de loisirs

Bon, assez d'informations de base ! Si vous souhaitez en savoir plus sur la mise en œuvre de Github Copilot, veuillez consulter les liens dans l'addendum à la fin de la page.

Le reste de cet article montrera mes expériences dans le monde réel avec Github Copilot. Dans l'ensemble, je peux conclure que c'est l'aide au codage la plus puissante que j'ai jamais vue. Étant donné qu'il ne s'agit que de la toute première version, il est encore plus impressionnant de voir comment Github Copilot comprend mes intentions et peut fournir les bonnes suggestions.

Javascript

Commençons par quelques complétions de code Javascript simple. Les suggestions déduisent correctement le contexte et comprennent mon intention d'écrire un nouvel itinéraire ou

Image 3a745b6b4325
Image 3a745b6b4325
Image 1b10f916ba56
Image 1b10f916ba56
Image fce20a54bd33
Image fce20a54bd33

React.js et crochets

Les captures d'écran suivantes montrent mes premières rencontres avec des suggestions pour les crochets de React, toutes elles sont d'une précision impressionnante. La première capture d'écran montre un gestionnaire d'onglets, qui n'a pas encore été implémenté dans le composant (le conteneur d'onglets lui-même a été implémenté).

L'autre capture d'écran a été prise dans le composant article et, comme vous pouvez le voir, elle suppose correctement que je souhaite également charger les traductions associées dans cette partie du code.

Image 2349c4814bb3
Image 2349c4814bb3
Image b0b4e779d117
Image b0b4e779d117

Les exemples suivants montrent comment Github Copilot déduit correctement d'autres parties lors du développement de composants React.js.

Image ee9960a38080
Image ee9960a38080
Image 8a25c744f100
Image 8a25c744f100
Image 811cfdc2ad44
Image 811cfdc2ad44
Image afa67dbd0151
Image afa67dbd0151

Suggestions pour le réducteur

L'expérience la plus impressionnante que j'ai eue a probablement été lorsque l'outil a fourni essentiellement un réducteur complet à utiliser avec useReducer.

Image 60c212ca3a8e
Image 60c212ca3a8e

Fichiers JSON pour les traductions

Les suggestions suivantes sont également très impressionnantes, car elles ne fournissent pas de complétion de code, mais des traductions correctes. Toutes les traductions sont définies sous chaque paramètre régional, et pour les fichiers allemands, Github Copilot a fourni des traductions en allemand pour les clés anglaises. Mind bending stuff!

Image 527d8f89f516
Image 527d8f89f516
Image 2862682d35a2
Image 2862682d35a2
Image e733d5a797ca
Image e733d5a797ca

Complétions CSS

Les suggestions pour les styles Tailwind.css sont également très bien. Les complétions de code fournies sont précises et sont correctement déduites du contexte.

Image 4835f6a1a839
Image 4835f6a1a839
Image 10bd8559f56a
Image 10bd8559f56a
Image 9d593d7bd6c9
Image 9d593d7bd6c9
Image fbfcc0b75a5c
Image fbfcc0b75a5c

Suivant.js

Au-delà de React.js, Github Copilot comprend également le contexte d'un projet Next.js et peut fournir des suggestions pertinentes, par exemple lors de l'écriture du code côté serveur pour les stratégies de génération de site statique.

Image db94b45feb59
Image db94b45feb59
Image 202c014c2cad
Image 202c014c2cad

Suggestions

Categories