在Visual Studio代码中编译C ++代码

时间:2016-06-19 17:03:27

标签: c++ linux visual-studio compilation visual-studio-code

我安装了Microsoft推荐的C / C ++扩展。我现在想修改编译。

我知道visual studio代码是一个没有内置编译器的编辑器,但是如何实现修复配置的任务以便能够编译代码几乎没有信息。

我运行linux ubuntu 14.04并安装了gcc编译器。我希望用它来编译代码。

我一直在查看任务,当处于调试模式时启动它会占用此文件:

lanuch.json(这些是启动配置):

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",
            "type": "cppdbg",
            "request": "launch",
            "launchOptionType": "Local",
            "targetArchitecture": "x64",
            "program": "enter program name, for example ${workspaceRoot}/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": true
        },
        {
            "name": "C++ Attach (GDB)",
            "type": "cppdbg",
            "request": "launch",
            "launchOptionType": "Local",
            "targetArchitecture": "x64",
            "program": "enter program name, for example ${workspaceRoot}/a.out",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "processId": "enter program's process ID",
            "externalConsole": false
        }
    ]
}

从这里我迷失了。我实际上并不知道该改变什么。

同样从这个https://code.visualstudio.com/docs/editor/tasks有一个任务的例子:

{
    "version": "0.1.0",
    "command": "gcc",
    "args": ["-Wall", "helloWorld.c", "-o", "helloWorld"],
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

我再也不知道如何编辑它以便编译我的代码。

我的文件start.cpp包含我的主要功能。

那么如何设置visual studio代码以最简单,最自动的方式编译代码呢?

2 个答案:

答案 0 :(得分:0)

安装" Code Runner Extension"对于visual studio代码,您的代码应该可以正常工作。

答案 1 :(得分:0)

编辑task.json文件并将其粘贴;

{
    "version": "2.0.0",
    "tasks": [
    {
        "label": "Build",
        "type": "shell",
        "command": "g++ ${file} -o ${fileDirname}/${fileBasenameNoExtension}.out & ${fileDirname}/${fileBasenameNoExtension}.out",
        "args": [

        ],
        "group": {
            "kind": "build",
            "isDefault": true
        }
    }]
}