【实践】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 下的包获取皆可使用该方法。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 201,552评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,666评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,519评论 0 334
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,180评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,205评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,344评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,781评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,449评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,635评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,467评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,515评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,217评论 3 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,775评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,851评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,084评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,637评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,204评论 2 341