Maison >développement back-end >Golang >vim golang saut automatique

vim golang saut automatique

王林
王林original
2023-05-14 16:31:071040parcourir

Lorsque nous utilisons Vim pour modifier du code Go, nous rencontrons souvent des situations où nous devons accéder à une définition de fonction ou de variable. Dans Vim, nous pouvons utiliser certains plug-ins ou astuces pour y parvenir. Cet article présentera l'une des méthodes : utiliser gutentags et vim-go pour réaliser un saut automatique.

1. Installer gutentags

gutentags est un plug-in Vim utilisé pour générer des fichiers de balises, ce qui peut nous aider à parcourir rapidement le code et à trouver des définitions de variables et de fonctions dans le fichier. Si vous n'avez pas installé gutentags, vous pouvez utiliser la commande suivante pour l'installer :

//Vundle
Plugin 'ludovicchabant/vim-gutentags'

//NeoBundle
NeoBundle 'ludovicchabant/vim-gutentags'

//vim-plug
Plug 'ludovicchabant/vim-gutentags'

Une fois l'installation terminée, exécutez ":help gutentags" dans Vim pour afficher les instructions d'utilisation de gutentags.

2. Installer vim-go

vim-go est un plug-in Vim conçu pour les développeurs du langage Go, qui peut nous aider à écrire, déboguer et tester rapidement des programmes en langage Go. Si vous n'avez pas installé vim-go, vous pouvez utiliser la commande suivante pour l'installer :

//Vundle
Plugin 'fatih/vim-go'

//NeoBundle
NeoBundle 'fatih/vim-go'

//vim-plug
Plug 'fatih/vim-go'

Une fois l'installation terminée, exécutez ":help go" dans Vim pour afficher les instructions d'utilisation de vim-go.

3. Configurez gutentags et vim-go

Après avoir installé gutentags et vim-go, nous devons les configurer afin qu'ils puissent travailler ensemble pour réaliser la fonction de saut automatique.

  1. Configurer gutentags

Ajoutez la configuration suivante dans le fichier .vimrc :

let g:gutentags_project_root = ['.git', '.svn', '.hg']
let g:gutentags_cache_dir = '~/.vim/tags'
let g:gutentags_file_list_command = 'git ls-files'
let g:gutentags_generate_on_write = 1

La signification de ces éléments de configuration est :

  • g:gutentags_project_root : Spécifiez le répertoire racine du projet, il le fera. être dans le répertoire racine du projet et dans son sous-répertoire.
  • g:gutentags_cache_dir : Spécifiez le chemin d'enregistrement des fichiers de balises. gutentags mettra en cache le fichier de balises généré, vous n'aurez donc pas besoin de générer à nouveau le fichier de balises la prochaine fois que vous rechercherez le même fichier ou la même variable.
  • g:gutentags_file_list_command : Spécifiez comment lister les fichiers du projet en cours. Ici, nous avons utilisé la commande git ls-files pour obtenir la liste des fichiers, mais d'autres commandes peuvent également être utilisées.
  • g:gutentags_generate_on_write : Spécifiez s'il faut générer automatiquement des fichiers de balises lors de l'enregistrement des fichiers.
  1. Configurer vim-go

Ajoutez la configuration suivante dans le fichier .vimrc :

let g:go_def_mode='gopls'
let g:go_auto_sameids = 1
let g:go_list_type = "quickfix"
let g:go_list_autowin = 1
let g:go_fmt_command = "goimports"
let g:go_complete_unimported = 1
let g:go_def_mapping_enabled = 0

Les significations de ces éléments de configuration sont :

  • g:go_def_mode : Spécifiez l'utilisation de gopls comme backend pour définir les sauts , il s'agit d'un serveur de langage officiellement fourni par le langage Go.
  • g:go_auto_sameids : Spécifiez s'il faut automatiquement mettre à jour le fichier de balises lors du passage à différentes définitions de fonctions ou de variables dans le même fichier.
  • g:go_list_type : spécifiez l'utilisation de la fenêtre Quickfix pour afficher les informations associées.
  • g:go_list_autowin : spécifiez s'il faut accéder automatiquement au premier élément d'erreur lors de l'ouverture de la fenêtre de correctif rapide.
  • g:go_fmt_command : Spécifiez l'utilisation de goimports pour formater le code.
  • g:go_complete_unimported : Spécifie s'il faut inclure les packages non importés dans l'achèvement.
  • g:go_def_mapping_enabled : Spécifie s'il faut activer le mappage des touches de raccourci pour les commandes GoDef.

4. Réaliser un saut automatique

Après avoir configuré gutentags et vim-go, nous pouvons ouvrir n'importe quel fichier Go dans Vim, déplacer le curseur sur une fonction ou une variable, puis appuyer sur la touche de raccourci "gd" pour accéder automatiquement au poste défini.

Pendant le processus de saut automatique, gutentags générera automatiquement le fichier de tags si le fichier existe déjà, il sera utilisé directement. Lorsque vous accédez à différentes définitions de fonctions ou de variables dans le même fichier, vim-go mettra automatiquement à jour le fichier de balises pour garantir que le prochain saut puisse localiser avec précision l'emplacement de la définition. L'utilisation de la méthode ci-dessus peut considérablement améliorer notre efficacité d'écriture et parcourir et localiser rapidement les définitions de variables et de fonctions dans le code.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn