mirror of
https://github.com/golang/go
synced 2024-11-19 00:24:41 -07:00
1ccc110ba9
By default, github.com/natebosch/vim-lsc shows messages from stderr in vim's :messages, which may cause problems and is generally annoying. Suggest disabling that by setting suppress_stderr to v:true. Change-Id: If997b8f8fd036a1ac08ba74a3886f33ff71413c2 Reviewed-on: https://go-review.googlesource.com/c/tools/+/194137 Reviewed-by: Ian Cottrell <iancottrell@google.com>
2.7 KiB
2.7 KiB
Vim / Neovim
vim-go
Use vim-go ver 1.20+, with the following configuration:
let g:go_def_mode='gopls'
let g:go_info_mode='gopls'
LanguageClient-neovim
Use LanguageClient-neovim, with the following configuration:
" Launch gopls when Go files are in use
let g:LanguageClient_serverCommands = {
\ 'go': ['gopls']
\ }
" Run gofmt on save
autocmd BufWritePre *.go :call LanguageClient#textDocument_formatting_sync()
Ale
Use ale:
let g:ale_linters = {
\ 'go': ['gopls'],
\}
see this issue
vim-lsp
Use prabirshrestha/vim-lsp, with the following configuration:
augroup LspGo
au!
autocmd User lsp_setup call lsp#register_server({
\ 'name': 'go-lang',
\ 'cmd': {server_info->['gopls']},
\ 'whitelist': ['go'],
\ })
autocmd FileType go setlocal omnifunc=lsp#complete
"autocmd FileType go nmap <buffer> gd <plug>(lsp-definition)
"autocmd FileType go nmap <buffer> ,n <plug>(lsp-next-error)
"autocmd FileType go nmap <buffer> ,p <plug>(lsp-previous-error)
augroup END
vim-lsc
Use natebosch/vim-lsc, with the following configuration:
let g:lsc_server_commands = {
\ "go": {
\ "command": "gopls serve",
\ "log_level": -1,
\ "suppress_stderr": v:true,
\ },
\}
The log_level
and suppress_stderr
parts are needed to prevent breakage from logging. See
natebosch/vim-lsc#180 and [natebosch/vim-lsc#213].
coc.nvim
Use coc.nvim, with the following coc-settings.json
configuration:
"languageserver": {
"golang": {
"command": "gopls",
"rootPatterns": ["go.mod", ".vim/", ".git/", ".hg/"],
"filetypes": ["go"]
}
}
The editor.action.organizeImport
code action will auto-format code and add missing imports. To run this automatically on save, add the following line to your init.vim
:
autocmd BufWritePre *.go :call CocAction('runCommand', 'editor.action.organizeImport')
govim
In vim classic only, use the experimental govim
, simply follow the install steps.