
basée sur un modèle de machine learning
L'autocomplétion est une fonctionnalité informatique permettant à l'utilisateur de limiter la quantité d'informations qu'il saisit avec son clavier, en se voyant proposer un complément qui pourrait convenir à la chaîne de caractères qu'il a commencé à taper. La complétion est disponible dans les où il est possible de prévoir le prochain mot qui sera saisi, en se basant par exemple sur les mots déjà saisis, ailleurs dans le fichier en cours d'édition ou lors d'éditions précédentes ; ou encore sur une ou plusieurs listes de mots ou sur des dictionnaires préétablis.
C'est une fonctionnalité que possèdent de nombreux logiciels, et en particulier les éditeurs de texte prévus pour l'édition de code source. Sous Visual Studio et VS Code de Microsoft, cette fonctionnalité est implémentée par IntelliSense. Et elle fait sans doute partie des fonctionnalités préférées des utilisateurs de ces EDI étant donné qu'elle rend l'écriture de code plus rapide et moins sujette aux erreurs. Microsoft estime toutefois qu'IntelliSense peut rendre les développeurs encore plus productifs si la fonctionnalité est encore plus intelligente et plus précise. Pour cela, le géant du logiciel mise sur l'intelligence artificielle avec une nouvelle fonctionnalité appelée « IntelliCode ».
Dévoilée lors de la première journée de la conférence Build de Microsoft dédiée aux développeurs, IntelliCode est actuellement disponible en tant que fonctionnalité expérimentale sous forme d'extension Visual Studio. Pour l'instant, cette fonctionnalité est uniquement disponible pour C# dans Visual Studio 2017. Mais Microsoft prévoit également d'étendre son support à d'autres langages et outils de la famille Visual Studio, donc également Visual Studio Code.
Concrètement, IntelliCode fonctionne en tirant parti de sa compréhension du contexte du code sur lequel vous travaillez. Grâce à un modèle d'apprentissage automatique, l'outil peut en effet comprendre ce que vous essayez de réaliser pour ensuite faire les bonnes suggestions basées sur le contexte et les modèles (patterns) de votre propre code.
« IntelliCode génère des recommandations en utilisant un modèle d'apprentissage automatique qui exploite des milliers de bases de code publiques. Aujourd'hui, il utilise plus de 2000 dépôts GitHub qui ont chacun plus de 100 étoiles pour vous garantir les meilleures pratiques », explique Microsoft dans un billet de blog. « Le modèle est utilisé dans votre IDE avec votre contexte de code local pour fournir les API .NET qui sont susceptibles d'être les plus pertinentes pour vous compte tenu de la ligne de code que vous écrivez. »

D'après Microsoft, IntelliCode, encore désigné par « IntelliSense assisté par IA », améliore le processus de développement logiciel en fournissant des compléments de code contextuels, en guidant les développeurs pour les aider à respecter les modèles et les styles de leur équipe et en trouvant, dans le code, des problèmes difficiles à détecter.
Mais qu'en est-il de la vie privée ? IntelliCode envoie-t-il le code des utilisateurs sur le cloud de Microsoft ? Quelles sont les données client envoyées à Microsoft ? Voici des questions que l'on pourrait se poser dès lors qu'on parle d'un système basé sur l'intelligence artificielle. En guise de réponse, Microsoft assure ne collecter que des « données anonymisées sur l'utilisation et les rapports d'erreurs de l'extension pour aider à améliorer le produit ». « Aucun code défini par l'utilisateur n'est envoyé à Microsoft, mais nous collectons des informations sur votre utilisation des résultats IntelliCode », indique la firme de Redmond dans une FAQ sur IntelliCode. Elle précise également que les développeurs peuvent désactiver la collecte de données par Visual Studio, ce qui désactive également la collecte de données par l'extension IntelliCode.
Cela dit, l'extension est disponible en téléchargement sur le Visual Studio Marketplace. Les développeurs sont invités à la tester et faire des retours afin de l'améliorer, surtout qu'elle est encore en phase expérimentale.

Sources : Blog Visual Studio, FAQ IntelliCode
Et vous ?

Voir aussi :





Vous avez lu gratuitement 3 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer à vous proposer des publications.