VS code ubuntu18.04 环境,下载安装调试

背景: 公司要用vs code 在linux下跑通代码单步调试。下面是具体的操作。

安装环境:ubuntu 18.04, 系统自带的gcc 7.3.0

下载地址:https://code.visualstudio.com/

点击下载 .deb格式的文件

不需要修改,选择open with software install(default),点击ok。下载完成后,点击install,就可以安装了。

安装完成后,可以看到/usr/bin下有一个code可执行文件,直接在命令行输入code,就可以打开图像编辑界面。

按ctrl+p打开快速命令框,输入ext install cpptools

点击install安装插件,

安装完成后,需要点击reload,使安装生效。Reload之后的效果:

建议安装的插件:

c/c++:代码调试插件

code runner:必装,提供编译后程序的运行环境

c/c++ compile run :单文件编译

c/c++ snippets:代码自动补全

epitech c/c++ :为C/C++文件添加头部(包括作者、创建和修改日期等),并为.h头文件添加防重复的宏

c/c++ advanced lint  :静态检查工具扩展

编写代码

自己建一个文件夹,路径最好是全英文的。使用vs code打开文件夹:

File-->open folder-->选择你的文件夹,打开,工作区域如下所示:

编写一段helloworld代码,命名为hello.cpp:

#include <stdio.h>

//#include <stdlib.h>

//#include <pthread.h>

 

int main()

{

    printf("hello world !\n");

    //system("pause");

 

    int i = 0;

 

    i += 10;

 

    printf("this is the end of the world!\n");

 

    return 0;

}

编写完代码,可以配置调试相关环境和具体的构建命令了。

 

修改配置文件

点击左侧第4个按钮,打开了调试界面。再点击工具栏带红点的齿轮按钮,选择C++(GDB/LLDB),会自动生成一个Launch.json.

 

需要修改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}/bin/${fileBasenameNoExtension}.debug.out",

            "args": [],

            "stopAtEntry": false,

            "cwd": "${workspaceFolder}",

            "environment": [],

            "externalConsole": false,

            "MIMode": "gdb",

            "preLaunchTask": "hello_",

            "setupCommands": [

                {

                    "description": "Enable pretty-printing for gdb",

                    "text": "-enable-pretty-printing",

                    "ignoreFailures": true

                }

            ]

        }

    ]

}

 

工具栏  termital --> configure default build task --> create tasks.json file from template --> select a task template --> 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": "hello_",

            "type": "shell",

            "command": "gcc -g ${file} -o ${workspaceFolder}/bin/${fileBasenameNoExtension}.debug.out",

            "problemMatcher": {

                "owner": "cpp",

                "fileLocation": ["relative", "${workspaceFolder}"],

                "pattern": {

                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",

                    "file": 1,

                    "line": 2,

                    "column": 3,

                    "severity": 4,

                    "message": 5

                }

            },       

            "presentation": {

                "reveal": "always",

                "panel": "new"

            } // display output

        }

    ]

}

 

设置code runner调试环境

code runner的修改步骤:

点击vs code的工具栏:File-->preferences-->settings-->输入 code runner-->edit in settings.json

 

默认是不能编辑的,需要点击左侧的修改图标(铅笔图标),在右侧出现的user settings中进行修改。

如下图,左侧是默认的,右侧是用户配置的。

在右侧中修改标红的2行即可。这里设置了编译的结果放在代码路径的bin目录下,所以,需要在代码路径下手动创建一个bin文件夹。

"c": "cd $dir && gcc $fileName -o bin/$fileNameWithoutExt.out && cd bin && ./$fileNameWithoutExt.out",

        "cpp": "cd $dir && g++ $fileName -o bin/$fileNameWithoutExt.out && cd bin && ./$fileNameWithoutExt.out",

 

还需要设置2个勾选项,搜索相应的配置项,勾选即可:

"code-runner.runInTerminal": true,

"code-runner.ignoreSelection": true,

 

运行效果:

使当前编辑的文件为main()所在的.cpp文件,按F5,就可以看到运行的结果了。如需要调试,可以在需要的位置打断点进行调试。

右键-Run Code 或者按Ctrl+Alt+N,可以看到code runner运行的结果。

 

