如何设置Visual Studio Code编译C++代码?

275

微软的Visual Studio Code编辑器非常不错,但它没有默认支持构建C++项目的功能。

我该如何配置才能实现此功能?


14
在Linux下编译C++代码有很多答案,但在Windows下呢?请提供相关信息。 - Charles Milette
7
这是一些基础的东西,但在Windows中却没有有用的资源来完成它。而且MS CppTools扩展程序也无济于事,不要提那个了,我猜它只会让你更加沮丧。 - Kshitij
有人找到解决方案吗?我能够编译,但无法在VSCode上调试C/C++。这篇文章说只支持在Linux上进行调试。最近我也为此创建了这个线程。感激任何帮助... - Mahesha999
14个回答

5

如果您的项目有CMake配置,那么设置VSCode就非常简单,例如按照以下方式设置tasks.json

{
    "version": "0.1.0",
    "command": "sh",
    "isShellCommand": true,
    "args": ["-c"],
    "showOutput": "always",
    "suppressTaskName": true,
    "options": {
        "cwd": "${workspaceRoot}/build"
    },
    "tasks": [
        {
            "taskName": "cmake",
            "args": ["cmake ."]
        },
        {
            "taskName": "make",
            "args" : ["make"],
            "isBuildCommand": true,
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": "absolute",
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        }
    ]
}

假设在工作区的根目录下有一个名为build的文件夹,其中包含CMake配置。
此外,还有一个CMake集成扩展,可将“CMake构建”命令添加到VScode中。您可以访问此链接:CMake integration extension PS! problemMatcher 是用于 clang-builds 的设置。如果要使用GCC,我认为您需要将 fileLocation 更改为 relative,但我尚未测试过。

3
您可以使用扩展程序Code Runner来运行带有播放图标的代码,快捷键为:Ctrl+Alt+N,停止运行则按下:Ctrl+Alt+M。但是默认情况下,它仅显示程序的输出,如果需要接收输入,则需要遵循以下步骤:

按下Ctrl+,,然后打开设置菜单,选择Extensions>Run Code Configuration,滚动到其属性并找到Edit in settings.json,单击它并将以下代码添加到其中:

{
 "code-runner.runInTerminal": true
}

Ctrl+ 缩放对我来说很方便。 - M.M
打开设置是Ctrl加逗号,而不是Ctrl加加号。 - Ashley Fernandes

2

0

3
这是一个边缘性的仅链接回答。您应该扩展您的回答,包括尽可能多的信息,并仅将链接用于参考。 - jhpratt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接