some settings for spacemacs golang
阿新 • • 發佈:2018-10-30
rac 使用 配置 函數 lisp class isp ren 默認的配置
spacemacs 中的 golang配置
spacemacs 中的 golang layer
已經有很多默認的配置了, 但是都是針對在 GOPATH
下的配置.
如果你的項目不再默認 的 GOPATH
下, 每次都把自己的項目加入到 GOPATH
也很麻煩, 所以我構造了一些函數, 可以動態的配置 GOPATH
配置
GOPATH 相關配置
(setq default-gopath (getenv "GOPATH")) (setq current-gopath "") (defun set-gopath (relative-path) (interactive (list (read-string "relative path: " "." nil nil nil))) (setq current-gopath (file-truename relative-path)) (setenv "GOPATH" (concat current-gopath ":" (getenv "GOPATH")))) (defun get-gopath () (interactive) (message (getenv "GOPATH"))) (defun reset-gopath () (interactive) (setenv "GOPATH" default-gopath) (setq current-gopath ""))
golang 編譯配置
(setq default-go-package "") (defun go-install (&optional pkg) (interactive (list (read-string (format "Package Name[%s]: " default-go-package) nil nil ""))) (if (not (string= pkg "")) (setq default-go-package pkg)) (projectile-with-default-dir current-gopath (projectile-run-compilation (concat "export GOPATH=" current-gopath " && " "go install" " " default-go-package)))) (spacemacs/set-leader-keys-for-major-mode 'go-mode "gi" 'go-install)
使用方法
打開到項目文件後, 通過 set-gopath
動態當前項目的 GOPATH
切換項目時, 可以先通過 reset-gopath
恢復默認的 GOPATH
, 然後在 set-gopath
設置新的 GOPATH
設置好 GOPATH
之後, 就可以通過 go-install
來編譯工程了(有對應的快捷鍵 gi)
第一次編譯時, 需要輸入packege名稱, 就是對應 src 目錄下的想要編譯的文件夾名稱.
some settings for spacemacs golang