一、前言

  近期本人有工作调动,进入了一个全新的领域[golang]服务端开发。在此写下本文,希望给那些没接触过golang开发调试环境及还在犹豫选择那家golang IDE而纠结的朋友们一点点帮助,如果你从中得到了受益并且同时拥有博客园账户的话,衷心希望能得到你的一个小小[推荐]以资鼓励。

本人操作系统为Windows 8.1 64bit,开发工具选择如下:
go1.4.2.windows-amd64
Sublime Text 2(插件GoSublime/GoGdb)
gdb、gcc(安装mingw-w64后即可包含)
git

二、golang安装

下载你需要的golang版本,本人下载go1.4.2.windows-amd64.zip解压到c:\盘

= 配置golang环境变量 =
  GOARCH=amd64
  GOOS=windows
  GOROOT=c:\go
  GOPATH=E:\goproj
  GOBIN=%GOPATH%\bin

为Path环境变量添加;%GOROOT%\bin

打开命令行输入go version看到下图后就证明golang安装成功了

值得注意:GOPATH是golang项目的特殊路径,其路径下必须包含bin、pkg、src这3个目录如下图示:

golang项目的是依靠src目录来组织源代码的。

三、安装Sublime Text 2配置GoSublime/GoGDB

  这里声明一下为什么不能选ST3,因之前使用ST3安装GoGDB插件时报错“It seems you're not running gdb with the "mi" interpreter. Please add #"--interpreter=mi" to your gdb command line”我检查任务管理器时发现gdb进程的命令行确实附带了--interpreter=mi参数,最后实在无解才选择退到ST2。。。。囧

下载ST2安装后打开它

Sublime Text 2界面图


