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的更多相关文章
- golang module 在 spacemcs 中的配置
概述 golang 官方的包管理从 1.11 版本就开始支持了, 之前尝试了几次, 效果都不理想, 就一直用 dep 来管理 package. 最近 1.13 版本发布了, 使用 go module ...
- Mac下golang开发环境配置
go语言在开发效率和运行效率中的优势让很多人青睐,所以有倾向打算转向go语言的开发. 下面介绍在Mac OS X中golang的开发环境配置. 1.安装brew brew是一个mac下的由ruby开发 ...
- golang在Windows下Sublime Text开发调试环境的配置
一.前言 近期本人有工作调动,进入了一个全新的领域[golang]服务端开发.在此写下本文,希望给那些没接触过golang开发调试环境及还在犹豫选择那家golang IDE而纠结的朋友们一点点帮助,如 ...
- PyCharm/IntelliJ IDEA Golang开发环境搭建(最方便快捷的GO语言开发环境)
IntelliJ太牛了.为了配置Go语言开发环境,折腾了半天,下IDE(Sublime Text,IntelliJ Idea),然后装Go插件.装Go插件还要下载插件项目源码,编译等等,Sublime ...
- Programming in Go (Golang) – Setting up a Mac OS X Development Environment
http://www.distilnetworks.com/setup-go-golang-ide-for-mac-os-x/#.V1Byrf50yM8 Programming in Go (Gola ...
- Sublime Text3 + Golang搭建开发环境
Sublime Text3 + Golang搭建开发环境 http://blog.csdn.net/aqiang912/article/details/46775409 1.安装git 因为golan ...
- 结构的具体说明sublime text 2/3的Golang开发环境
1.下载并安装sublime text 2/3 官网下载:http://www.sublimetext.com/ 2.安装成功sublime text后.启动sublime text.选择菜单栏&qu ...
- Sublime Text 3 搭建 Golang 开发环境
安装Golang go语言主页: https://golang.org/ go语言安装下载: https://golang.org/dl 环境变量设置: GOROOT: GOROOT变量设置go安装的 ...
- GO开发[一]:golang开发初探
一.Golang的安装 1.https://dl.gocn.io/ (国内下载地址) 2.https://golang.org/dl/ (国外下载地址) 3.现在studygolang中文网也可以了h ...
随机推荐
- 1.MySQL(一)
数据库简介 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库 RDBMS 即关系数据库管理系统(Relational Database Management System) 1.特 ...
- 《深入理解Java虚拟机》-----第2章 Java内存区域与内存溢出异常
2.1 概述 对于从事C.C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任 ...
- java基础(四)-----抽象类与接口
抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 一.抽象类 我们 ...
- Python爬虫入门教程 27-100 微医挂号网专家团队数据抓取pyspider
1. 微医挂号网专家团队数据----写在前面 今天尝试使用一个新的爬虫库进行数据的爬取,这个库叫做pyspider,国人开发的,当然支持一下. github地址: https://github.com ...
- Java基础8:深入理解内部类
更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...
- Chapter 4 Invitations——19
After I hung up, I tried to concentrate on dinner — dicing the chicken especially; I didn't want to ...
- 阿里云ACE共创空间——MQ消息队列产品测试
一.产品背景消息队列是阿里巴巴集团自主研发的专业消息中间件. 产品基于高可用分布式集群技术,提供消息订阅和发布.消息轨迹查询.定时(延时)消息.资源统计.监控报警等一系列消息云服务,是企业级互联网架构 ...
- Docker最全教程——从理论到实战(八)
在本系列教程中,笔者希望将必要的知识点围绕理论.流程(工作流程).方法.实践来进行讲解,而不是单纯的为讲解知识点而进行讲解.也就是说,笔者希望能够让大家将理论.知识.思想和指导应用到工作的实际场景和实 ...
- Magicodes.WeiChat——使用OAuth 2.0获取微信用户信息
使用Magicodes.WeiChat,可以很方便的获取到微信用户的信息.在使用OAuth 2.0之前,你先需要做以下操作: 1)在开发者中心修改[网页授权获取用户基本信息],在弹出的界面输入自己的根 ...
- 嵌入式系统及应用课程设计——基于STM32的温湿度监测系统
大三上学期期末总结,嗯,没错上学期,写在新学期开始,hhh. 上学期学了一门嵌入式系统及应用的课程,期末的课程设计题目是基于STM32的温湿度监测系统. 记得刚开始做课程设计的时候,听说先设计画出原理 ...