1.6 KiB
1.6 KiB
gopls: официальный язык сервер для Go
go install golang.org/x/tools/gopls@latest
goimports: инструмент для автоматического форматирования и управления импортами
go install golang.org/x/tools/cmd/goimports@latest
;; Установка и настройка lsp-mode
(use-package lsp-mode
:ensure t
:commands (lsp lsp-deferred)
:init
(setq lsp-keymap-prefix "C-c l")
:config
(lsp-enable-which-key-integration t))
;; Установка lsp-ui для улучшенного интерфейса
(use-package lsp-ui
:ensure t
:commands lsp-ui-mode)
;; Установка company-mode для автодополнения
(use-package company
:ensure t
:config
(setq company-minimum-prefix-length 1
company-idle-delay 0.0)) ;; Опционально, для немедленного отображения
;; Настройка Go-mode
(use-package go-mode
:ensure t
:hook ((go-mode . lsp-deferred)
(before-save . lsp-format-buffer) ;; Форматирование перед сохранением
(before-save . lsp-organize-imports)))
;; Форматирование кода с использованием goimports
(setq gofmt-command "goimports")
(add-hook 'before-save-hook 'gofmt-before-save)
(add-hook 'go-mode-hook #'lsp-deferred)
;; Дополнительные настройки для LSP с Go
(setq lsp-go-use-gofumpt t) ;; Использовать gofumpt вместо gofmt