【实践】VS Code(Visual Studio Code)环境常见问题
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 下的包获取皆可使用该方法。