Ubuntu下安装并配置VS Code编译C++
作者:tongqingliu
转载请注明出处:http://www.cnblogs.com/liutongqing/p/7069091.html
Ubuntu下安装并配置VS Code编译C++
网上看了很多教程,写的都不细致,或者我理解不够透彻,一步一步操作下来,总是错误百出。好不容易成功一次,现将完整过程记录如下
安装VS Code
sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
sudo apt-get update
sudo apt-get install ubuntu-make
sudo umake web visual-studio-code
然后按a直接默认同意就可以。
安装插件
打开VS Code后,按crtl + shift + P调出命令行,然后搜索C++,安装微软自己开发的那个。
同样可以安装C++ Intellisense插件,用于自动补全代码。
配置launch.json和tasks.json
注意VS Code只能打开源码所在的文件夹,而不是直接打开源码文件,否则下面将无法进行!
打开源码所在文件夹后,在该文件夹中打开源码。按F5键,选择C++,

然后会自动生成launch.json文件,下面只需要修改两个地方
将
"program": "enter program name, for example \${workspaceRoot}/a.out",
改为
"program": "${workspaceRoot}/a.out",
将
"cwd": "\${workspaceRoot}",
改为
"cwd": "${workspaceRoot}",
完整的launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/a.out",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
然后,调出命令行,输入Task Runner,选择others

此时将自动生成tasks.json
将其中的
"command": "echo",
改为
"command": "g++",
将
"args": ["Hello World"],
改为
"args": ["-g","${workspaceRoot}/main.cpp"],
注意这里的main.cpp要和你当前路径的源码名称一致。
完整的tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "0.1.0",
"command": "g++",
"isShellCommand": true,
"args": ["-g","${workspaceRoot}/main.cpp"],
"showOutput": "always"
}
运行测试
随便编写个代码
#include<iostream>
using namespace std;
int main()
{
cout<<"hello VS Code"<<endl;
return 0;
}
按crtl + shift + B构建,按F5运行,发现终端一闪而过,什么都没有输出。于是考虑Windows下的办法。
#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
cout<<"hello VS Code"<<endl;
system("pause");
return 0;
}
同样并没有卵用。那就换一种方式。
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
cout<<"hello VS Code"<<endl;
getchar();
return 0;
}
按crtl + shift + B构建,按F5运行,程序完美输出。有图为证,哈哈

