1. 摘要
本文为辉哥在使用GO语言环境VS Code过程中环境遇到的问题的记录备忘。
2. 内容
2.1 VS Code常见go插件的功能及安装方法?
VS Code常见插件的功能包括:
• Colorization 代码着彩色
• Completion Lists 代码自动完成(使用gocode)
• Snippets 代码片段
• Quick Info 快速提示信息(使用godef)
• Goto Definition 跳转到定义(使用godef)
• Find References 搜索参考引用(使用go-find-references)
• File outline 文件大纲(使用go-outline)
• Workspace symbol search 工作区符号搜索(使用 go-symbols)
• Rename 重命名(使用gorename)
• Build-on-save 保存构建(使用go build和go test)
• Format 代码格式化(使用goreturns或goimports或gofmt)
• Add Imports 添加引用(使用 gopkgs)
• Debugging 调试代码(使用delve)
插件手动安装方法:
vscode默认会提示安装缺少的插件,但有些插件需要翻墙,需要手动安装。
不需要翻墙的可直接go get,否则需要手动下载对应的插件包,放到系统GOPATH/src下,
并建立对应的目录结构,执行go install。
1)安装gocode
go get -u -v github.com/nsf/gocode
2)安装godef
go get -u -v github.com/rogpeppe/godef
3)安装golint
go get -u -v github.com/golang/lint/golint
4)安装go-find-references
go get -u -v github.com/lukehoban/go-find-references
5)安装go-outline
go get -u -v github.com/lukehoban/go-outline
6)安装goreturns
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v github.com/sqs/goreturns
7)安装gorename
go get -u -v golang.org/x/tools/cmd/gorename
8)安装gopkgs
go get -u -v github.com/tpng/gopkgs
9)安装go-symbols
go get -u -v github.com/newhook/go-symbols
2.2 VS Code常见快捷键
通用快捷键
快捷键 | 作用 |
---|---|
Ctrl+Shift+P,F1 | 展示全局命令面板 |
Ctrl+P | 快速打开最近打开的文件 |
Ctrl+Shift+N | 打开新的编辑器窗口 |
Ctrl+Shift+W | 关闭编辑器 |
基础编辑
快捷键 | 作用 | |
---|---|---|
Ctrl + X | 剪切 | |
Ctrl + C | 复制 | |
Alt + up/down | 移动行上下 | |
Shift + Alt up/down | 在当前行上下复制当前行 | |
Ctrl + Shift + K | 删除行 | |
Ctrl + Enter | 在当前行下插入新的一行 | |
Ctrl + Shift + Enter | 在当前行上插入新的一行 | |
Ctrl + Shift + | 匹配花括号的闭合处,跳转 | |
Ctrl + ] / [ | 行缩进 | |
Home | 光标跳转到行头 | |
End | 光标跳转到行尾 | |
Ctrl + Home | 跳转到页头 | |
Ctrl + End | 跳转到页尾 | |
Ctrl + up/down | 行视图上下偏移 | |
Alt + PgUp/PgDown | 屏视图上下偏移 | |
Ctrl + Shift + [ | 折叠区域代码 | |
Ctrl + Shift + ] | 展开区域代码 | |
Ctrl + K Ctrl + [ | 折叠所有子区域代码 | |
Ctrl + k Ctrl + ] | 展开所有折叠的子区域代码 | |
Ctrl + K Ctrl + 0 | 折叠所有区域代码 | |
Ctrl + K Ctrl + J | 展开所有折叠区域代码 | |
Ctrl + K Ctrl + C | 添加行注释 | |
Ctrl + K Ctrl + U | 删除行注释 | |
Ctrl + / | 添加关闭行注释 | |
Shift + Alt +A | 块区域注释 | |
Alt + Z | 添加关闭词汇包含 |
导航
快捷键 | 作用 |
---|---|
Ctrl + T | 列出所有符号 |
Ctrl + G | 跳转行 |
Ctrl + P | 跳转文件 |
Ctrl + Shift + O | 跳转到符号处 |
Ctrl + Shift + M | 打开问题展示面板 |
F8 | 跳转到下一个错误或者警告 |
Shift + F8 | 跳转到上一个错误或者警告 |
Ctrl + Shift + Tab | 切换到最近打开的文件 |
Alt + left(←) / right(→) | 向后、向前 |
Ctrl + M | 进入用Tab来移动焦点 |
Ctrl + Alt + K | 标识书签(BookMark或者取消书签) |
Ctrl + B | 显示/取消标签导航 |
查询与替换
快捷键 | 作用 |
---|---|
Ctrl + F | 查询 |
Ctrl + H | 替换 |
F3 / Shift + F3 | 查询下一个/上一个 |
Alt + Enter | 选中所有出现在查询中的 |
Ctrl + D | 匹配当前选中的词汇或者行,再次选中-可操作 |
Ctrl + K Ctrl + D | 移动当前选择到下个匹配选择的位置(光标选定) |
Alt + C / R / W |
多行光标操作于选择
快捷键 | 作用 |
---|---|
Alt + Click | 插入光标-支持多个 |
Ctrl + Alt + up/down | 上下插入光标-支持多个 |
Ctrl + U | 撤销最后一次光标操作 |
Shift + Alt + I | 插入光标到选中范围内所有行结束符 |
Ctrl + I | 选中当前行 |
Ctrl + Shift + L | 选择所有出现在当前选中的行-操作 |
Ctrl + F2 | 选择所有出现在当前选中的词汇-操作 |
Shift + Alt + right | 从光标处扩展选中全行 |
Shift + Alt + left | 收缩选择区域 |
Shift + Alt + (drag mouse) | 鼠标拖动区域,同时在多个行结束符插入光标 |
Ctrl + Shift + Alt + (Arrow Key) | 也是插入多行光标的[方向键控制] |
Ctrl + Shift + Alt + PgUp/PgDown | 也是插入多行光标的[整屏生效] |
丰富的语言操作
快捷键 | 作用 |
---|---|
Ctrl + Space | 输入建议[智能提示] |
Ctrl + Shift + Space | 参数提示 |
Tab | Emmet指令触发/缩进 |
Shift + Alt + F | 格式化代码 |
Ctrl + K Ctrl + F | 格式化选中部分的代码 |
F12 | 跳转到定义处 |
Alt + F12 | 代码片段显示定义 |
Ctrl + K F12 | 在其他窗口打开定义处 |
Ctrl + . | 快速修复部分可以修复的语法错误 |
Shift + F12 | 显示所有引用 |
F2 | 重命名符号 |
Ctrl + Shift + . / , | 替换下个值 |
Ctrl + K Ctrl + X | 移除空白字符 |
Ctrl + K M | 更改页面文档格式 |
编辑器管理
快捷键 | 作用 | |
---|---|---|
Ctrl + F4, Ctrl + W | 关闭编辑器 | |
Ctrl + k F | 关闭当前打开的文件夹 | |
Ctrl + | 切割编辑窗口 | |
Ctrl + 1/2/3 | 切换焦点在不同的切割窗口 | |
Ctrl + K Ctrl <-/-> | 切换焦点在不同的切割窗口 | |
Ctrl + Shift + PgUp/PgDown | 切换标签页的位置 | |
Ctrl + K <-/-> | 切割窗口位置调换 |
文件管理
快捷键 | 作用 |
---|---|
Ctrl + N | 新建文件 |
Ctrl + O | 打开文件 |
Ctrl + S | 保存文件 |
Ctrl + Shift + S | 另存为 |
Ctrl + K S | 保存所有当前已经打开的文件 |
Ctrl + F4 | 关闭当前编辑窗口 |
Ctrl + K Ctrl + W | 关闭所有编辑窗口 |
Ctrl + Shift + T | 撤销最近关闭的一个文件编辑窗口 |
Ctrl + K Enter | 保持开启 |
Ctrl + Shift + Tab | 调出最近打开的文件列表,重复按会切换 |
Ctrl + Tab | 与上面一致,顺序不一致 |
Ctrl + K P | 复制当前打开文件的存放路径 |
Ctrl + K R | 打开当前编辑文件存放位置【文件管理器】 |
Ctrl + K O | 在新的编辑器中打开当前编辑的文件 |
显示
快捷键 | 作用 |
---|---|
F11 | 切换全屏模式 |
Shift + Alt + 1 | 切换编辑布局【目前无效】 |
Ctrl + =/- | 放大 / 缩小 |
Ctrl + B | 侧边栏显示隐藏 |
Ctrl + Shift + E | 资源视图和编辑视图的焦点切换 |
Ctrl + Shift + F | 打开全局搜索 |
Ctrl + Shift + G | 打开Git可视管理 |
Ctrl + Shift + D | 打开DeBug面板 |
Ctrl + Shift + X | 打开插件市场面板 |
Ctrl + Shift + H | 在当前文件替换查询替换 |
Ctrl + Shift + J | 开启详细查询 |
Ctrl + Shift + V | 预览Markdown文件【编译后】 |
Ctrl + K v | 在边栏打开渲染后的视图【新建】 |
调试
快捷键 | 作用 |
---|---|
F9 | 添加解除断点 |
F5 | 启动调试、继续 |
F11 / Shift + F11 | 单步进入 / 单步跳出 |
F10 | 单步跳过 |
Ctrl + K Ctrl + I | 显示悬浮 |
集成终端
快捷键 | 作用 |
---|---|
Ctrl + ` | 打开集成终端 |
Ctrl + Shift + ` | 创建一个新的终端 |
Ctrl + Shift + C | 复制所选 |
Ctrl + Shift + V | 复制到当前激活的终端 |
Shift + PgUp / PgDown | 页面上下翻屏 |
Ctrl + Home / End | 滚动到页面头部或尾部 |
2.3 如何安装golang.org\x的包?
类似错误提示,表示国内使用 go get 安装 golang 官方包可能会失败。
$ go install sourcegraph.com/sqs/goreturns
src\golang.org\x\tools\internal\imports\mod.go:17:2: cannot find package "golang.org/x/mod/module" in any of:
C:\Go\src\golang.org\x\mod\module (from $GOROOT)
D:\jusanban\doc\50-编码实现\GO\src\golang.org\x\mod\module (from $GOPATH)
src\golang.org\x\tools\internal\imports\mod.go:18:2: cannot find package "golang.org/x/mod/semver" in any of:
C:\Go\src\golang.org\x\mod\semver (from $GOROOT)
D:\jusanban\doc\50-编码实现\GO\src\golang.org\x\mod\semver (from $GOPATH)
其实 golang 在 github 上建立了一个镜像库,如 https://github.com/golang/module 即是 https://golang.org/x/module 的镜像库。
获取 golang.org/x/module 包,其实只需要以下步骤:
mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/mod.git
git clone https://github.com/golang/tools.git
其它 golang.org/x 下的包获取皆可使用该方法。
github国内镜像下载更快:
git clone https://github.com.cnpmjs.org/golang/mod.git
git clone https://github.com.cnpmjs.org/golang/tools.git
2.4 VS Code下如何显示文件的函数列表以及不能显示时的解决方法?
1,Shift+Ctl+O(显示在顶部,不方便查看)
2,显示大纲(在编辑器左下角显示,方便查看)
Shift+Ctl+P -> View: Quick Open View -> 大纲(Outline)
3,如果不能显示则表明是OUTLINE插件未更新到最新。
重新安装最新的OUTLINE即可。
go get -v github.com/ramya-rao-a/go-outline
说明:
安装插件:Solidity Visual Developer
在outline可以看到函数列表:
点击可以看到各种报告[函数调用关系图]:
更多功能详见:
https://marketplace.visualstudio.com/items?itemName=tintinweb.solidity-visual-auditor