Скомпилируйте и запустите c ++ из VS Code (macOS) - PullRequest
0 голосов
/ 26 сентября 2019

Я пробую c ++ впервые - использую VS Code, так как мне нравится этот текстовый редактор.

Я следовал этому руководству, чтобы настроить его: https://code.visualstudio.com/docs/cpp/config-clang-mac

У меня есть следующий файл tasks.json:

{
    "version": "2.0.0",
    "tasks": [
      {
        "label": "Build with Clang",
        "type": "shell",
        "command": "clang++",
        "args": [
          "-std=c++17",
          "-stdlib=libc++",
          "helloworld.cpp",
          "-o",
          "helloworld.out",
          "--debug"
        ],
        "group": {
          "kind": "build",
          "isDefault": true
        }
      }
    ]
  }

Компиляция работает нормально, и я могу запустить .out-файл из терминала.Но я хотел бы уменьшить эти 2 шага до 1 (скомпилировать и запустить).Возможно ли это?

Я слышал о расширении Code Runner , но хотел бы попытаться настроить его в файле задач - также немного узнать о том, как это работает.

В любом случае - любые советы и пожелания приветствуются!Я опубликую здесь, если я выясню это самостоятельно!

1 Ответ

0 голосов
/ 26 сентября 2019

Что вам нужно сделать, это настроить задачу запуска в файле launch.json и добавить задачу сборки в задачи запуска.Мой выглядит так (я использую это на Windows с minGW, но на macOsX он должен работать так же).Это запустит вашу программу с вашим отладчиком и сначала выполнит вашу задачу сборки.Вам не нужны никакие расширения, кроме Microsoft C ++, для запуска и даже полная поддержка отладки с точками останова и т. Д.

{    
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "Path to your executable",
            "args": [],
            "stopAtEntry": false,               
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "Path to your debugger",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "Name of your Build Task"

        }
    ]
}
...