Développer Go avec VSCode

Visual Studio Code (VS Code) est un éditeur de code gratuit et open source développé par Microsoft qui prend en charge plusieurs langages de programmation et offre des fonctionnalités telles que la coloration syntaxique, la complétion intelligente de code, la refactorisation de code et le débogage.

Avec l'extension Go officielle pour Visual Studio Code, vous bénéficiez d'un ensemble de fonctionnalités pratiques pour le développement de projets Go, notamment IntelliSense, la navigation dans le code, la recherche de symboles, les tests unitaires et le débogage de programmes.

Si vous ne connaissez pas VS Code ou ne l'avez pas encore installé, vous pouvez consulter :Tutoriel VSCode。

Installer le plugin Go

Ouvrez la place de marché des extensions VS Code et recherchez :Extension Go pour VS Code。

Dans l'éditeur, cliquez sur Extensions à gauche, recherchez Go, puis installez le plugin officiel :

Après l'installation, nous pouvons commencer à écrire du code Go en saisissantfmt.Essayez la fonctionnalité IntelliSense :


IntelliSense

IntelliSense est fourni par le serveur de langage gopls maintenu par l'équipe Go officielle. Son comportement peut être personnalisé via les options de configuration de gopls.

1. Coloration sémantique

VS Code utilise par défaut la coloration syntaxique basée sur la grammaire TextMate ; pour activer une meilleure coloration sémantique, activez-la dans les paramètres.ui.semanticTokens:

"gopls": { "ui.semanticTokens": true }

2. Autocomplétion de code

Lors de l'édition de code source Go, l'extension fournit des suggestions d'autocomplétion de code en temps réel, prenant en charge les suggestions de membres du package actuel, des packages importés et des packages pas encore importés ; tapez "nom du package + ." pour invoquer les indications de méthode/constante dans ce package.

Raccourcis :Ctrl+空格(⌃Space)Invoquer manuellement la fenêtre contextuelle de complétion

3. Info-bulle de documentation au survol

Survolez des variables, fonctions ou structures pour voir une fenêtre contextuelle avec des détails tels que les commentaires de documentation et les signatures de fonctions.

4. Indications de paramètres de fonction

Tapez la parenthèse ouvrante de la fonction(La signature des paramètres s'affiche automatiquement lors de l'appel d'une fonction ; lors de la saisie des arguments, le soulignement suit pour basculer vers le paramètre en cours de saisie ;

Raccourcis :Shift+Cmd+空格(⇧⌘Space)Déclencher manuellement les indications de paramètres lorsque le curseur se trouve entre parenthèses.

Navigation dans le code

Le menu contextuel de l'éditeur (clic droit) inclut un ensemble complet de fonctionnalités de navigation dans le code :

  • F12 Atteindre la définition: Accéder à la définition source du type/de la variable
  • Atteindre la définition du type : localiser le code source du type sous-jacent d'une variable.
  • Alt+F12 (⌥F12) Aperçu de la définition: Afficher un aperçu contextuel du code source sans changer de fichier
  • Shift+F12 (⇧F12) Rechercher toutes les références: Lister tous les emplacements de référence du symbole actuel
  • Shift+Alt+H(⇧⌥H) Hiérarchie des appels: Afficher la chaîne des appelants et des appelés pour une fonction.
  • Cmd+F12 (⌘F12) Afficher les implémentations: Pour une interface, afficher tous les types qui l'implémentent ; pour un type concret, afficher toutes les interfaces qu'il implémente.

Ouvrir la palette de commandesShift+Cmd+P(⇧⌘P), naviguez rapidement via la recherche de symboles :

  • Shift+Cmd+O(⇧⌘O): Rechercher des symboles dans le fichier actuel
  • Cmd+T(⌘T): Rechercher des symboles globalement dans tout l'espace de travail

Utilisation des commandesGo: Toggle Test File, basculez rapidement entre le code métier et le fichier de test correspondant.


Formatage du code

  • Raccourcis :Shift+Alt+F(⇧⌥F)Formater le fichier actuel en un clic
  • Vous pouvez également exécuter « Format Document » via la palette de commandes ou le menu contextuel du clic droit.

Configuration du formatage

  1. Désactiver le formatage automatique lors de l'enregistrement

    "[go]": {
        "editor.formatOnSave": false
    }
  2. Définir l'extension Go comme formateur par défaut pour les fichiers Go.

    "[go]": {
        "editor.defaultFormatter": "golang.go"
    }
  3. Activer le style de formatage strict de gofumpt (plus strict que les règles natives de gofmt).

    "gopls": {
        "formatting.gofumpt": true
    }

    Le formatage est implémenté via gopls sous le capot


Tests unitaires

Le panneau Test de la barre latérale de VS Code + les boutons rapides CodeLens au-dessus du code prennent en chargeFonction/Fichier/Paquet/Projet entierpour les tests unitaires, les tests de benchmark et le profilage des performances.
Saisie de la palette de commandesGo: testVous pouvez afficher toutes les commandes de test ; couramment utilisées :

  • Go: Test Function At Cursor: Exécuter le test de la fonction où se trouve le curseur
  • Go: Test File: Exécuter tous les cas de test du fichier actuel
  • Go: Test Package: Exécuter tous les tests du paquet actuel
  • Go: Test All Packages in Workspace: Tester par lots l'ensemble du projet

Les trois premières commandes peuvent générer automatiquement des squelettes de cas de test basés sur gotests ; l'extension prend en charge la configuration :

  • go.testOnSave: Exécuter automatiquement les tests lors de l'enregistrement du code
  • go.coverOnSave: Générer automatiquement la couverture de test lors de l'enregistrement
  • go.testFlags: Personnaliser les paramètres d'exécution de go test

Debug

L'extension Go s'appuie sur le débogueur Delve pour le débogage du code Go, avec des capacités uniques :

  1. Débogage local + débogage de service distant
  2. Utilisez la syntaxe d'expression Delve pour afficher les données personnalisées dans le panneau de débogage.
  3. Exécutez les commandes dlv natives dans la console de débogage pour modifier dynamiquement la configuration de débogage et afficher les variables.
  4. ConfigurationhideSystemGoroutinesMasquer/Afficher les goroutines système
  5. Cliquez avec le bouton droit sur le code pour ouvrir la vue Assembly (vue de désassemblage).
  6. Fonctionnalités expérimentales : débogage des appels de fonction, analyse de fichier core et débogage inversé Mozilla rr.

Plus d'outils connexes

autres extensions