【编辑器】VSCode配置C++编译

举报
小哈里 发表于 2022/05/10 23:33:12 2022/05/10
【摘要】 传说中的编辑器有两个,vim和emacs,一个是编辑器之神,一个是神的编辑器。然后又有众多小神,是两极多强格局。 然后,软爹说,要有我,于是vscode从天而降,带着继承自vs强大的智能,体积却极其轻简,...

传说中的编辑器有两个,vim和emacs,一个是编辑器之神,一个是神的编辑器。然后又有众多小神,是两极多强格局。 然后,软爹说,要有我,于是vscode从天而降,带着继承自vs强大的智能,体积却极其轻简,同时支持插件,而且流畅至极,一脚踏进了编辑器之战。 于是,感觉要变天了。 用着轻量的编辑器,却又想把编辑器打造成IDE,,,于是开始了Debug插件的配置。

1、安装

官方下载

2018.10.9Update,本文仅适用于vscode1.27版本,更新版不适用
请在https://code.visualstudio.com/updates/v1_27下载后并加入设置"update.channel": "none",关闭自动更新。

最新版可以参考官方文档地址:https://code.visualstudio.com/docs/editor/tasks

2、配置C++运行

使用 VS Code 优秀的 Tasks 功能启用编译运行命令。

新建task.json,并将内容用如下替换

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Build",
            "command": "g++",
            "args": [
                "-g",
                "-Wall",
                "-std=c++11",
                "-lm",
                "${file}",
                "-o"
            ],
            "windows": {
                "args": [
                    "${fileDirname}/${fileBasenameNoExtension}.exe"
                ]
            },
            "linux": {
                "args": [
                    "${fileDirname}/${fileBasenameNoExtension}.o"
                ]
            },
            "osx": {
                "args": [
                    "${fileDirname}/${fileBasenameNoExtension}.o"
                ]
            },
            "presentation": {
                "reveal": "always",
                "echo": false,
                "focus": true
            },
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": "absolute",
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        },

        {
            "label": "Run",
            "type": "shell",
            "dependsOn": "Build",
            "command": "${fileDirname}/${fileBasenameNoExtension}.o",
            "windows": {
                "command": "${fileDirname}/${fileBasenameNoExtension}.exe"
            },
            "args": [],
            "presentation": {
                "reveal": "always",
                "focus": true
            },
            "problemMatcher": [],
            "group": {
                "kind": "test",
                "isDefault": true
            }
        }
    ]
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69

打开keybinding.json配置文件,加入如下

{
    "key": "f5",
    "command": "workbench.action.tasks.test"
} 

  
 
  • 1
  • 2
  • 3
  • 4

3、配置GDB运行

如下配置丢进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": "${fileDirname}/${fileBasenameNoExtension}.o",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "externalConsole": true,
            "MIMode": "gdb",
            "windows": {
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
                "miDebuggerPath": "C:/Program Files/mingw-w64/mingw64/bin/gdb.exe"
            },
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Build"
        }
    ]

} 

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

文章来源: gwj1314.blog.csdn.net,作者:小哈里,版权归原作者所有,如需转载,请联系作者。

原文链接:gwj1314.blog.csdn.net/article/details/80634125

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。