gopls: официальный язык сервер для Go #+begin_quote go install golang.org/x/tools/gopls@latest #+end_quote goimports: инструмент для автоматического форматирования и управления импортами #+begin_quote go install golang.org/x/tools/cmd/goimports@latest #+end_quote #+begin_src emacs-lisp ;; Установка и настройка 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 #+end_src