2023年7月7日金曜日

golangのlsp設定方法(emacs編)

golangのlsp設定方法(emacs編)

概要

gopls という公式が出している language server があるのでそれを使います
基本は公式のドキュメントを参考にすれば OK です

環境

  • Ubuntu 18.04
  • golang 1.20.5
  • gopls 0.12.4
  • emacs 27.1
    • lsp-mode 20230625

gopls のインストール

必要に応じて PATH を通しましょう

  • export PATH=$PATH:/home/user01/go/bin/

.emacs の編集

クライアントは lsp-mode を使っています
go-mode をフックして lsp を起動するだけです
golsp に対応しているバージョンを使いましょう

; for golang
(require 'lsp-mode)
(add-hook 'go-mode-hook #'lsp-deferred)

(defun lsp-go-install-save-hooks ()
  (add-hook 'before-save-hook #'lsp-format-buffer t t)
  (add-hook 'before-save-hook #'lsp-organize-imports t t))
(add-hook 'go-mode-hook #'lsp-go-install-save-hooks)

動作確認

念のためシェルを抜けて gopls がちゃんとコマンドとして起動することを確認してから emacs を起動しましょう
あとは go ファイルを開くだけで OK です

参考サイト

0 件のコメント:

コメントを投稿