在deepin 15.5中安装vs code并配置c/c++环境
原文地址:https://blog.csdn.net/DefetC/article/details/79946100
参考了以下几篇文章:
https://www.zhihu.com/question/30315894/answer/154979413(虽然讲解的是Windows环境中的安装,但十分详尽,很有参考价值);
https://my.oschina.net/u/1044667/blog/832111;
https://blog.csdn.net/u011258217/article/details/78693564
一、vs code安装
直接在deepin商店下载即可。
二、安装gcc/g++
命令行: sudo apt-get install build-essential
三、插件安装
C/C++(制作者是microsoft,最基础的插件)
Code Runner(实用工具,可以选中代码块后,右键选择“run coder”直接运行代码,右上角也有快捷按钮)
下面的插件都是知乎那篇文章推荐的:
C/C++ Clang Command Adapter:提供静态检测(Lint)
Include Autocomplete:提供头文件补全
C/C++ Snippets:Snippets即重用代码块
其他可选插件:
Bracket Pair Colorizer:彩虹花括号
One Dark Pro:大概是VS Code安装量最高的主题
GBKtoUTF8:把GBK编码的文档转换成UTF8编码的
clang是和gcc/g++类似的编译器,区别不在此细究。知乎那篇文章推荐clang,不过我还没有研究其在linux的配制方法。本文使用g++作为编译器。
四、配置文件
用VSCode打开项目文件夹,打开一个源文件,直接快捷键ctrl + shift + D,点击设置图标,弹出的选择中选C++(GDB/LLDB),会自动创建项目的launch.json文件(官方文档 ),默认是调试配置。不过为什么不是运行配置?
修改其中的program字段值,改为编译生成的可执行文件路径。如 "program": "${workspaceRoot}/${fileBasenameNoExtension}.out"。即,若源文件是case.c,则将调试case.out文件。
给launch.json添加一个任务选项: "preLaunchTask": "build","preLaunchTask"可以是"build",也可以是“compile”,不过必须与tasks.json中的“label”一致(后面会提到)。
下面给出代码:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceRoot}/${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
}
],
"preLaunchTask": "build"
}
]
}
接下来按F5调试,此时弹出一个信息框,选配置任务,选择后点击Others,跳出tasks.json(官方文档 )配置文件,配置一个名为”build“的任务。
直接贴代码吧:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks":
[
{
"label": "build",//任务名,和lanuch.json中的"preLaunchTask":"build"一致
"type": "shell",
"command": "g++",
"args":["-g","${workspaceRoot}/${fileBasenameNoExtension}.cpp","-o","${fileBasenameNoExtension}.out"],//要编译的文件mian_test.cpp,${workspaceRoot}表示vscode所打开的工作目录
"problemMatcher":
{
"owner":"cpp",
"fileLocation":["relative","${workspaceRoot}"],
"pattern":
{
"regexp": "^([^\\\\s].*)\\\\((\\\\d+,\\\\d+)\\\\):\\\\s*(.*)$",
"file": 1,
"line":2,
"column":3,
"severity": 4,
"location": 2,
"message": 5
}
}
}
]
}
五、解决一点小问题
接下来继续按F5,弹出一个问题:“Unable to start debugging. No terminal is available to launch the debugger. Please install Gnome Terminal or XTerm”
很好解决,只需要到deepin商店中下载gnome-terminal即可。
至此,环境已经初步建成。
六、细节
Ctrl+shift+d是编译,F5是编译+调试。
七、下一步安排
研究编译器clang的配置方法
在deepin 15.5中安装vs code并配置c/c++环境的更多相关文章
- deepin 15.11 成功安装 jupyter notebook
系统环境: OS:deepin 15.11(均为系统默认配置) Anaconda Distribution 64位(x86)安装程序(517 MB) Jupyter 官方提供三种安装方式:conda. ...
- Visual Studio Code (vscode) 配置 C / C++ 环境
Visual Studio Code (vscode) 配置 C / C++ 环境 昨天突发奇想,想使用vscode配置C++环境,因为不想下载 Dev OR codeblock,然后借助了很多网上教 ...
- VMware Workstation 15 Pro中安装ubuntu1804
这篇笔记是一篇安装教程,没有什么实际的意义,仅为了记录一下……距离上次弄这东西不知道多长时间了,以至于这次再次使用时很是生疏,于是就想着把过程记录下来方便之后查看. 这里不涉及VMware Works ...
- 在Ubuntu14.04中安装Py3和切换Py2和Py3环境
前几天小编给大家分享了如何安装Ubuntu14.04系统,感兴趣的小伙伴可以戳这篇文章:手把手教你在VMware虚拟机中安装Ubuntu14.04系统.今天小编给大家分享一下在Ubuntu14.04系 ...
- deepin的15.11中安装nvidia最新435版本驱动
换了一个电脑,跟随潮流,CPU是不带集显的,操作系统从原来的硬盘一通搬过来的 其中Deepin Linux更新到15.11. 显卡是2060的,在Deepin中目前只集成了390的nvidia驱动,无 ...
- Deepin 15.4 编译安装 LNMP(PHP 5.6.31 + Nginx 1.12.1 + MySQL 5.6.36)
先查看先前的文章:Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记 编译 Nginx #安装依赖库 sudo apt-get -y i ...
- Deepin 15.4 破解安装 SecureFX-7.3 失败
参考先前的文章(Ubuntu 14 安装并破解SSH工具 SecureCRT),破解安装 SecureCRT-7.3 成功,但是破解安装 SecureFX-7.3 时就一直报错: Insuffici ...
- Deepin 15.5上安装 Node.js
Node.js 源码安装 以下部分我们将介绍在Ubuntu Linux下安装 Node.js . 其他的Linux系统,如Centos等类似如下安装步骤. 在 Github 上获取 Node.js 源 ...
- Linux入门(15)——Ubuntu16.04安装codeblocks搭建C/C++的IDE环境
安装codeblocks: sudo add-apt-repository ppa:damien-moore/codeblocks-stable sudo apt-get update sudo ap ...
随机推荐
- 什么是面向切面编程AOP
一丶前言 看过一些描述关于AOP切面编程的文章,写的太概念化让人很难理解,下面是我自己的理解,希望能帮到新人,如有错误欢迎指正. 二丶AOP是什么,它的应用场景是什么? AOP也跟IOC,OOP这些思 ...
- 【Swift 3.0】iOS 国际化切换语言
有的 App 可能有切换语言的选项,结合系统自动切换最简单的办法: fileprivate var localizedBundle: Bundle = { return Bundle(path: Bu ...
- 04 Django REST Framework 认证、权限和限制
目前,我们的API对谁可以编辑或删除代码段没有任何限制.我们希望有更高级的行为,以确保: 代码片段始终与创建者相关联. 只有通过身份验证的用户可以创建片段. 只有代码片段的创建者可以更新或删除它. 未 ...
- Django之自带的认证系统 auth模块
01-Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Dj ...
- 数据库和SQL面试题基础知识(持续更新)
数据库方面基础知识复习 常问小问题: 一.like查询大小写问题: sql查询结果去重 SELECT distinct name FROM 表:平均数avg 一.like查询大小写问题: ①用bina ...
- python基础概念(转)
基础回顾: 1.集合 集合有2个重要作用:关系测试(并集,差集,交集)和去重. 2.文件编码 2.7上默认文件编码是ASCII码,因为不支持中文,就出了GB2312,在2.7上要支持中文就必须申明文件 ...
- 【php-fpm】启动PHP报错ERROR: [pool www] cannot get uid for user 'apache'
将@php_fpm_user@改为当前系统的用户名apache, 然后重新启动就ok了 注意:创建apache用户及用户组,上述命令换deamon为apache
- Swagger如何测试Date类型参数
问题 Swagger测试时,参数直接输入日期格式化后的类型,会报参数日期转换错误 :ConversionFailedException 解决 网上说在参数上添加注解 @DateTimeFormat(p ...
- Django 信号
信号 Django 提供一个“信号分发器”,允许解耦的应用在框架的其它地方发生操作时会被通知到. 简单来说,信号允许特定的sender通知一组receiver某些操作已经发生. 这在多处代码和同一事件 ...
- Wannafly Union#1
题目链接:http://vjudge.net/contest/142053#overview A.题意:有一个3*n的隧道,人和车轮流走,人先向右走一步,然后选在是在原地不动还是上下移动一格,之后车开 ...