Tout savoir sur la complétion de code dans GoLand

Apprendre à exploiter l’EDI GoLand en programmation Go

Ekaterina Zharova

La complétion de code est l'un des principaux avantages offerts par l’utilisation d’un EDI : elle permet d'éviter les fautes de frappe et autres erreurs courantes et d’avoir beaucoup moins de chose à mémoriser. Elle est utile aux développeurs professionnels et expérimentés, pour les aider à produire un code propre plus rapidement, comme aux débutants, pour lesquels elle est un moyen d’apprentissage des langages de programmation.

Dans ce tutoriel nous vous présentons les nombreuses fonctionnalités de complétion de code disponibles dans GoLand et vous expliquons comment les utiliser efficacement.

Vous pouvez télécharger gratuitement GoLand sur le site officiel.

Un espace de discussion vous est proposé sur le forum. N’hésitez pas à apporter vos avis. Commentez

- Titre : Tout savoir sur la complétion de code dans GoLand

- Auteur : Ekaterina Zharova

- Parution : 4 juillet 2019

- Public visé :

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2019 Ekaterina Zharova. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Complétion en fonction du type

- II. Basic Code Completion

- II-A. Comment l’utiliser

- III. Smart Code Completion

- III-A. Comment l’utiliser

- IV. Cyclic Expand Word ou Complétion Hippie

- IV-A. Comment l’utiliser

- V. Complétion de type méthode pour les fonctions

- V-A. Comment l’utiliser

- VI. Postfix Completion

- VI-A. Comment l’utiliser

- VII. Live Templates

- VII-A. Comment l’utiliser

- VIII. Complete Current Statement

- VIII-A. Comment l’utiliser

- VIII-B. Complétion avec correspondance partielle

- VIII-C. Comment l’utiliser

- IX. Fenêtre contextuelle « Parameter Info »

- IX-A. Comment l’utiliser

- X. Complétion pour les modules Go non importés

- X-A. Comment l’utiliser

- XI. Complétion du code dans Evaluate Expressions et Watches

- XI-A. Comment l’utiliser

- XII. Complétion du code dans Run Configurations

- XIII. Complétion avec la touche Tab

- XIV. Complétion de code dans les injections de langage

- XIV-A. Comment l’utiliser

- XV. Exclure des imports et complétion

- XVI. Remerciements Developpez.com

I - Complétion en fonction du type

GoLand propose deux types de complétion en fonction du type: la complétion de code intelligente et la complétion de code basique, et leur mode de fonctionnement est l'un des nombreux éléments qui différencient GoLand des autres EDI et éditeurs de code.

II - Basic Code Completion

Cette complétion fournit une liste de tous les symboles disponibles à la position actuelle du curseur. La liste comprendra le mix habituel de type, interface et noms des méthodes, ainsi que des mots-clés, et Live Templates. Les symboles des packages non encore importés sont également proposés, avec import automatique à la volée lorsque vous les sélectionnez.

II-A - Comment l’utiliser

Elle apparaît lorsque vous commencez à saisir du code et GoLand reconnaît lorsque vous avez une opportunité de compléter quelque chose, ce que vous pouvez aussi provoquer vous-même en appuyant sur⌃Espace sous macOS ou Ctrl+Espace sous Windows/Linux.

Astuce: la complétion de code basique est aussi disponible pour les symboles for non anglais.

III - Smart Code Completion

C’est la reine des fonctionnalités de complétion de code dans GoLand et voici pourquoi : elle vous fournit une liste des symboles les plus pertinents qui sont applicables dans le context actuel.

III-A - Comment l’utiliser

Appuyer sur ^⇧Espace sous macOS ou Ctrl+Shift+Espace sous Windows/Linux.

IV - Cyclic Expand Word ou Complétion Hippie

Ce type de complétion de code analyse votre code dans le champ visible, vous aide à compléter n’importe quel mot dans tout fichier ouvert et vous fait des suggestions en fonction du context actuel, ce qui vous permet de gagner un temps considérable, notamment lorsque vous travaillez sur du code standard fréquemment usité.