1.点击View – Show Console或按Ctrl+`弹出控制台
输入如下文本按回车然后重启ST2:

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'


2.按下Ctrl+Shift+P后会弹出的一个可以输入命令的文本框

3.输入install按回车

这里稍微等待一下

4.过一回后会再出现一个命令输入框,此时输入gosublime按回车即可安装插件了。
5.同理把GoGdb安装好。

现在我们已经安装好GoGdb及GoSublime插件了,为此还需下载安装gocode使其支持智能感知。(不安装gocode貌似也能用一部分智能感知)


6.打开cmd,输入go get github.com/nsf/gocode按回车后等待片刻后,打开%GOPATH%\bin这个路径应该能看到gocode.exe这个文件,如果没看到则执行go install github.com/nsf/gocode试试。

7.然后将gocode.exe剪切到%GOROOT%\bin下面,此前我们已将%GOROOT%\bin添加到Path环境变量当中,这样个拷贝动作可以确保gocode.exe在Path环境变量下。

准备好gocode后可以配置ST2的GoSublime插件了!



8.点击Preferences > Package Settings > GoSublime > Settings – Default

9.设置env

10.新建立一个文件夹,然后用ST2打开再建立main.go空文件,然后就可以启用智能感知了。

写入golang代码...

package main

import (
"fmt"
) func main() {
i := 10000
j := 86
k := i + j
fmt.Println(k)
fmt.Println("Hello world. 您好,世界!")
}




11.按Ctrl+B打开控制台输入go install即可在%GOPATH%\bin下得到higo.exe,执行它即可看到输入。
现在开始GoGdb的配置工作,这是非常重要的。
我们首先检查gdb是否在本机上安装,方法就是在cmd命令行输入gdb即可,如果看到如下图示则表明gdb已顺利安装,需注意的是调试golang最低需要gdb版本大于7.1。(我安装是mingw-w64的gdb7.8.1)


12.在ST2点击Preferences > GoGDB > Settings – Default
注意:workingdir设置为%GOPATH%\bin,commandline内./后面的部分视调试进程名称而定。




13.配置好后,在Ctrl+B弹出的命令窗口中输入go install -gcflags "-N -l"编译成二进制可执行文件,然后添加一个断点到main.go内,再按F5开始调试,本文所有配置项已完成。尽情开始一段golang之旅吧!

代理模式安装Package Control

import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler({"http":"http://127.0.0.1:1080"}))); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'

谢谢!

参考:
1.) the-way-to-go_ZH_CN
2.) Sublime Text 2搭建Go开发环境
3.) How to configure golang develop environment with debug and unit test debug
4.) Go语言编程

golang在Windows下Sublime Text开发调试环境的配置的更多相关文章

  1. Windows下搭建FFmpeg开发调试环境

    背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可. 但是如果你想调试FFmpeg内部相关的逻辑,或 ...

  2. 2分钟 windows下sublime text 3安装git插件:

    12:35 2015/11/182分钟 windows下sublime text 3安装git插件:推荐博客:http://blog.csdn.net/naola2001/article/detail ...

  3. windows下sublime text的node.js开发环境搭建

    首先安装sublime text3,百度一堆,自己找吧.理论上sublime text2应该也可以.我只能说一句:这个软件实在是太强悍了. 跨平台,丰富的插件体系,加上插件基本上就是一个强悍的ide了 ...

  4. Win7 32位系统下Sublime text 3的安装以及配置C/C++、java、python的开发环境方法

    本人初学者,此文仅是对这几天鼓捣subime text 3一点微不足道的经验总结,如有明显错误,欢迎指正! 好了,废话少说,进入正题,之前编程java一直用的是eclipse,java的主流IDE,后 ...

  5. windows 下sublime text 3 配置python 环境详解

    这我们的环境已经安装了python 3.7.1解释器和sublime text 3 编辑器 一.package control 安装 首先我们打开sublime text 3 ——>Tools— ...

  6. Windows 下 Sublime Text 默认打开方式问题解决办法

    Sublime Text 2 是很受ACMer喜爱的文本编辑器 但是绿色版删除后无法设置为默认打开方式...而且网上也没有给出明确的解决办法 注册表的解决办法: 删除 HKEY_CURRENT_USE ...

  7. Windows下Lua+Redis 断点调试环境搭建==Linux下类似

    Lua+Redis 断点调试环境搭建 windows环境,使用Redis,写lua脚本头疼的问题之一不能对脚本断点调试,google加上自己的摸索,终于搞定. 1.下载ZeroBraneStudio, ...

  8. ubuntu16.04下sublime text 3之安装和配置

    1.安装方法 1)使用ppa安装 sudo add-apt-repository ppa:webupd8team/sublime-text-3 sudo apt-get update sudo apt ...

  9. 惊艳的cygwin——Windows下的Linux命令行环境的配置和使用

    http://www.tuicool.com/articles/2MramqI 时间 2014-07-29 09:28:36  点滴之间 聚沙成金 原文  http://www.path8.net/t ...

随机推荐

  1. Win7下Eclipse中文字体太小

    http://www.cnblogs.com/newdon318/archive/2012/03/23/2413340.html 最近新装了Win7,打开eclipse3.7中文字体很小,简直难以辨认 ...

  2. SQLite无法使用drop column删除表字段解决办法

    由于项目需求变更,我需要在sqlite数据库的表中删除一个字段,通用的sql操作语句如下: alter table record drop column name; 结果数据库提示如下错误: 搜索得知 ...

  3. Activity类生命周期

    Activity通常就是一个单独的屏幕.每一个活动都被实现为一个独立的类,并且从活动基类中继承而来,活动类将会显示由视图控件组成的用户接口,并对事件作出响应. 从开发者角度看,Activity是一个J ...

  4. 重启Ubuntu后Hadoop的namenode起不来的解决办法‬

    因为Ubuntu每次重启之后都会将/tmp目录清空,而默认配置下每次hadoop name node -format总是将数据信息定位到/tmp/hadoop-${user.name}中,因此需要修改 ...

  5. 分布式系统一致性问题和Raft一致性算法

    一致性问题 一致性算法是用来解决一致性问题的,那么什么是一致性问题呢? 在分布式系统中,一致性问题(consensus problem)是指对于一组服务器,给定一组操作,我们需要一个协议使得最后它们的 ...

  6. java 多线程(synchronized)

    package com.example; public class App { public static void main(String[] args) { doRunable dr = new ...

  7. Javascript图片裁切

    最近浏览了不少网站的图片裁切效果,大部分的做法如下图所示(借用一张脚本之家的图片),通过改变裁切框的大小来选取合适的位置. 但本文介绍的是另外一种裁切方式,裁切框由开发者决定,图片大小由用户决定,通过 ...

  8. python的高性能web应用的开发与测试实验

    python的高性能web应用的开发与测试实验 tornado“同步和异步”网络IO模型实验 引言 python语言一直以开发效率高著称,被广泛地应用于自动化领域: 测试自动化 运维自动化 构建发布自 ...

  9. Hadoop Pig简介、安装、试用

    相比Java的MapReduce api,Pig为大型数据集的处理提供了更高层次的抽象,与MapReduce相比,Pig提供了更丰富的数据结构,一般都是多值和嵌套的数据结构.Pig还提供了一套更强大的 ...

  10. 从3D Touch 看 原生快速开发

    全新的按压方式苹果继续为我们带来革命性的交互:Peek和Pop,Peek 和 Pop 让你能够预览所有类型的内容,甚至可对内容进行操作,却不必真的打开它们.例如,轻按屏幕,可用 Peek 预览收件箱中 ...