Linux / Ubuntu上使用vscode编译运行和调试C/C++

来源链接:https://zhuanlan.zhihu.com/p/80659895

写文章
Linux / Ubuntu上使用vscode编译运行和调试C/C++

Linux / Ubuntu上使用vscode编译运行和调试C/C++

38 人 赞同了该文章

一、前期准备

  1. 首先在微软官网下载并安装好visual stdio code

2. 因为vscode只是一个代码编辑器,没有自带有C/C++的编译器,因此我们需要安装一个C/C++编译器,打开终端依次输入,确保安装好gcc/g++和gdb

sudo apt-get update
[有密码则输入密码]
sudo apt-get install gcc
[有密码则输入密码]
sudo apt-get install g++
[有密码则输入密码]
sudo apt-get install gdb
[有密码则输入密码]

3. 安装必要的插件,打开vscode,点击左面竖排第五个按钮,搜索并安装上如下两个插件

  • C/C++
  • Code Runner

安装好以后重启一下vscode,为避免出现其他问题,先暂时不要安装其他插件界面给你推荐的插件

二、编译运行程序

编译运行程序将介绍两种方法

  1. 使用之前安装好的Code Runner插件一键编译运行程序
  2. 打开vscode的集成终端使用命令行编译和运行

点击:文件>新建文件,出现一个空白文档,我准备了一段测试用的代码,请复制粘贴到空白文档中

#include <stdio.h>
int main(){
   char name[100];
   printf("What is your name?\n");
   scanf("%s",name);
   printf("Hello,%s,nice to meet you!\n",name);
}

然后按Ctrl+S并将文件后缀名改为.c.cpp后保存到电脑上,然后点击右上角的三角形按钮(原本这个位置没有,是安装Code Runner插件后新增的一键编译运行程序的按钮),或者按Ctrl+Alt+N就能编译运行当前程序

这就是使用Code Runner插件运行程序的方法,点击右上角的垃圾桶图标可以直接结束程序运行

同时可以按ctrl+~打开集成终端在其中输入命令行指令来编译运行



下面开始正式配置调试环境

首先在电脑上你习惯的位置新建一个文件夹,用于存放编写的代码,接下来配置好的调试环境,仅会对存放在这一个文件夹以及文件夹的子目录里程序生效!

新建好文件夹后,在vscode界面,点击:文件>打开文件夹,打开刚刚新建的文件夹(我的文件夹名叫CODE)

再点击新建文件夹在打开的文件夹下新建一个 .vscode文件夹(注意前面的"."号)

然后在.vscode文件夹下新建两个json文件分别叫做

  • launch.json
  • tasks.json

然后将下面的代码复制到对应的json文件中去并保存

launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C/C++",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "preLaunchTask": "compile",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

tasks.json

如果需要是c语言也就是gcc将下面的command项由g++改为gcc
{
    "version": "2.0.0",
    "tasks": [{
            "label": "compile",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

事实上现在已经可以正常调试了

并且此时可以按 ctrl+shift+b 直接调用配置好的g++ task 编译程序而不运行程序,类似于一些IDE的编译选项

很多地方写得不太详细,某些地方可以参考

唐铭:windows 10上使用vscode编译运行和调试C/C++ zhuanlan.zhihu.com图标

编辑于 2020-03-22
C / C++
Linux
Visual Studio Code
赞同 38 15 条评论
分享
喜欢 收藏

文章被以下专栏收录

推荐阅读

    使用 Visual Studio Code 搭建 C/C++ 开发和调试环境

    使用 Visual Studio Code 搭建 C/C++ 开发和调试环境

    你的Ubuntu还可以这么美

    你的Ubuntu还可以这么美

    VS Code 搭建 C/C++ 编译运行环境的四种方案

    更新记录2019.03.23:重构,并适配 C/C++ 插件的 0.22 更新。2018.10.31:更新 launch.json 描述以适配 C/C++ 插件的 0.20.0 更新。2018.10.10:更新 tasks.json 描述以适配 v1.28,更新方…

    win10使用Ubuntu+VSCode编写python

    win10使用Ubuntu+VSCode编写python

15 条评论

切换为时间排序
  • 林萧晟
    林萧晟 1 个月前
    大兄弟,我建.vscode文件夹的时候,显示已经有了,不能建,但我又找不到这个咋整
  • 唐铭
    唐铭 (作者) 回复 林萧晟 1 个月前
    那就不用新建了,直接用就行
  • 小苹果
    小苹果 回复 林萧晟 23 天前

    .vscode是隐藏文件

  • 风巷
    风巷 1 个月前
    已经解决,十分感谢
  • 两秒的对望
    两秒的对望 1 个月前

    你好,请问有用vscode调用自己编译器(就是自己编译出的gcc那种)的方法吗?

  • 唐铭
    唐铭 (作者) 回复 两秒的对望 1 个月前
    只要环境变量设置好了就一样的使用啊
  • 小闲者
    小闲者 回复 两秒的对望 16 天前
    我不是特别喜欢各种插件
    在task.json里面写好感觉就很不错了,然后用一些预定义变量就能很智能
  • 查看全部 7 条回复
  • ruki
    ruki 13 天前
    可以用xmake外加vscode-xmake插件,内置多平台编译+调试,就不用额外配置task和launch了
  • Tyler
    Tyler 1 天前
    终端短时间内sudo输一次密码就可以了吧?
  • 唐铭
    唐铭 (作者) 回复 Tyler 1 天前
    需要输入会有提示的,而且本身可以关
发布了103 篇原创文章 · 获赞 29 · 访问量 4940

猜你喜欢

转载自blog.csdn.net/weixin_43956456/article/details/105674295