IV-A - Comment l’utiliser

- Appuyez sur ⌥/ sous macOS ou Alt+/ sous Windows/Linux pour faire une recherche des mots correspondants avant le curseur ou choisissez Code | Completion | Cyclic Expand Word.

- Appuyer sur ⌥⇧/ sous macOS ou Shift+Alt+/ sous Windows/Linux pour rechercher des mots après le curseur ou choisissez Code | Completion | Cyclic Expand Word (Backward).

Astuce de pro : appuyez sur la touche Alt jusqu’à l’obtention du mot dont vous avez besoin.

V - Complétion de type méthode pour les fonctions

Imaginons que vous soyez un tout nouvel utilisateur de Go et que vous souhaitiez fractionner une chaîne. Vous supposez qu’iI doit exister une fonction pour cela, probablement appelée « Split » (Fractionner) et acceptant une chaîne comme premier argument, mais vous ne connaissez pas le nom exact de cette fonction ni de son package. C’est dans ce genre de situation que la complétion de type méthode est utile, en vous proposant une liste de toutes les fonctions pertinentes et en l’important automatiquement sur la sélection.

V-A - Comment l’utiliser

Maintenez la touche Ctrl enfoncée et appuyez deux fois sur Espace.

VI - Postfix Completion

Elle vous permet de transformer une expression en une autre, en fonction du postfix que vous spécifiez après le point, du contexte actuel et du type d'expression. Par exemple, vous pouvez transformer une expression bool en une instruction if ou créer un pointeur sur une expression. Si les choses ne se passement pas comme vous le souhaitez, vous pouvez toujours revenir en arrière avec un simple Ctrl+Z.

Au moment où j’écris cet article, GoLand ne dispose pas de modèles de Complétion Postfix personnalisés. Si vous souhaitez que cela soit ajouté, vous pouvez le demander simplement en votant via notre outil de suivi des tickets : GO-5382.

Astuces de pro :

- Les options de la Complétion Postfix sont présentées dans la liste des suggestions de la Complétion Basique. Appuyez sur ⌘J sous macOS ou Ctrl+J sous Windows/Linux pour voir la liste complète des modèles de Complétion Postfix applicables dans le context actuel.

- Vous pouvez changer les noms de toutes les Complétions Postfix dans la boîte de dialogue paramètres.

- Dans la même boîte de dialogue, vous pouvez aussi désactiver les modèles dont vous n’avez pas besoin, voire totalement fermer la Complétion Postfix.

VI-A - Comment l’utiliser

Ouvrez la page Postfix Completion via Settings | Preferences | Editor | General pour voir la liste complète des modèles pris en charge. Apprenez, testez et bien sûr amusez-vous !

VII - Live Templates

Les Live Templates permettent de réduire le temps que vous passez à écrire des parties de code fréquemment utilisées, telles que les déclarations de variables et de boucles, ou les fonctions de test.

Bien sûr, vous pouvez modifier, renommer, désactiver ou supprimer l’un des Live Templates prédéfinis, mais qu’en est-il de l’ajout de vos propres templates ? Sujet intéressant, que nous aborderons dans de prochains articles sur les fonctionnalités de GoLand.

VII-A - Comment l’utiliser

Ouvrez la page Live Templates dans Settings | Preferences | Editor | pour voir la liste complète des modèles déjà pris en charge. Apprenez, testez et amusez-vous encore !

VIII - Complete Current Statement

GoLand peut effectuer des instructions et ajouter les virgules de fin requises pour tous les littéraux composites (tels que struct, slice, etc.), et même placer le curseur dans une position permettant de commencer à taper l'instruction suivante.

VIII-A - Comment l’utiliser

Pour réaliser cette action, appuyez sur ⌘⇧↩ sur Mac ou Ctrl + Maj + Entrée sous Windows / Linux.

