最近想在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. JSP代码加固

    String id = request.getParameter("id"); String id = id.replace("'","") ...

  2. sql server 更新视图的sp

    create procedure RefreshAllViewas begin declare @ViewName varchar(250) declare #views cursor for sel ...

  3. odoo-10.0 create database 失败

    在初始化数据库的界面点击[create database] create database 失败 报错如下 2017-01-05 20:15:18,529 4652 INFO ? werkzeug: ...

  4. java的https请求解决证书问题

    package sqr.srchSpider.utils; import java.security.SecureRandom; import java.security.cert.Certifica ...

  5. python基础篇

    python脚本开头 #!/usr/bin/env python# -*- coding: utf-8 -*print "你好,世界" 不要问为什么,记住就好了 变量定于的规则 变 ...

  6. NHibernate使用Access数据库的配置问题

    NHibernate本身不支持Access数据库,一开始看网上各种文档,捣敲浪费了N分钟. 还是祭起Nuget神器引用NHibernate.JetDrive. 代码如下,搞定收工... private ...

  7. C(C++)输入输出格式

    c&c++输入输出控制格式 许多情况下,都需要控制输出结果的表现形式.如输出宽度.输出精度.输出格式等.C++的iomanip.h中定义了许多控制符,这些控制符可以直接插入到流中,控制数据的输 ...

  8. java编译期优化

    java语言的编译期其实是一段不确定的操作过程,因为它可以分为三类编译过程: 1.前端编译:把.java文件转变为.class文件 2.后端编译:把字节码转变为机器码 3.静态提前编译:直接把*.ja ...

  9. laravel/lumen 单元测试

    Testing Introduction Application Testing Interacting With Your Application Testing JSON APIs Session ...

  10. ruby发送邮件方法

    #encoding:utf-8require 'mail'def send_email sum,fail,case_path,name,receive smtp = { :address => ...