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的主要内容,如果未能解决你的问题,请参考以下文章

python高级教程之set数据结构

Why is HttpGet required only for some actions?

温习js中的for,forEach,map, some, every用法总结,跳出循环方法

loaded some nib but the view outlet was not set

loaded some nib but the view outlet was not set(转载)

温习js中的for,forEach,map, some, every用法总结,跳出循环方法