如何使用visualstudiocode调试 studio code

Visual Studio Code如何编写运行C、C++? - 知乎478被浏览143603分享邀请回答122 条评论分享收藏感谢收起/s/1geMBm07运行cmd,输clang,应该会提示no input files而不是“不是内部命令或外部命令”。(或者输clang -v可以显示出版本)需要安装的插件:C/C++(就是有些教程里的cpptools)C/C++ Snippets(Snippets即重用代码块)C/C++ Advanced Lint(vscode-c-cpp-flylint)(Lint即静态检测)Code RunnerInclude Autocomplete其他可选插件:Rainbow Brackets:彩虹花括号,但注释掉以后不会变灰,算是一点不足One Dark Pro:大概是VS Code安装量最高的主题GBKtoUTF8:把GBK编码的文档转换成UTF8编码的C/C++ Clang Command Adapter这个插件我不会配置,安装了以后没效果。也许需要windows sdk才行。2. 配置四个.json文件此节我当时大部分参考的是@blackkitty的文章,但是现在修改了很多。先创建一个你打算存放代码的文件夹(称作工作区),路径不能含有中文和空格。然后打开VS Code,选打开文件夹,选择刚才那个文件夹,点VS Code上的新建文件夹,名称为.vscode(这样做的原因是Windows的Explorer不允许创建的文件夹第一个字符是点),然后创建 launch.json,tasks.json,settings.json,c_cpp_properties.json放到.vscode文件夹下,效果图:复制以下代码时不要用ie打开本网页!(能碰到兼容性问题也是难得,究竟是知乎的代码编辑窗口有问题还是ie有问题……)launch.json代码:该文件除stopAtEntry可根据自己喜好修改外,无需更改。除非你不用windows,则可以用llvm调试// /Microsoft/vscode-cpptools/blob/master/launch.md
"version": "0.2.0",
"configurations": [
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true
"cwd": "${workspaceRoot}", // 调试程序时的工作目录
"environment": [], // (环境变量?)
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。
"miDebuggerPath": "gdb.exe", // 调试器路径。
"setupCommands": [
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
"preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的taskName相对应
tasks.json代码:该文件reveal可根据自己喜好修改,-std根据自己的情况修改。如果不想要额外警告,把-Wall那一条删去。如果使用Clang编译C语言,把command的值改成clang。如果使用MinGW,编译C用gcc,编译c++用g++,并把-target和-fcolor那两条删去。// /docs/editor/tasks
"version": "2.0.0",
"tasks": [
"taskName": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
"command": "clang++", // 如果用MinGW,编译C用gcc,编译c++用g++
"${file}",
"-o", // 指定输出文件名,不加该参数则默认输出a.exe
"${fileDirname}/${fileBasenameNoExtension}.exe",
"-g", // 生成和调试有关的信息
"-Wall", // 开启额外警告
"-static-libgcc", // 静态链接
"-fcolor-diagnostics",
"--target=x86_64-w64-mingw", // 默认target为msvc,不加这一条就会找不到头文件
"-std=c++1z" // c++1z即c++17,C语言最新标准为c11,或根据自己的需要进行修改
], // 编译命令参数
"type": "shell",
"group": {
"kind": "build",
"isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提
"presentation": {
"echo": true,
"reveal": "silent", // 设置是否在“终端”中显示编译信息,可以为always,silent,never。一些错误提示也在这里,但是因为有静态检测,我就设为silent了。
"focus": false,
"panel": "shared" // 不同的文件的编译信息共享一个终端面板
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", // 正则表达式,用于描述在“问题”栏中显示的信息。
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
} // 1.11.0的更新日志里说可以直接写"problemMatcher": "$gcc",但是我试了一下不行。
settings.json代码:如果你没有合并Clang和MinGW,则该文件中头文件的路径必需修改成MinGW的路径,否则Lint无效。版本号(这里是7和7.1.0)如果不同,也要修改。输gcc -v可以看到)Windows下的路径为反斜杠,原本应使用两个反斜杠来转义,但直接用斜杠在VS Code中也接受// 将设置放入此文件中以覆盖默认值和用户设置。
"files.defaultLanguage": "c", // ctrl+N新建文件后默认的语言
"c-cpp-flylint.cppcheck.enable": false,
"c-cpp-flylint.flexelint.enable": false,
"c-cpp-flylint.run": "onType", // 此选项貌似不起作用
"c-cpp-flylint.clang.includePaths": [
"${workspaceRoot}",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include/c++",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include/c++/x86_64-w64-mingw32",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include/c++/backward",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include",
"C:/llvm/include",
"C:/llvm/x86_64-w64-mingw32/include",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include-fixed"
"c-cpp-flylint.clang.defines": [
"UNICODE",
"__GNUC__=7",
"__cdecl=__attribute__((__cdecl__))"
"c-cpp-flylint.standard": [
"c11", // 如果你想要使用c89,就自己改
"c++1z" // c++1z即c++17
"code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法交互
"code-runner.executorMap": {
"c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
"cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c++1z && $dir$fileNameWithoutExt"
"code-runner.saveFileBeforeRun": true,
"C_Cpp.clang_format_sortIncludes": true
c_cpp_properties.json代码:如果你没有合并Clang和MinGW,则该文件中头文件的路径必需修改成MinGW的路径,否则IntelliSense无效。版本号如果不同,也要修改。{
"configurations": [
"name": "Win32",
"intelliSenseMode": "clang-x64",
"includePath": [
"${workspaceRoot}",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include/c++",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include/c++/x86_64-w64-mingw32",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include/c++/backward",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include",
"C:/llvm/include",
"C:/llvm/x86_64-w64-mingw32/include",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include-fixed"
"defines": [
"UNICODE",
"__GNUC__=7",
"__cdecl=__attribute__((__cdecl__))"
"browse": {
"C:/llvm/x86_64-w64-mingw32/include",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include",
"C:/llvm/lib/gcc/x86_64-w64-mingw32/7.1.0/include-fixed",
"C:/llvm/include/*",
"${workspaceRoot}"
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
"version": 2
3.写代码,编译,调试新建文件后就可以写代码了。写好以后保存一下(ctrl+S),会有Lint。插件会给一些建议性的warning(比如声明了变量但不使用),自己清楚就行。如果觉得不爽,也有方法不让它提示,比如去掉-Wall就会少一些。如果还想去掉更多的警告,我这里就不提了,自己找资料。按Alt+Shift+F(或者右键)可以格式化代码。代码文件就不用保存到.vscode文件夹下了,在工作区内就行。如果是按ctrl+N新建的文件,会出现c-cpp-flylint: A pro the document is not locally present on disk.的错误,这是因为这样新建的文件是在内存中的,还没有保存,插件找不到该文件,就报错了。保存即可解决。按ctrl+shift+B单纯编译,按f5为调试(调试前会自动编译),但如果编译出现错误它也会尝试进行调试,这样就会调试上一次编译成功的文件,所以我建议还是分开进行。加断点在列号前面点一下就行,可以加在main函数那里,f5以后就会在一开始停下来,或者launch.json中设置"stopAtEntry": true。按f11可以一步一步进行,箭头所指的那行代码就是下一步要运行的代码。左边有个调试栏,可以看到变量的值。注意:如果你只写了个hello world,不加任何断点,按f5以后黑框框一闪而过是正常现象。想程序暂停运行可以在末尾加上getchar();或者加断点。如果你不需要调试,可以直接右键选run code。现在code runner可以在新版终端中运行了,可以交互。新版终端速度提升比较明显,但是又少了显示时间的功能。4.其他设置我的一些其他的设置,用在全局settings.json里,根据自己的情况调整,不需要全部照着我的写。写完一个以后要打逗号,最后一个就不用了。"editor.fontFamily": "Consolas, 微软雅黑", // 控制编辑器字体
"workbench.colorTheme": "One Dark Pro", // 主题
"files.trimTrailingWhitespace": true, // 保存时,删除每一行末尾的空格
"workbench.colorCustomizations": {
"activityBar.foreground": "#33ff66" // 自定义颜色
"git.enabled": false, // 如果你不用git,我建议你关闭它
"editor.minimap.enabled": false, // 我个人不用minimap,就是右边那个东西
"editor.dragAndDrop": false, // 选中文字,可以拖动它们调整位置。我是不需要
"files.autoGuessEncoding": true // 启用后,会在打开文件时尝试猜测字符集编码
5.进一步学习可以阅读官方英文文档:快捷键:英文文档中当然有快捷键的信息,而且英文文档会更新。这个单独列出来还是给初学者吧。我就提示一点特别重要的:出现Intellisense或者snippets的时候按tab可以补全代码。VS Code其实是前端利器,学html, css, javascript时可以好好利用哦。6.关于乱码VS Code输出会出现乱码,很多人都遇到过。这是因为VS Code内部用的是utf-8编码,cmd/powershell是gbk编码。直接编译,会把“你好”输出成“浣犲ソ”。如果把cmd的活动代码页改成65001,会出现汉字只能显示一半的问题。Linux就没有这个问题。原本的解决方法是使用gcc,编译时用-fexec-charset=GBK这个参数,生成的程序就是GBK编码的。但是,clang的execution-charset supports only UTF-8。所以,生成的程序在cmd/ps以及VS Code的终端(其实也是powershell)中运行,输出中文还是会乱码;但是在VS Code的“输出”中就是正常的。如果想解决这个问题,可以百度“宽字符输出”。如果是打开已有的以GBK编码的文件,VS Code会以UTF-8编码打开,这样编辑器内的中文会乱码,不过对于初学C的同学来说,写的代码一般只有注释是中文。此时要点右下角的GBK,选“通过编码重新打开”,选UTF-8即可。或者装一个GBKtoUTF8插件。这样做了以后,在含有中文的路径下可以编译,但是仍然不能调试,所以还是把代码放到不含中文的路径中吧。7.其他现在cpptools也有Lint了,但是效果非常差。如果你用的是gcc而不是clang,也可以考虑把它打开。设置中"C_Cpp.intelliSenseEngine": "Default"。c_cpp_properties.json的内容来自于 ,因为这个json不允许有注释(其实按照标准本来就不能有),链接我就给在此处。如你觉得太难或者太复杂,也可以只用gcc加上Code Runner,不过这样VS Code真的就只起到编译器的作用了,和一个方便一点的记事本差不多。如果你真的从来没有接触过gcc,上面的东西也看不懂,可以看这篇回答:8.删除exe按照这样配置,长期编译代码下来肯定有一大堆的exe,还可能分散在不同的文件夹里。如果你不需要,有什么办法解决呢?其实方法蛮多的。第一种方法是把生成的文件的目录指定到一个特定的目录,里面都放的是exe。修改一下json文件不难做到。第二种方法是在cmd下输一条删除该目录及子目录下所有exe的命令(我不会用powershell……):del /q /s *.exe
不过因为有/q,所以小心使用,别把路径弄错了。第三种方法,到工作区的目录下搜索*.exe就都出来了。9.头文件报错有几位同学遇到了路径设置正确,编译也通过,但是“问题"面板里出现找不到头文件的error。我也遇到过。这个error是cpptools报的。我重现了几次,然后现在再也没有遇到过这个问题了……总之这问题原因不明,解决办法不明。有人说完全重装一遍VS Code解决了。不过反正不影响编译,就当做没看到算了。如果你遇到了又解决了可以告诉大家呦~有问题可以留言讨论,不过最好详细一点描述。原创,非商业转载请注明出处。引用的网页,侵删。9979 条评论分享收藏感谢收起查看更多回答2 个回答被折叠()  微软Build大会上,一款支持Windows、Mac&OS&X和Linux平台的原生应用,名为“&Studio&Code”让人意外,笔者之前在中介绍其功能支持linux平台。近日,在itsfoss网站上针对ubuntu的web开发人员,提供实际操作来安装Visual&Studio&Code。(图片来源itsfoss)  使用Ubuntu&Make来安装Visual&Studio&Code。据了解,Ubuntu&Make是以前Ubuntu开发者工具中心,作为一个命令行工具可以帮助用户快速安装各种开发工具、语言和IDE。同时,通过Ubuntu&Make轻松安装和其他IDE,类似。下面介绍如何使用Ubuntu&Make安装VS&Code。  安装Visual&Studio&Code  首先需要安装Ubuntu&Make。Ubuntu&Make存在Ubuntu&15.04资源库中,但需要Ubuntu&Make&0.7以上版本才能安装Visual&Studio。所以,需要通过官方PPA更新到最新的Ubuntu&Make,支持Ubuntu&14.04、14.10和15.04,但仅64位版本。  打开终端,使用下列命令,通过官方PPA来安装Ubuntu&Make:  sudo&add-apt-repository&ppa:ubuntu-desktop/ubuntu-make  sudo&apt-get&update  sudo&apt-get&install&ubuntu-make  安装Ubuntu&Make完后,接着使用下列命令安装Visual&Studio&Code:  umake&web&visual-studio-code相关:&&
提示:支持键盘“← →”键翻页使用Visual Studio Code辅助Go源码编写 | Tony Bai
使用Visual Studio Code辅助Go源码编写
十二月 23, 2016
作为,日常编码中,编辑器依然是我的首选。以前以为主要语言的时候是这样,现在以为主要语言时亦是这样。不过近期发现Mac上时,Vim时不时的“抽风”:出现一些“屏幕字符被篡改”的问题,比如下面这幅图中”func”变成了”fknc”:
虽然一段时间后,显示会自动更正过来,但这种“篡改”是会让你产生“幻觉”的。你会想:是不是我真的将”func”写成”fknc”了呢?久而久之,这个瑕疵将会影响你的编码效率。至于为何会出现这个问题,初步怀疑可能是因为vim加载较多插件导致的一些性能问题,我在安装了的台式机上至今还没发现这个问题(相同的.vimrc配置)。
于是,我打算找一款辅助编辑器,用于在被上面这个问题折磨得开始“厌恶”Vim的某些时候,切换一下,平复一下心情^0^。我看中了Microsoft开源的,简称:VSCode。
一、与Microsoft的Visual Studio的渊源
Microsoft做IDE还是很专业的,也是很认真的。大学那时候学C,嫌弃太简陋,基本上都是在D版Visual Studio 6.0上完成各种作业和小程序的制作的。后来在2001年微软发布了.net战略,发布了,同时也发布了Visual Studio .NET IDE。估计我也算是国内第一批使用到Visual Studio.NET IDE的人吧,那时候微软俱乐部在校园里免费发送Vs.net beta版光盘,我拿到了一份,并第一时间体验了vs.net。Visual Studio .NET与之前的VS 6.0有着天壤之别,功能强大,界面也做了重新设计,支持微软的各种语言,包括C#、C/C++(包括managed c++)、VB、ASP.net等,并在一年后的正式版发布后,逐渐在桌面应用程序开发中成为霸主,把那个时候在IDE领域的竞争对手彻底打垮。但从此也变得更加庞大和臃肿,安装一个VS,没有几个G空间是不行的。想想那个时候机器的配置,跑个VS.net还真是心有而力不足。
工作之后,进入服务端编程领域,结识了Unix、Linux以及、,就再也没怎么碰过Visual Studio。随着工作OS也,基本就和VS绝缘了。之后随着Java语言成为企业级应用的主角、Web时代的到来以及开源IDE(比如:Eclipse)的兴起,微软的Visual Studio不再那么耀眼,或者说是人们对于IDE的关注并不像开发GUI程序那个年代那么强烈了。但鉴于微软自身产品体系的庞大,VS始终在市场中占有一席之地。
而近些年,一些跨平台、轻量级、插件结构、支持智能感知、可随意定制的文本编辑器的出现,比如:、等让开发人员喜不自禁。这些编辑器并非定位于IDE,但功能又不输给IDE很多,尤其在支持编码、调试这些环节,它们完全可以与专业IDE媲美,但资源消耗却是像Visual Studio、这样大而全的IDE所无法匹敌的。而Visual Studio Code恰是微软在这方面的一个尝试,也是微软最新公司战略的体现之一:拥抱所有开发者(不仅仅是Windows上的哦)。
二、VSCode安装
发布于2015年4月的Build大会上。发布后,迅速得到开发者响应,大家普遍反映:VSCode性能不错、关注细节、体验良好,虽然当时VSCode的插件还不算丰富。一年多过去后,VSCode已经演化到了1.8.1版本(截至2016年12月末),支持所有主流编程语言的开发,配套的插件也十分丰富了。VSCode的安装简单的很,这一向都是微软的强项,你可以在其官方站上下载到各个平台的安装包(Linux平台也有.deb/.rpm两种包格式供选择,并提供32bit和64bit两种版本)。下载后安装即可。
1、VSCode配置和数据存储路径
VSCode安装后,一般不必关心其配置和数据存储路径的位置。但作为有一些Geek精神的developer来说,弄清楚其安装和配置的来龙去脉还是很有意义的。
VSCode存储运行数据和配置文件的目录在:~/Library/Application Support/Code下:
~/Library/Application Support/Code]$ls
CachedData/
Cookies-journal
Local Storage/
Preferences
storage.json
keybindings.json
locale.json
settings.json
workspaceStorage/
在Ubuntu中:
VSCode存储运行数据和配置文件的目录在~/.config/Code下面:
~/.config/Code$ ls
CachedData
Cookies-journal
Local Storage
storage.json
至于Windows平台,请自行探索^_^。
2、启动方式
VSCode有两种启动方式:桌面启动和命令行启动。桌面启动自不必说了。命令行启动的示例如下:
$ code main.go
code命令会打开一个VSCode窗口并加载命令参数中的文件内容,这里是main.go。
三、VSCode的配置
一般来说,VSCode启动即可用了。但要想发挥出VSCode的能量,我们必须对其进行一番配置。VSCode的配置有几十上百项,这里无法全覆盖,仅说明一下我个人比较关注的。
1、安装插件
像VSCode这种小清新文本编辑器要想对编程语言有很好的支持,必须安装相应语言的插件。以Go为例,我们至少要安装插件。vscode-go之于VSCode,就好比之于VIM。并且和类似,vscode-go实现的各种Features也是依赖诸多已存在的Go周边工具,包括:
gocode: go get -u -/nsf/gocode
godef: go get -u -/rogpeppe/godef
gogetdoc: go get -u -/zmb3/gogetdoc
golint: go get -u -/golang/lint/golint
go-outline: go get -u -/lukehoban/go-outline
goreturns: go get -u -/sqs/goreturns
gorename: go get -u -v golang.org/x/tools/cmd/gorename
gopkgs: go get -u -/tpng/gopkgs
go-symbols: go get -u -/newhook/go-symbols
guru: go get -u -v golang.org/x/tools/cmd/guru
gotests: go get -u -/cweill/gotests/...
因此,要想实现vscode-go官网页面中demo中哪些神奇的Feature,你必须将上面的这些依赖工具逐一安装成功。如果缺少一个依赖工具,VSCode会在窗口右下角的状态栏里显示:“Analysis Tools Missing”字样,以提示你安装这些工具。
VSCode当然也支持Vim-mode的编辑模式,如果你也和我一样,喜欢用vim-mode在VSCode中进行编辑,可以安装。
VSCode的插件安装方式分为两种:在线安装和VSIX方式安装。
在线安装,顾名思义,即在VSCode的窗口左侧边栏中点击“Extensions”按钮,在打开的Extensions搜索框中搜索你想要的插件名称,或者选择预制的条件获得插件信息。选中你要安装的插件,点击“Install”按钮即可完成安装。
VSIX安装:即到插件官网将插件文件下载到本地(插件安装文件一般以.vsix或.zip结尾),在窗口中选择:”Install from VSIX…”,选择你下载的插件文件即可。
安装后的插件都被放在~/.vscode/extensions目录下(mac和linux)。
2、更改语言设置
VSCode在初次启动时会判断当前系统语言,并以相应的语言作为默认窗口显示语言。比如:我的是中文OS X系统,那么默认VSCode的窗口文字都是中文。如果我要将其改为英文,应该如何操作呢?
F1登场!这里的F1可不是赛车比赛,而是快捷键F1,估计也是整个VSCode最常用的快捷键之一了。敲击F1后,VSCode会显示其“Command Palette”输入框,这里面包含了当前VSCode可以执行的所有操作命令,支持Search。我们输入”language”,在搜索结果中选择“Configure Language”,VSCode打开一个新的编辑窗口,加载~/Library/Application Support/Code/User/locale.json文件:
// 定义 VSCode 的显示语言。
// 请参阅 /fwlink/?LinkId=761051,了解支持的语言列表。
// 要更改值需要重启 VSCode。
"locale": "zh-cn"
当前语言为中文,如果我们要将其改为英文,则修改该文件中的”locale”项:
// 定义 VSCode 的显示语言。
// 请参阅 /fwlink/?LinkId=761051,了解支持的语言列表。
// 要更改值需要重启 VSCode。
"locale": "en-US"
保存,重启VSCode。再次启动的VSCode将会以英文界面示人了。
3、User Settings和Workspace Settings
UserSettings是一种“全局”设置,而Workspace Settings则顾名思义,是一种针对一个特定目录或project的设置。
UserSettings设置后的数据保存在~/Library/Application Support/Code下(以mac为例),而Workspace Setting设置后的数据则保存在某个项目特定目录下的.vscode目录下。
在菜单栏,选择【Preferences -> User Settings】可以打开~/Library/Application Support/Code/User/settings.json文件。默认情况下,该文件为空。VSCode采用默认设置。如果你要个性化设置,那么可将对应的配置项copy一份到settings.json中,并赋予其新值,保存即可。新值将覆盖默认值。以字体大小为例,我们将默认的editor.fontSize 12改为10:
// Place your settings in this file to overwrite the default settings
"editor.fontSize": 10,
保存后,可以看到窗口中所有文字的Size都变小了。
在菜单栏,选择【Preferences -> Workspace Settings】可打开当前工作目录下的.vscode的settings.json文件,其工作原理和配置方法与User Settings一样,只是生效范围仅限于该工作区范畴。
4、Color Theme
VSCode内置了主流的配色方案,比如:monokai、solarized dark/light等。F1,输入”color”搜索,选择:“Perefences: Color Theme”(在MAC上也可以用cmd+k, cmd+t打开),在下拉列表中选择你喜欢的配色Theme即可,即可生效。
四、vscode-go的使用
前面说过,和vim-go一样,vscode-go插件实现了Go编码中需要的各种功能:自动format、自动增删import、build on save、lint on save、定义跳转、原型信息快速提示、自动补全、code snippets等。另外它通过带颜色的波浪线提示代码问题(虽然有时候反应有点慢),包括语法问题、不符合idiomatic go规则的问题(比如appId这个命名,它会建议你改为appID)等。
code snippets非常好用,内置的code snippets在~/.vscode/extensions/lukehoban.Go-0.6.51/snippets/go.json中可以找到,类似这样的定义:
//~/.vscode/extensions/lukehoban.Go-0.6.51/snippets/go.json
".source.go": {
"single import": {
"prefix": "im",
"body": "import \"${1:package}\""
"multiple imports": {
"prefix": "ims",
"body": "import (\n\t\"${1:package}\"\n)"
"single constant": {
"prefix": "co",
"body": "const ${1:name} = ${2:value}"
"multiple constants": {
"prefix": "cos",
"body": "const (\n\t${1:name} = ${2:value}\n)"
"type interface declaration": {
"prefix": "tyi",
"body": "type ${1:name} interface {\n\t$0\n}"
"type struct declaration": {
"prefix": "tys",
"body": "type ${1:name} struct {\n\t$0\n}"
"package main and main function": {
"prefix": "pkgm",
"body": "package main\n\nfunc main() {\n\t$0\n}"
敲入”prefix”的值,比如”ims”,输入tab,vscode-go将为你展开为:
在使用vscode时遇到过一次代码自动补全“失灵”的问题。vscode-go只会提示:”PANIC,PANIC,PANIC”。经查,这个是 daemon的问题,我的解决方法是:
gocode close //关闭gocode daemon
gocode -s &
//重启之。
在诸多轻量级编辑器中,我还是比较看好vscode的,毕竟其背后有着Microsoft积淀多年的IDE产品开发经验。并且和Microsoft以往产品最大的不同就是其是开源项目。
关于Vscode的使用和奇技淫巧可以参见其官方的这篇文档“”。
关于Vscode的各种周边工具和资料列表,请参考。
快捷键往往是开发人员的最爱,VSCode官方制作了三个平台的VSCode的快捷键worksheet:
/shortcuts/keyboard-shortcuts-windows.pdf
/shortcuts/keyboard-shortcuts-macos.pdf
/shortcuts/keyboard-shortcuts-linux.pdf
VSCode还在快速发展,离完善还有不小提升空间。比如:在使用过程中也发现了VSCode 窗口无响应或代码编辑错乱之情况。不过作为Go编码的一个辅助编辑器,VSCode还是完全胜任和超出预期的。
& 2016, . 版权所有.
Related posts:
添加新评论
这里是的个人Blog,欢迎访问、订阅和留言!订阅Feed请点击上面图片。
如果您觉得这里的文章对您有帮助,请扫描上方二维码进行捐赠,加油后的Tony Bai将会为您呈现更多精彩的文章,谢谢!
如果您喜欢通过微信App浏览本站内容,可以扫描下方二维码,订阅本站官方微信订阅号“iamtonybai”;点击二维码,可直达本人官方微博主页^_^:
本站Powered by Digital Ocean VPS。
著名主机提供商Linode 10$优惠码:linode10,在即可免费获得。
阿里云推荐码:1WFZ0V,立享9折!

我要回帖

更多关于 visualstudiocode教程 的文章

 

随机推荐