可能会遇到的问题:

linux vs code F5后,Stopping due to fatal error: NullReferenceException: Object reference not set to an instance of an object

 

解决方案:

Launch.json 下"externalConsole": false

 

快捷键

  • Continue / Pause F5
  • Step Over F10
  • Step Into F11
  • Step Out Shift+F11
  • Restart Ctrl+Shift+F5
  • Stop Shift+F5

 

Shift+Tab: 对齐缩进

Ctrl+Shift+D: debug view

Ctrl+Shift+E: File Explorer view

Ctrl+space 提示可用参数

参考链接:

https://blog.youkuaiyun.com/zhouyingge1104/article/details/80669995

https://www.cnblogs.com/lidabo/p/5888997.html

https://code.visualstudio.com/docs/editor/variables-reference

https://code.visualstudio.com/docs/editor/tasks-appendix

https://blog.youkuaiyun.com/qq_31359295/article/details/75113078

https://blog.youkuaiyun.com/qq_37968132/article/details/79685646

https://cutecoot.iteye.com/blog/1992595

https://github.com/Microsoft/vscode-cpptools/issues/2922

### 配置 VS Code 支持 C 语言开发 在 Ubuntu 18.04 上配置 Visual Studio Code (VS Code) 作为 C 语言开发工具涉及多个步骤,包括安装必要的组件、配置编译器以及设置调试环境。 #### 安装 VS Code 和必要依赖 为了使 VS Code 能够支持 C 语言开发,需要先安装 VS Code 及其相关扩展。此外,还需要安装 GCC 编译器和 GDB 调试器来完成代码的构建与调试过程[^2]。 ```bash sudo apt update sudo apt install software-properties-common sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install gcc gdb code ``` 上述命令会更新包列表并安装最新版的 GCC 编译器、GDB 调试器以及 VS Code 应用程序。 #### 安装 C/C++ 扩展 打开 VS Code 后,在扩展市场中搜索 **C/C++** 插件(由 Microsoft 提供),然后点击安装按钮将其添加到当前环境中[^4]。此插件提供 IntelliSense 功能、语法高亮显示以及其他增强功能,有助于提高编程效率。 #### 创建工作区文件夹结构 建议为项目建立清晰的工作目录布局以便于管理源码文件和其他资源项。例如: ```plaintext my_c_project/ ├── src/ # 存放 .c 文件的地方 │ └── main.c # 主入口函数定义在此处 └── build/ # 构建产物存放位置 ``` #### 设置 tasks.json 来指定构建任务 进入 `.vscode` 文件夹内新建名为 `tasks.json` 的 JSON 文件用于描述如何调用外部工具链执行实际编译操作。下面是一个简单的例子展示怎样利用 GNU Make 或直接通过 g++ 命令行参数实现自动化流程控制[^1]: ```json { "version": "2.0.0", "tasks": [ { "label": "build hello world", "type": "shell", "command": "/usr/bin/gcc", "args": [ "-g", "${workspaceFolder}/src/main.c", "-o", "${workspaceFolder}/build/hello" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"] } ] } ``` 这里 `-g` 参数表示生成调试信息;`${workspaceFolder}` 是动态占位符代表根路径;最后指定了输出可执行二进制的位置。 #### 配置 launch.json 实现断点跟踪分析能力 同样位于同一级下的另一个重要配置文档叫做 `launch.json` ,它决定了当按下 F5 键启动调试模式时具体应该加载哪个目标镜像以及附加其他选项等等细节: ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/hello", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": true, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build hello world", "miDebuggerPath": "/usr/bin/gdb" } ] } ``` 以上片段设置了默认运行的应用名称,并且关联了之前提到过的预处理脚本标签名 `"build hello world"` 。这样每次触发调试前都会重新刷新最新的改动成果再投入测试环节当中去验证逻辑正确与否。 --- ### 总结 综上所述,在 Ubuntu 18.04 平台上搭建完整的基于 VS Code 的 C 开发框架主要包括以下几个方面:首先是基础软件栈准备阶段即获取官方发行版本号对应的 IDE 版本及其配套服务端口监听进程守护机制等内容介绍完毕之后紧接着就是围绕特定领域需求定制专属解决方案的过程[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值