some settings for spacemacs golang
Posted wang_yb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了some settings for spacemacs golang相关的知识,希望对你有一定的参考价值。
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的主要内容,如果未能解决你的问题,请参考以下文章
Why is HttpGet required only for some actions?
温习js中的for,forEach,map, some, every用法总结,跳出循环方法
loaded some nib but the view outlet was not set