Tout d'abord, je suis intérimaire. Par conséquent, le personnel de vente sera présent au moment de l'entretien avec la destination d'expédition. Étant donné que le vendeur ignore mon opinion et procède sans autorisation, la destination d'expédition peut être décidée quelle que soit la situation. Depuis que je suis devenu intérimaire, j'ai abandonné les humains, mais j'aimerais que vous me pardonniez un instant.
Cela dit, le prochain peut être un projet en langage Java. Cela signifiait que je devais réétudier le langage Java. Cependant, je pensais que je n'utiliserais pas de livres liés au langage Java, alors je les ai laissés chez mes parents. Je ne pouvais pas m'en empêcher, alors j'ai décidé d'acheter plus du premier livre scolaire. Combien de livres et combien de types de livres d'école élémentaire devrais-je acheter ... Je prévois d'acheter un livre Kindle si possible, mais c'est difficile à voir, donc c'est définitivement un livre papier. Il n'y aura pas de bonnes mesures.
Si vous programmez pour des débutants, vous n'avez certainement pas besoin d'un grand IDE. Si j'ai le temps de construire un tel environnement, j'aimerais consacrer ne serait-ce qu'un peu de temps à étudier. Comment c'est? Parce que je ne pouvais pas maîtriser Vim, je ne pouvais toujours pas le construire comme un IDE. Profitant de cette opportunité, je voudrais vous présenter Language Server Protocol (abréviation: LSP).
Je pense que c'est une fonction qui complète le processus de saisie avec une complétion automatique. Dans cet esprit, j'ai décidé de l'introduire.
Il est difficile de préparer un environnement IDE, donc j'aimerais créer un environnement avec juste une petite modification du Vim déjà installé. Par conséquent, je ne veux pas être difficile ou prendre du temps. J'ai donc décidé d'utiliser le [Plug-in pour réduire les coûts d'installation] de mattn (https://qiita.com/mattn/items/e62b9f16bc487a271a7f).
Comme c'est facile à faire, j'ai décidé de procéder comme expliqué par M. mattn.
La gestion des plug-ins utilise minpac.
J'ai pensé qu'il serait facile d'introduire, pour le moment, si une ligne suffirait ou si deux lignes seraient nécessaires.
vimrc
call minpac#add('prabirshrestha/vim-lsp')
call minpac#add('mattn/vim-lsp-settings')
Ensuite, sur la ligne de commande ex,
commander
call minpac#update()
Tapez. Ce faisant, le plug-in sera introduit. Cela seul le rend très pratique.
Vous devez également écrire dans vimrc.
vimrc
"Possibilité d'afficher les erreurs en temps réel à mesure que les fichiers changent
let g:lsp_diagnostics_enabled = 1
let g:lsp_diagnostics_echo_cursor = 1
"Réglage pour afficher automatiquement la fenêtre contextuelle de fin d'entrée
let g:asyncomplete_auto_popup = 1
let g:asyncomplete_auto_completeopt = 1
"Délai avant l'affichage de la fenêtre contextuelle
let g:asyncomplete_popup_delay = 200
"Paramètre pour activer textEdit, qui est une spécification LSP
let g:lsp_text_edit_enabled = 1
let g:lsp_signs_enabled = 1
let g:lsp_diagnostics_echo_cursor = 1
mattn semble avoir [divisé] le fichier de configuration (https://mattn.kaoriya.net/software/vim/20191231001537.htm), mais je ne l'ai pas fait. Par conséquent, j'écris à vimrc, mais je pense qu'il n'y a pas de problème.
vim-lsp semble être le vaisseau mère, et si vous ne l'incluez pas, vous obtiendrez une erreur.
Erreur
Error detected while processing User Autocommands for "lsp_setup":
E117: Unknown function: lsp#register_server
J'ai eu une erreur car j'ai continué le travail sans installer le plug-in du vaisseau mère.
Erreur
BufRead Autocommands for "*.java"..FileType Autocommands for "java"..function <SNR>8_vim_lsp_load_or_suggest[105]..
User Autocommands for "lsp_setup"Une erreur a été détectée lors du traitement de:
E117:Fonction inconnue: lsp#register_server
Assurez-vous de lire correctement l'explication.
J'obtiens une erreur dans un plugin pour la gestion des plugins, qui semble avoir déjà été corrigé.
Ouvrez un fichier avec l'extension * .java. Et
Commande Ex
LspInstallServer
Puisque le mécanisme est tel que le fichier correspondant au fichier de programmation est installé, vous pouvez appuyer sur «Oui» et attendre que l'installation soit terminée.
Terminé.
Personnellement, le code du caractère est étrange ... mais je vais le revoir à un autre moment. Cela aurait dû être UTF-8 ...
Je ne suis pas sûr, mais il semble que certains fichiers de programmation ne puissent pas être installés.
Ouvrir le fichier de langage C ++
Je l'ai suivi docilement car il pouvait être introduit.
Bien sûr que oui.
Cependant, l'installation a échoué. Cela semble être dû au fait que la commande requise n'a pas été trouvée. Par conséquent, il peut y avoir un problème avec mon environnement, mais maintenant je n'ai plus qu'à préparer l'environnement Java, donc je le reporte.
Étrange. La saisie semi-automatique ne fonctionne pas du tout.
Popup ne s'affiche pas du tout.
Étrange.
Pour les réglages de mattn,
vimrc
if empty(globpath(&rtp, 'autoload/lsp.vim'))
・
・
・
function! s:on_lsp_buffer_enabled() abort
・
・
・
augroup lsp_install
・
・
・
A été écrit, mais est-ce là? En décrivant cela, le fichier de configuration a été détruit ...
J'avais besoin d'un plug-in séparé.
asyncomplete.vim La description est en anglais, donc je ne pensais pas que c'était le [plug] requis (https://github.com/mattn/vim-lsp-settings#asyncompletevim).
vimrc
"Affichage du menu contextuel automatique
call minpac#add('prabirshrestha/asyncomplete.vim')
"Source de saisie semi-automatique
call minpac#add('prabirshrestha/asyncomplete-lsp.vim')
Il semble que ces deux types soient nécessaires.
C'est un peu inconfortable avec un affichage contextuel involontaire. Dans cet exemple, je voudrais entrer "System", mais quand ** S ** est entré, "Saf ~ Nanchara" est automatiquement entré. Un inconvénient déraisonnable. Ce que je veux faire, c'est que lorsque j'entre "S", rien n'est entré et je veux que les candidats apparaissent. J'ai des problèmes.
asyncomplete.vim Quant à la méthode d'affichage, nvim semble être meilleure. Je ne changerai pas le corps principal maintenant.
Bien que j'aie les plaintes ci-dessus, je dirai que je l'ai défini pour le moment. Il est encore loin d'avoir terminé l'étude du langage Java avec seulement vim lui-même, mais cet article se termine par ceci. Finalement, je veux pouvoir exécuter et déboguer.
c'est tout.
Recommended Posts