Laboratoires copilotes Github

Une extension expérimentale pour améliorer Github Copilot

Un copilote Github plus puissant

Améliorez votre expérience de codage avec Github Copilot Labs et son ensemble de fonctions prédéfinies en un clic, appelées "Brushes". Github Copilot vous permet de traduire rapidement votre code d'un langage de programmation vers un autre. Il peut également documenter et expliquer automatiquement votre code ainsi que rechercher et corriger les bogues.

Comment utiliser Github Copilot Labs

Pour que Github Copilot Labs fonctionne, vous devez répondre aux exigences suivantes.

  • un abonnement Github Copilot actif
  • Code VS

Github Copilot Labs étant une extension VS Code, il vous suffit ensuite de l'installer (lien également dans l'addendum).

Image e2ad1fec4d4a

Image 2e1994de53fb

Caractéristiques

Comme son nom l'indique, Github Copilot Labs est une fonctionnalité expérimentale pour augmenter Github Copilot. Il offre beaucoup de nouvelles fonctionnalités, mais il est également loin d'être prêt pour une utilisation en production. Certaines fonctionnalités fonctionnent mieux que d'autres, mais au moment de l'écriture, la qualité est aléatoire.

Fonctionnalité : explication du code

Marquez simplement l'un de vos codes et demandez une explication du code. Expliquer le code peut être particulièrement utile pour les développeurs qui découvrent une base de code ou qui travaillent avec du code inconnu. Cela peut également être utile pour les développeurs expérimentés qui souhaitent comprendre la logique et le raisonnement derrière certains choix de code. Il peut fournir un résumé de haut niveau de ce que fait le code, en le décomposant en petits morceaux et en expliquant chaque élément en langage clair. Il peut également fournir des explications plus détaillées sur des lignes ou des blocs de code spécifiques, expliquant la fonction et le but de chaque élément.

Image b985d74b8bbb

Image afcb7f4445c5

Fonctionnalité : traduire dans un autre langage de programmation

GitHub Copilot Labs peut aider les développeurs de différentes manières, notamment en leur permettant de traduire du code d'un langage de programmation à un autre.

Cette fonctionnalité peut être particulièrement utile pour les développeurs qui travaillent avec du code écrit dans un langage qu'ils ne connaissent pas. Cela peut également être utile pour les développeurs qui ont besoin de transférer du code d'un langage à un autre pour un projet ou une application spécifique.

Cela a très bien fonctionné pour les petites fonctions, mais vous ne devriez pas encore faire confiance au système avec de gros morceaux de code assez complexes.

Image 5ad27f2c7a1b

Fonctionnalité : documentation du code

La documentation du code est un aspect important du développement logiciel, car elle aide à expliquer le but et la fonctionnalité du code aux autres développeurs, ainsi qu'aux futurs développeurs qui pourraient avoir besoin de travailler avec la base de code. Une bonne documentation du code peut faciliter la compréhension et la maintenance du code par les autres, et peut également servir de référence aux développeurs qui pourraient avoir besoin d'apporter des modifications ou des ajouts au code à l'avenir.

Github Copilot Labs propose une fonctionnalité de documentation de code qui permet aux développeurs de documenter facilement des lignes de code sélectionnées dans leur référentiel. Cela peut être fait directement à partir de l'éditeur de "pinceaux", avec la commodité supplémentaire de pouvoir voir la documentation à côté du code lui-même.

Pour utiliser la fonctionnalité de documentation du code dans Github Copilot Labs, sélectionnez simplement les lignes de code que vous souhaitez documenter et cliquez sur le bouton "Documenter". Cela générera des commentaires de code au-dessus des lignes sélectionnées.

Je l'ai testé avec du code TypeScript, et cela n'a pas vraiment fonctionné du tout. Non seulement la documentation a été écrite sous forme de commentaires de code (au lieu de JSDoc), mais certaines parties de la fonction ont également été copiées. Cela signifie que j'ai dû nettoyer le code après avoir utilisé le pinceau. La documentation elle-même était correcte.

Image 757e7ff37c76

Fonctionnalité : nettoyer le code

Le maintien d'un code propre et organisé est un aspect important du développement logiciel, car il peut aider à améliorer la lisibilité et la maintenabilité de la base de code. Cependant, à mesure qu'une base de code se développe et évolue, il peut être facile pour le code de devenir encombré et difficile à comprendre.
Github Copilot Labs propose une fonctionnalité qui permet aux développeurs de nettoyer facilement leur code et de le rendre plus organisé et lisible.

Image 2ada9b442c42

Image 5c8cc6ebf423

La fonctionnalité "Clean" permet aux développeurs de simplifier leur code sans changer sa sémantique, en appliquant automatiquement un ensemble de règles de formatage et de style de code.

Pour utiliser la fonctionnalité, sélectionnez simplement les lignes de code que vous souhaitez nettoyer et cliquez sur le bouton "Nettoyer". Github Copilot Labs tentera alors de simplifier votre code. Cela a bien fonctionné lors de mes tests.

La fonctionnalité "Clean Up Code" peut être un outil précieux pour les développeurs qui souhaitent rendre leur code plus facile à lire et à comprendre, sans avoir à le reformater manuellement eux-mêmes. Cela peut également vous aider à améliorer vos compétences en matière de code, car l'extension peut générer un code plus simple auquel vous n'avez pas pensé.

Fonctionnalité : correction de bogues

Cela a également bien fonctionné dans mes tests simples. J'ai défini une réaffectation invalide d'une variable, et Github Copilot Labs a changé le code et défini la variable comme modifiable.

Ce résultat est discutable, bien sûr. D'une part, le bug était "corrigé", en ce sens que la réaffectation invalide ne se produisait plus.

Mais que se passe-t-il si la valeur doit en fait être immuable ? Dans ce cas, la réaffectation en premier lieu était erronée.

Il semble que l'extension essaie de conserver autant de code que possible. Cette fonctionnalité n'est certainement pas prête pour une utilisation réelle au moment de la rédaction. Il va s'améliorer dans les mois et les années à venir. Mais pour l'instant, vous devriez le considérer comme une expérience pour voir à quoi pourrait ressembler l'avenir.

Image 4b40451adf91

Image 5d95fbe15dbc