Établi depuis longtemps comme une alternative à Java, Kotlin est largement utilisé dans les espaces Java, notamment le développement d'applications mobiles Android. Le lancement par JetBrains d’une extension de conversion Java vers Kotlin pour l'éditeur Visual Studio Code de Microsoft doit faciliter l'adoption de son langage de programmation Kotlin.
Les développeurs qui l'utilisent peuvent convertir des fichiers Java individuels en code Kotlin via une simple action du menu contextuel, si bien qu’ils ont très peu de manipulations à faire pour migrer des bases de code héritées ou changer de langage au milieu d'un projet. L'extension se sert du même moteur sous-jacent que celui utilisé dans les IDE JetBrains et elle s'appuie sur des LLM pour fournir des suggestions de conversion idiomatiques, offrant ainsi une migration Java vers Kotlin en un clic, avec révision avant validation, dans VS Code, selon JetBrains.
Une conversion fidèle
« La conversion est fiable et elle respecte les idiomes et les exigences syntaxiques de Kotlin », a affirmé Alina Dolgikh, chef de produit Kotlin chez JetBrains. « L'extension a été développée en partant du constat que de nombreux développeurs utilisent VS Code pour divers projets et tâches, même si l'IDE IntelliJ Idea de JetBrains reste le premier IDE pour Kotlin », a-t-elle ajouté.
L'extension de conversion Java vers Kotlin fournit les paramètres suivants à VS Code :
- j2k.provider : le backend LLM à utiliser pour la conversion Java vers Kotlin. Par défaut : GitHub Copilot.
- j2k.model : la balise de modèle à utiliser avec le fournisseur sélectionné. Par défaut : codellama:instruct.
- j2k.ollama.baseUrl : l’URL de base de l'instance cible, lorsque le fournisseur sélectionné est Ollama.
- j2k.openRouter.baseUrl: l’URL de base de l'instance cible, lorsque le fournisseur sélectionné est OpenRouter.
- j2k.apiKey : la clé API à utiliser avec le fournisseur sélectionné (stockée dans VS Code Secrets).
L'extension de conversion Java vers Kotlin est téléchargeable sur le Visual Studio Marketplace.