VIII-B - Complétion avec correspondance partielle

GoLand fournit des suggestions de complétion lorsque dès que vous commencez à saisir une partie d'un mot (toute partie, même des caractères quelque part au milieu d’un mot).

De plus, la complétion non sensibles à la casse CamelHump casse est prise en charge. Vous pouvez donc taper les majuscules suivies de plusieurs caractères. Par exemple, tapez ReWrCl pour obtenir io.ReadWriteCloser.

VIII-C - Comment l’utiliser

Cela fonctionne automatiquement, vous n’avez rien à faire.

IX - Fenêtre contextuelle « Parameter Info »

La fenêtre contextuelle « Parameter Info » (Informations sur les paramètres) affiche les paramètres de méthodes et de fonction disponibles.

IX-A - Comment l’utiliser

La fenêtre contextuelle apparaît automatiquement environ une seconde après que vous ayez saisi un crochet d’ouverture après le nom de la méthode, ou vous pouvez appuyer sur ⌘P sous macOS ou Ctrl + P sous Windows / Linux à tout moment pour l’appeler.

Conseil de pro : vous pouvez régler le délai de la fenêtre contextuelle via Preferences  | Settings | Editor | General | Code Completion.

X - Complétion pour les modules Go non importés

GoLand fournit des suggestions de complétion de code pour tous les modules dans le cache des modules au fur et à mesure de la saisie. Cela signifie que même si un module n'a jamais été importé ni utilisé dans votre projet, GoLand en connaissance et veille sur vous.

X-A - Comment l’utiliser

La complétion fonctionnera automatiquement lorsque vous commencerez à saisir un nom de package.

XI - Complétion du code dans Evaluate Expressions et Watches

Vous avez bien lu, le débogueur dispose aussi de la complétion de code ! GoLand fournit une liste de suggestions lorsque vous évaluez l'état de votre application lors d’une session de débogage.

XI-A - Comment l’utiliser

Lorsque vous commencez votre saisie dans les boîtes de dialogue Evaluate Expression ou Watchers, la complétion de code apparaît immédiatement.

XII - Complétion du code dans Run Configurations

Lorsque vous modifiez Run/Debug Configurations, la complétion de code apparaît automatiquement pour vous aider, par exemple, saisir un nom de package.

XIII - Complétion avec la touche Tab

La complétion avec Tab est une fonctionnalité simple mais pratique, qui facilite la complétion des noms de symboles. Si elle est utilisée à la place de Enter pour accepter une suggestion de la liste, elle remplace l'identificateur situé au niveau du curseur.

XIV - Complétion de code dans les injections de langage

GoLand fournit la complétion et l'analyse de code dans les chaînes injectées pour C, SQL et déclarations de bases de données, JavaScript, CSS, HTML, XML, RegExp, etc.

XIV-A - Comment l’utiliser

Placez le curseur dans le littéral (entre les guillemets) et appuyez sur ⌥⏎ sous macOS ou Alt+Enter sous Windows/Linux, sélectionnez Inject language or reference, choisissez le langage d'injection pris en charge que vous souhaitez utiliser et commencez à taper, la complétion apparaîtra instantanément.

XV - Exclure des imports et complétion

Dans Settings/Preferences | Go | Imports, vous pouvez ajouter autant d’instructions d'importation que vous le souhaitez, qui seront exclues de la complétion du code et de l'importation automatique.

C'est tout pour aujourd'hui ! N’hésitez pas à partager vos avis, demandes de fonctionnalités, ou tout problème que vous rencontrez, via notre notre outil de suivi des incidents, dans les commentaires ci-dessous ou dans un tweet.

XVI - Remerciements Developpez.com

Developpez.com remercie JetBrains et Ekaterina Zharova pour l’autorisation de publication de ce tutoriel, initialement publié sur le blog officiel de JetBrains. Tous nos remerciements aussi à Laethy pour la mise au gabarit et TODO pour la relecture orthographique.