49 lines
1.6 KiB
Org Mode
49 lines
1.6 KiB
Org Mode
|
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
|