[转载]VSCode的第一个C++程序(Linux)

in 技术 with 0 comment

版权声明:本文为CSDN博主「码上看世界」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接https://blog.csdn.net/qq_34347375/article/details/80851417

引言

VSCode作为微软推出的一款免费的轻量级的集成开发环境,可谓是良心之作。它拥有VS的高颜值,而且像瑞士军刀一样,拥有丰富的插件,c/c++、java、python、js、html等等,它都能轻松驾驭。

安装

VSCode的安装

首先从官网下载VSCode安装包。VSCode的下载地址:https://code.visualstudio.com/Download
在linux系统下安装VSCode的命令:

# 在安装包所在目录打开终端。
# .deb文件
$ sudo dpkg -i xxxx.deb

GCC的安装

首先查看系统是否安装了GCC.如果出现了GCC的版本信息就表明系统中已经安装了GCC.

# 查看GCC版本
$ gcc -v
# 安装gcc

Get Started

打开VSCode,我们可以看到它的欢迎界面。

1.png

安装插件

在VSCode编写和调试程序是需要安装相关的插件才能进行的。
在这里我们选择安装C/C++C++ IntellisenseCode RunnerInclude Autocomplete这四插件。
我们点击扩展的图标,在搜索栏里搜索插件的名称。

2.png

点击安装,在安装完成之后,点击重新加载,这个插件就会生效。

3.png

其它的插件的安装也是如此。

helloworld

新建一个helloword文件夹,作为我们此次的工作区。在资源管理器中打开这个文件夹。
打开这个文件夹后,会发现文件夹没有源文件。这时我们需要新建一个helloworld.cpp源文件

4.png

这时我们可以编写helloworld程序了。

5.png

配置智能感知

由于文件夹的配置信息不完整,我们需要自己添加缺少的配置信息。通过快捷方式Ctrl+Shift+P运行C/CPP: Edit configuration ...命令添加缺少的信息并生成c_cpp_properties.json文件。

6.png

在Linux系统中,主要是注意"compilerPath": "/usr/bin/gcc",,如果你的gcc路径不是这个的话就需要在终端里使用whereis gcc去查看gcc的路径。

7.png

构建代码

如果你想从VS Code构建你的应用程序,你需要生成一个tasks.json文件;

打开命令面板(Ctrl + Shift + P)。选择Tasks:Configure Tasks ...命令,单击从模板创建tasks.json文件,您将看到任务运行模板列表,选择Others。

8.png

9.png

10.png

最终生成tasks.json文件

11.png

将文件内容修改如下:

12.png

程序的输出在终端中显示,要在终端向程序输入数据,那么还需要进行一点配置。
在命令面板(Ctrl+Shift+P)搜索用户配置,在用户配置文件中,找到Run Code configuration下的code-runner.runInTerminal的值改为true,更改后的结果在右边。

13.png

我们将当前页面调整到我们的源程序编辑页面,点击右上角的小三角形,即可运行我们的程序了。到目前为止,helloworld程序就这样顺利运行了。

14.png

调试代码

为了能够调试,我们还需要生成launch.json文件。
浏览到调试的窗口,去添加配置。选择C++(GDB/LIDB),生成launch.json文件。

15.png

16.png

将launch.json文件内容更改如下:

17.png

在进行调试(F5)的时候,一定要将当前页面调整到我们的源程序编辑页面。不然会出错。

18.png

写在最后

万事开头难,其实也不难,只要掌握了方法,一切都不是问题,在写完helloworld程序之后,再写其他的程序就可以把.vscode直接拿来用,略作修改即可。

附:json文件源码

//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", //在launch.json文件中有用到
            "type": "shell",
            "command": "g++",
            "args": [
                "-g", "helloworld.cpp"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}
//launch.json
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",                                 //配置名称,会在启动配置的下拉菜单中显示
            "type": "cppdbg",                                       //配置类型,只能为cppdbg
            "request": "launch",                                    //请求类型,可以为launch或attach
            "program": "${workspaceFolder}/a.out",             //将要调试的程序的路径
            "args": [],                                             //调试时传递给程序的命令行参数
            "stopAtEntry": false,                                   //设为true程序会暂停在入口处
            "cwd": "${workspaceFolder}",                            //调试程序时的工作目录
            "environment": [],                                      //环境变量
            "externalConsole": true,                                //调试时是否显示控制台窗口
            "MIMode": "gdb",                                        //指定连接的调试器,可以为gdb或lldb
            "miDebuggerPath": "/usr/bin/gdb",                       //gdb路径
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build"                                //调试开始前执行的任务,一般为编译程序
        }
    ]
}
Responses