[Go] とりあえずVimの環境を作ってみる

Goの勉強をするためにとりあえずVimの環境を整えてみます。
やりたいことは2つ

  1. 保存した時にフォーマットを整形
  2. LSPでコード保管する

まずはLanguage Serverをインストールする

$ go get -u golang.org/x/tools/gopls
$ go get -u github.com/sourcegraph/go-langserver

vimrcに設定を追加

" for golang
NeoBundle 'mattn/vim-lsp-settings'
NeoBundle 'mattn/vim-goimports'
 
" go lsp-setting
if executable('gopls')
    au User lsp_setup call lsp#register_server({
        \ 'name': 'gopls',
        \ 'cmd': {server_info->['gopls']},
        \ 'whitelist': ['go'],
        \ })
    autocmd BufWritePre *.go LspDocumentFormatSync
 
    augroup go_lsp_omnifunf
        autocmd!
        autocmd FileType go setlocal omnifunc=lsp#complete
    augroup END
endif
 
if executable('go-langserver')
    au User lsp_setup call lsp#register_server({
        \ 'name': 'go-langserver',
        \ 'cmd': {server_info->['go-langserver', '-gocodecompletion']},
        \ 'whitelist': ['go'],
        \ })
    autocmd BufWritePre *.go LspDocumentFormatSync
endif

とりあえず、補完とか動くようになりました。

0 件のコメント :

コメントを投稿