最近想在linux上编译c++代码,自己却一直习惯window上的IDE。以前公司要我写Linux代码的时候,我一般都是用eclipse + CDT,而eclipse这东西吧,我个人感觉因为加载组件太多了,打开非常慢,所以不怎么想用它。后来用了一下vim + cmake 来搞,编译是可以了,调试又有点麻烦。今天在逛CSDN的时候看了一篇帖子说visual studio code 可以编译调试C++,我马上跑去微软的网站找到了  c/c++ for vs code,我就简单记录下编译过程:

一、快捷键

1、Open the Command Palette (Ctrl+Shift+P)

2、You can now build your application with (Ctrl+Shift+B)

3、press(Ctrl+Shift+O),then enter the name of the symbol you're looking for

4、To search for a symbol in the current workspace,start by pressing (Crtl + T)

二、安装编译调试过程(我不重复写了)

1、安装的话可以直接到这里去看,很简单的: c/c++ for vs code,如果看不懂英文的话,有个哥们也写基本过程:http://blog.csdn.net/q932104843/article/details/51924900

三、调试第三方库,比如(muduo库)

由于VSCode是用GCC去编译的,熟悉GCC非常重要,如果不熟悉GCC可以参考《gcc技术参考大全》。

1.  按照这篇文章来安装muduo库

2.用vscod来打开 echo例子目录,截图如下:

2、配置launch.json,如下图:

首先点击 debug按钮(红色数字1),然后在点击 配置按钮(红色数字2),在弹出来的选项中选择:GDB。

最后 把"enter program name for example ${workspaceRoot}/a.out" 改成 "${workspaceRoot}/a.out"。(红色数字3和4)

3、配置tasks

首先按快捷键: ctrl + shift +p ,再输入:>tasks,再弹出的下拉选项中选:Tasks:Configure Task Runner,如下图:

好了,我们把默认的tasks.json修改成如下图所示:

至于为什么要改成这样呢?可以用终端打开echo目录,输入:

g++ -g -o a.out echo.cc main.cc -I /home/lh/Downloads/build/debug-install/include/ -L /home/lh/Downloads/build/debug-install/lib/ -lmuduo_base -lmuduo_net -lpthread

就可以看到echo目录多了a.out文件。其实vscode也是用GCC命令来编译,它的参数(红色数字2)也基本和GCC的参数一样。

我们可以直接用快捷键:  ctrl + shift +B来编译,也可以看到echo目录下多出了a.out文件。

4、调试程序

首先设置断点(红色数字2)如下图:

点击 debug按钮(红色数字1),如下图

可以看到了各种local变量,证明调试成功了。

ubuntu下使用visual studio code来编译和调试C++的更多相关文章

  1. 在ubuntu下使用visual studio code编写python

    感觉有了visual studio code之后,不管编写什么语言的代码都可以,简单安装对应的语言插件即可. 这不轮到了最近比较热的python语言,蹭着AI的热度,python语言成为了工程师们又一 ...

  2. ubuntu下安装Visual Studio Code

    环境准备 先安装一般umake没有问题 sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo ...

  3. visual studio code(vscode) 调试php(转)

    原文链接:http://www.cnblogs.com/CLR010/p/5276077.html visual studio code(vscode) 调试php   1.下载vscode (vis ...

  4. 64 位win 7或windows 8下的visual studio不能连接Oracle数据库调试网站的问题

    在64 位win 7或windows 8系统下,visual studio直接F5运行网站调试,你会发现不能连接Oracle数据库,会报一个“ORA-06413: Connection not ope ...

  5. Windows下使用Visual Studio Code搭建Go语言环境

    1.安装GO语言   下载地址:    https://golang.org/dl/   Windows下直接运行安装GO语言即可.     安装成功.   安装完毕GO语言后,需要添加GOPATH环 ...

  6. windows下用visual studio code 调试go代码

    http://www.golangtc.com/download下载安装包或压缩包 配置环境变量 配置GOROOT: 配置PATH:在PATH最后添加 配置GOPATH:GOPATH的作用请自行百度, ...

  7. 在 Ubuntu 中使用 Visual Studio Code

    前言 我一直在 Linux 桌面系统下的探索寻找各种界面美观.使用舒适的软件工具.对于Linux下的开发人员来讲,这几年最大的福利就是 MicroSoft 推出的 Visual Studio Code ...

  8. centos下安装visual studio code出现can't find libXss.so.1,出现这在类似怎么查找相关包

    在安装visual studio code时候.出现libXss.so.1被依赖,这个so文件要查看是属于那个包,通过此命令repoquery --nvr --whatprovides libXss. ...

  9. 基于Visual Studio Code搭建Golang开发调试环境【非转载】

    由于对Docker+kubernetes的使用及持续关注,要理解这个平台的原理,势必需要对golang有一定的理解,基于此开始利用业余时间学习go,基础语法看完之后,搭建开发环境肯定是第一步,虽然能g ...

随机推荐

  1. RadioButtonList的使用

    前台绑定: <asp:RadioButtonList ID="hlBatchYuJi" runat="server" RepeatColumns=&quo ...

  2. 《Android深度探索HAL与驱动开发》第三章阅读心得

    Git是Linux内核代码对源代码进行管理的软件,他的各方面要优与其他同类的源代码管理软件. 安装Git后,查看Git文档在Linux下可以直接使用man命令看指令的帮助文档.安装git-doc后会安 ...

  3. Sqlserver 函数(例子)

    --SQL SERVER 2008 函数大全/*author:TracyLeecsdncount:Travylee*/ /*一.字符串函数:1.ascii(字符串表达式)   返回字符串中最右侧字符的 ...

  4. Java中封装、继承和多态

    封装: 封装实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度. 适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性. 访问修饰符有public,private,prot ...

  5. linux计划任务

    一.单一计划任务 安装at: # yum -y install at 启动: # /etc/init.d/atd start 查看是否运行: # ps aux | grep atd 创建计划 # at ...

  6. Exynos 4412

    Exynos 4412采用了三星最新的32nm HKMG工艺,是三星的第一款四核处理器 1.启动 有时间再接着写……

  7. 用composer安装Yii

    YII2通过Composer安装方法http://www.yiichina.com/download 一.Composer安装首先到https://getcomposer.org/doc/00-int ...

  8. php中判断字符串是否全是中文或含有中文的实现代码

    <?php header('Content-type:text/html; charset=utf-8'); $str = '你好'; if(preg_match('/^[\x{4e00}-\x ...

  9. 关于电信cdma基站nid,sid,bid的解释

    通过cdma的基站代码确定该基站的经纬度位置,必须知道Sid.Nid.Bid这三个基站数据,缺一不可. SID 是系统识别码,每个地级市只有一个sid,是唯一的. NID是网络识别码,由各本地网管理, ...

  10. C++中vector的remove用法

      我将从remove的复习开始这个条款,因为remove是STL中最糊涂的算法.误解remove很容易,驱散所有关于remove行为的疑虑——为什么它这么做,它是怎么做的——是很重要的. 这是rem ...