后记:
期间在终端里执行了以下操作
sudo apt-get install clang
如果提示Clang有错可以运行该命令,安装clang。
那么问题来了,是不是换个文件夹每次写个代码都得配置lauch.json和task.json文件呢?或者将.vscode文件夹复制到当前文件夹下?这样岂不是很麻烦,细思极恐
参考:
Ubuntu下安装并配置VS Code编译C++的更多相关文章
- Ubuntu下安装并配置TexStudio
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7069715.html Ubuntu下安装并配置TexStudio Ubunt ...
- ubuntu下安装和配置最新版JDK8傻瓜教程
ubuntu下安装和配置最新版JDK8傻瓜教程 听语音 | 浏览:18940 | 更新:2014-07-14 22:13 | 标签:ubuntu 1 2 3 4 5 6 分步阅读 ubuntu系统通常 ...
- Ubuntu下安装和配置Apache2,小编觉得挺不错的,现在就分享给大家
本篇文章主要介绍了详解Ubuntu下安装和配置Apache2,小编觉得挺不错的,现在就分享给大家,也给大家做个参考.有兴趣的朋友可以了解一下.(http://xz.8682222.com) 在Ubun ...
- 阿里云Ubuntu下安装、配置权限和导入本地mongodb
---恢复内容开始--- 第一部分:首先先在Ubuntu下安装好mongodb,步骤如下: 首先我们需要借助远程管理工具链接到阿里云上的ubuntu系统,接着进行如下操作 一.导出软件源的公钥 sud ...
- Win10+WSL2+Ubuntu 18.04(WSL下)+VS Code(Win10下)+TexLive 2019(Ubuntu下)安装和配置
本人手头电脑是Win10 Home版全新安装的系统,由于不想在新系统盘里面安装TexLive导致固态硬盘不断扩大,所以,考虑安装Ubuntu做为WSL,然后把TexLive安装在Ubuntu,并通过V ...
- Ubuntu下安装和配置Apache2
http://www.blogjava.net/duanzhimin528/archive/2010/03/05/314564.html 在Ubuntu中安装apache 安装指令:sudo apt- ...
- ubuntu下安装和配置apache2+SVN的详细方法介绍
ubuntu安装和配置SVN第一步:安装apache2 libapache2-svn subversionsudo apt-get install apache2sudo apt-get insta ...
- linux -- Ubuntu下安装和配置Apache2
在Ubuntu中安装apache 安装指令:sudo apt-get install apache2 启动和停止apache的文件是:/etc/init.d/apache2 启动命令:sudo apa ...
- ubuntu下安装基本配置
安装ubuntu更新: sudo apt-get update sudo apt-get upgrade 安装Docky: sudo add-apt-repository ppa:ricotz/doc ...
随机推荐
- Lua快捷键
快捷键 含义 ctrl + shift + L 多行编辑 ctrl + D 继续向下选中下一个相同的文本 Alt + F3 选中所有相同所选中德文本
- javascript 函数和作用域(闭包、作用域)(七)
一.闭包 JavaScript中允许嵌套函数,允许函数用作数据(可以把函数赋值给变量,存储在对象属性中,存储在数组元素中),并且使用词法作用域,这些因素相互交互,创造了惊人的,强大的闭包效果.[upd ...
- 最大流算法之EK(最短路径增广算法)
这是网络流最基础的部分--求出源点到汇点的最大流(Max-Flow). 最大流的算法有比较多,本次介绍的是其中复杂度较高,但是比较好写的EK算法.(不涉及分层,纯粹靠BFS找汇点及回溯找最小流量得到最 ...
- 画地为Mask,随心所欲的高效遮罩组件[Unity]
在上一篇博文"扔掉遮罩,更好的圆形Image组件"中,笔者改变Image的顶点数据,使得Image呈圆形显示,避免了Mask的使用,从而节省Drawcall消耗,提高渲染效率了.这 ...
- Web 版 powerdesigner (Canvas) 技术分享
演示地址:http://www.netuml.com:8088 <canvas></canvas>是HTML5出现的新标签,像所有的dom对象一样它有自己本身的属性.方法和事 ...
- JS-监听文本回车事件写入数据表单
场景 ERP系统扫描输入货品编号到文本框后,触发写入记录到数据表格,并对数据进行渲染. 解决方案 通过发现回车或者换行符,则写入数据表格 代码 //监听文本框输入事件 $('#gidinp ...
- java基础---->hashMap的简单分析(一)
HashMap是一种十分常用的数据结构对象,可以保存键值对.它在项目中用的比较多,今天我们就来学习一下关于它的知识. HashMap的简单使用 一.hashMap的put和get方法 Map<S ...
- [笔记]ACM笔记 - 组合数
一.高中数学公式复习 , (好吧这个没学过但是既然看到了就一并抄过来了) 二.快速求组合数取模C(n, m)%p 当n和p大小不同时方法有不同. 1. n很小,p随意,p不需要为素数 1) 原理 使用 ...
- SPRING AOP ....0 can't find referenced pointcut
下载最新的aspectjweaver就可以了,因为JDK的版本的问题不兼容. //织入点语法 @Pointcut("execution(public * com.frank.dao..*.* ...
- 【CSS入门基础,有需要的看过来哦】心境,心静,不轻言放弃!---致CSS
整理一下近一周学习的有关CSS的基础知识笔记: CSS语法必须写在<style>标签中哦~/*注释*/ [CSS常用背景属性]background background-color:背景色 ...