Ubuntu下配置VS Code C++ 环境
参考:
- https://www.cnblogs.com/foxer-z/p/12520904.html
- https://segmentfault.com/a/1190000020155987
VS Code是一个文本编辑器,类似于editplus,在上面有很多插件,在无法使用正版Visual Studio的情况下是一个比较常见的C++开发替代选择,但请注意,他并不能完全等同于IDE。
1. 安装VS Code
进入到VS Code的官网: https://code.visualstudio.com/,选择deb格式的文件下载安装即可.
2. 安装cpptools插件
打开VS Code后,按crtl + shift + P
调出命令行,然后搜索C++
,安装微软自己开发的那个:
同样可以安装C++ Intellisense插件,用于自动补全代码:
3. 安装C++的编译器/库
执行命令:
sudo apt install gcc
安装完成以后在terminal窗口运行gcc -v
确认是否安装成功;
4. 安装GNU编译工具和GDB调试工具
命令如下:
sudo apt-get update
sudo apt-get install build-essential gdb
通过定位g++和gdb来核实安装是否成功。如果文件名没有在whereis
命令中返回,试试再次运行更新命令。
whereis g++
whereis gdb
5.添加配置
在终端里切换到你的helloworld
工程目录,用code .
打开VS Code:
cd $HOME/projects/helloworld
code .
code .
命令会在当前目录打开VS code,这个目录就是你的“工作空间”。随着教程的进行,你将看到在工作目录的.vscode
目录中会创建两个文件:
tasks.json(编译说明)
launch.json(调试设置)
注意:VS Code只能打开源码所在的文件夹,而不是直接打开源码文件,否则下面将无法进行!
- 添加源代码文件:
在文件管理标题栏上选择 新文件 按钮,创建一个helloworld.cpp
文件:
- 添加
helloworld
源代码:
#include <iostream>
#include <vector>
#include <string>using namespace std;int main()
{vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};for (const string& word : msg){cout << word << " ";}cout << endl;
}
按Ctrl+S
保存文件。在VS code侧边栏的 文件管理 窗口(Ctrl+Shift+E)中,注意你刚添加的文件是怎样显示的。
你也可以打开自动保存功能,自动保存文件的改动,在 文件 主菜单中点击 自动保存 。
到这里,你如果参考网上的教程,可能会感觉到有点怪异,因为我们以前使用IDE的时候,直接找两个按钮或者菜单,编译、运行/调试,就可以跑起来了,但那是IDE。
VS code 只是一个文本编辑器,在VS code里面,需要通过插件来完成编译、运行的流程。所以需要额外增加两个配置文件来完成这个事情,这两个配置文件要放在一个叫.vscode
目录下面,你可以在你的workspace目录下创建这个目录。
- 编译helloworld.cpp:
接下来,你要创建tasks.json
文件,告诉VS code怎样编译程序。
在Cpp文件下使用快捷键ctrl+shift+P
打开搜索框,输入>tasks
,选择配置任务
,使用模板文件创建tasks.json
,选择others
:
将上述tasks.json
文件改为:
{// See https://go.microsoft.com/fwlink/?LinkId=733558// for the documentation about the tasks.json format"version": "2.0.0","tasks": [{"label": "build","type": "shell","command": "g++","isShellCommand": true,"args": ["-g", "${file}", "-std=c++11", "-o", "${fileBasenameNoExtension}.out"],"showOutput": "always"}]
}
command
选项指明要运行的程序,这个例子中是g++
。 args
数组指明要传给g++
的命令行参数,这些参数的顺序必须符合编译器要求。label
选项的值会在任务列表中显示,你可以任性地修改它。
这项工作是调用g++
编译目标文件(file),并在当前目录({file}),并在当前目录(file),并在当前目录({fileDirname})创建一个与目标文件同名的可执行文件,此教程中的例子创建helloworld.out
文件。
在终端主菜单中选择运行任务,build
--> gcc
,运行定义在tasks.json文件的编译任务:
任务开始时,源代码编辑框下面会出现终端面板。编译完成后,终端会输出编译是否成功的相关信息。编译成功的样子像这样:
执行ls
命令可以看到可执行文件helloworld.out
,在终端输入./helloworld.out
运行helloworld
:
- 调试helloworld.cpp:
接下来,你要创建一个launch.json
文件来配置VS code,让它在你按F5
时调用GDB
调试程序。
在主菜单选择运行 > 添加配置… 然后选择 C++(GDB/LLDB)。
将上述launch.json
文件改为:
{// Use IntelliSense to learn about possible attributes.// Hover to view descriptions of existing attributes.// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) Launch","type": "cppdbg","request": "launch","program": "${workspaceFolder}/${fileBasenameNoExtension}.out","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": true,"MIMode": "gdb","setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true},{"description": "Set Disassembly Flavor to Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}]}]
}
program
选项指定要调试的程序。这里设置的是helloworld.cpp
生成的目标文件helloworld.out
。
这里默认,C++扩展不会源代码中添加任何断点,stopAtEntry
的值为false
。将stopAtEntry
设为true
会在开始调试时停在main
函数位置。
6. 开始调试会话
返回helloworld.cpp
,这是目前的目标文件。
按F5
或主菜单选择运行 > 启动调试。
Ubuntu下配置VS Code C++ 环境相关推荐
- 完美解决Ubuntu16.04下配置vs code编译环境
Vs Code环境配置 引用文献 其他参考:在Ubuntu中安装VSCode并配置C/C++开发环境的方法步骤 sudo apt-get update //访问源列表,并读取软件列表 sudo apt ...
- ubuntu下配置JDK和tomcat和IDEA2017(永久激活)开发环境
一.Ubuntu下配置java环境 1.下载jdk,这里下载的是jdk8版本,地址为http://www.oracle.com/technetwork/java/javase/downloads/jd ...
- 阿里云ubuntu下配置jdk环境变量总是失效
阿里云ubuntu下配置jdk环境变量总是失效 暂时未找到解决办法,只能每次失效重新应用配置 source /etc/profile
- Star: Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易
Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易 Ethereum,中文翻译是"以太坊",是一个公有区块链的开源项目.因为以太坊是基于P2P网络所以没有中心 ...
- Ubuntu下配置Nginx HTTPS
HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入S ...
- openocd调试Linux内核,Ubuntu下配置OpenOCD+FT2232
Ubuntu下配置OpenOCD+FT2232 [1]确认调试器方案 将调试器插到电脑上,lsusb看一下: Bus 003 Device 009: ID 1457:5118 First Intern ...
- 在Linux(Ubuntu)下搭建ASP.NET Core环境并运行 继续跨平台
最新教程:http://www.cnblogs.com/linezero/p/aspnetcoreubuntu.html 无需安装mono,在Linux(Ubuntu)下搭建ASP.NET Core环 ...
- ubuntu下搭建java web开发环境的详细步骤
系统环境:Ubuntu 10.10(linux-kernel 2.6.35-22) 安装版本:apache-tomcat-7.0.29.tar.gz(官方网址:Apache Tomcat) 安装步骤: ...
- Ubuntu下配置FreeRADIUS + PPTP/L2TP + Mysql + daloRADIUS
PPTP/L2TP安装方法就不写了,前面好多文章都介绍了安装方法. 下面先安装FreeRADIUS-server Shell 1 2 3 4 5 6 7 #sudo apt-get install m ...
最新文章
- ConcurrentDictionary线程不安全么,你难道没疑惑,你难道弄懂了么?
- 10款免费工具:敏捷开发运维(DevOps)的好帮手
- XML与Web数据挖掘
- java ee cdi_Java EE CDI限定词:快速浏览
- 信息学奥赛C++语言:旅行
- 必备的Linux基础命令
- C++socket编程(八):8.2简单的基于UDP的客户端和服务端
- HDU 1085 Holding Bin-Laden Captive!
- matlab 积分进阶教程,matlab进阶微积分篇6
- 开源、私有化部署,这款知识管理系统还有多少惊喜是我们不知道的
- Linux下确认CPU是否开启超线程
- Android Lolipop AssetAtlasService引起的系统崩溃
- 电脑进程说明,常见,作用,说明,是否,查看,问题
- JS内功修炼-基础篇
- Ubuntu搭建FTP服务器后用filezella连接报错
- java程序员越来越多,为啥工资反而越来越高?
- socket编程(在线自动聊天工具) --Python3
- 选项模式(option)
- vcs 覆盖率收集2——覆盖率选项 + 合并覆盖率
- 时事评论--民间只有传说
热门文章
- 关于联想投票 华为3GPP参会代表发文:上纲上线指责联想很荒唐
- 首都师范 博弈论 6 1 动态博弈简介
- 【180609】超酷界面的VC++音乐播放器
- Android 壁纸应用之动态壁纸
- 简单FlexLCDS环境搭建以及示例
- 关于mybatis的逆向工程中分页配置
- skype for linux 下载,开源周新闻:微软重大更新Skype for Linux
- [AIO] packer-unpacker
- java ee程序员招聘_程序员招聘网
- android imageview点击图片放大缩小,Android实现ImageView图片双击放大及缩小