Как настроить код Visual Studio для компиляции кода C ++?

222

Редактор кода Visual Studio от Microsoft довольно хорош, но у него нет поддержки по умолчанию для создания проектов C ++.

Как мне настроить это, чтобы сделать это?

Питер Мортенсен
источник
12
Есть много ответов для компиляции кода C ++ под Linux, но как насчет Windows?
Чарльз Милетт
5
Такие основные вещи, и все же нет никакого полезного ресурса, чтобы сделать это в Windows. И расширение MS Cpptools, не говорите об этом. Я полагаю, что это только добавит вашего разочарования. Это ничего не делает.
Кшитий
Кто-нибудь нашел решение? Я могу скомпилировать, но не отлаживать C / C ++ на VSCode. В этой статье говорится, что отладка поддерживается только в Linux. Также недавно я создал эту тему для того же. Буду признателен за любую помощь ...
Mahesha999

Ответы:

134

Существует гораздо более простой способ компиляции и запуска кода на C ++, без необходимости настройки:

  1. Установите расширение Code Runner
  2. Откройте файл кода C ++ в текстовом редакторе, затем используйте ярлык Ctrl+Alt+Nили нажмите F1и затем выберите / введите Run Code, или щелкните правой кнопкой мыши текстовый редактор и затем щелкните Run Codeв контекстном меню, код будет скомпилирован и запущен, а выходные данные будут показаны в Окно вывода.

Более того, вы можете обновить конфигурацию в settings.json, используя различные компиляторы C ++, как вам нужно, конфигурация по умолчанию для C ++ выглядит следующим образом:

"code-runner.executorMap": {
    "cpp": "g++ $fullFileName && ./a.out"
}
Джун Хан
источник
4
В моем окне вывода застрял running blablabla. Нет подсказки, ничего. Как я могу даже остановить выполнение кода?
Хичигая Хачиман
12
Чтобы остановить выполнение кода, используйте Ctrl+Alt+M. Чтобы использовать stdin для чтения данных, вы можете перейти к File-> Preference-> Settingsдля установки "code-runner.runInTerminal": true. Для получения более подробной информации, вы можете обратиться к github.com/formulahendry/vscode-code-runner/issues/91
июнь Хан
1
Работа в окне вывода предотвращает ввод терминала. runInTerminal кажется необходимым ...
Эндрю Вулф,
Получение ошибки - «ошибка: пустое имя файла в #include»
gaurav
9
Вы должны сообщить, что являетесь автором продвигаемого вами расширения.
Codebling
86

Задачи сборки зависят от проекта. Чтобы создать новый проект, откройте каталог в Visual Studio Code.

Следуя приведенным здесь инструкциям , нажмите Ctrl+ Shift+ P, введите Configure Tasks, выберите его и нажмите Enter.

Файл tasks.json будет открыт. Вставьте в файл следующий скрипт сборки и сохраните его:

{
    "version": "0.1.0",
    "command": "make",
    "isShellCommand": true,
    "tasks": [
        {
            "taskName": "Makefile",

            // Make this the default build command.
            "isBuildCommand": true,

            // Show the output window only if unrecognized errors occur.
            "showOutput": "always",

            // Pass 'all' as the build target
            "args": ["all"],

            // Use the standard less compilation problem matcher.
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": ["relative", "${workspaceRoot}"],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        }
    ]
}

Теперь перейдите в меню « Файл» → « Настройки» → « Сочетания клавиш» и добавьте следующую привязку клавиш для задачи сборки:

// Place your key bindings in this file to overwrite the defaults
[
    { "key": "f8",          "command": "workbench.action.tasks.build" }
]

Теперь при нажатии F8будет выполнен Makefile, а ошибки будут подчеркнуты в редакторе.

BeeOnRope
источник
8
ВНИМАНИЕ - формат этого файла изменился, и это больше не правильно. См .: go.microsoft.com/fwlink/?LinkId=733558
точка останова
Ключ по умолчанию ctrl+alt+bдля задачи сборки.
danger89
Есть ли команда или привязка, которая будет переходить к следующей / предыдущей ошибке в терминале ? У меня есть ситуация, когда на панели «Проблемы» есть куча неуместных проблем (потому что VS Code на самом деле не знает, как построить мой проект - и он будет слишком вовлечен, чтобы обучать его), но мой «Терминал» полно полезных ошибок после сборки. Мне просто нужно сочетание клавиш, чтобы перейти к следующей ошибке в «Терминале» ...
Дэн Л
47

Пример задачи make-файла для новой версии 2.0.0 tasks.json.

Во фрагменте ниже некоторые комментарии, я надеюсь, они будут полезны.

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "<TASK_NAME>",
            "type": "shell",
            "command": "make",
            // use options.cwd property if the Makefile is not in the project root ${workspaceRoot} dir
            "options": {
                "cwd": "${workspaceRoot}/<DIR_WITH_MAKEFILE>"
            },
            // start the build without prompting for task selection, use "group": "build" otherwise
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
                "echo": true,
                "reveal": "always",
                "focus": false,
                "panel": "shared"
            },
            // arg passing example: in this case is executed make QUIET=0
            "args": ["QUIET=0"],
            // Use the standard less compilation problem matcher.
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": ["absolute"],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            }
        }
    ]
}
attdona
источник
2
Все еще актуально в ноябре 2018 года. Спасибо!
TheIntern
В каком каталоге вы это разместили? Корень, ".vs" или ".vscode"? Предположительно, корневой каталог рабочей области - единственное рекомендуемое расположение, если файл также входит в систему контроля версий (что я настоятельно рекомендую), но я не мог заставить это работать.
точка останова
Насколько я знаю, единственное действительное место на данный момент .vscode. Для git revision control одна возможность - использовать для .gitignoreшаблона вроде !.vscode/tasks.json.
attdona
14

Вот как я настроил свой VS для C ++

Убедитесь, что изменили подходящие пути к тому месту, где установлен MinGW

launch.json

{
   "version": "0.2.0",
   "configurations": [
       {
           "name": "C++ Launch (GDB)",                
           "type": "cppdbg",                         
           "request": "launch",                        
           "targetArchitecture": "x86",                
           "program": "${workspaceRoot}\\${fileBasename}.exe",                 
           "miDebuggerPath":"C:\\mingw-w64\\bin\\gdb.exe", 
           "args": [],     
           "stopAtEntry": false,                  
           "cwd": "${workspaceRoot}",                  
           "externalConsole": true,                  
           "preLaunchTask": "g++"                    
           }
   ]
}

tasks.json

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

c_cpp_properties.json

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceRoot}",
                "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++",
                "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/x86_64-w64-mingw32",
                "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/backward",
                "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include",
                "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/tr1",
                "C:/mingw-w64/x86_64-w64-mingw32/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "__GNUC__=6",
                "__cdecl=__attribute__((__cdecl__))"
            ],
            "intelliSenseMode": "msvc-x64",
            "browse": {
                "path": [
                    "${workspaceRoot}",
                    "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++",
                    "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/x86_64-w64-mingw32",
                    "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/backward",
                    "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include",
                    "C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/tr1",
                    "C:/mingw-w64/x86_64-w64-mingw32/include"
                ]
            },
            "limitSymbolsToIncludedHeaders": true,
            "databaseFilename": ""
        }
    ],
    "version": 3
}

Ссылка:

  1. C / C ++ для VS Code

  2. шаблон c_cpp_properties.json

Ли Куи
источник
13
может быть, вы также хотите немного объяснить, что делают ваши настройки, а не просто скопировать вставки
uitty400
2
мне сложно объяснить мои настройки.
Ли Куй
Убедитесь, что изменили подходящие пути к месту установки MinGW.
Энтони Лей
Вы также можете рекурсивно включать подпапки с / ** вместо повторения различных подпапок в"C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include"
Лоренц
10

Чтобы создавать / запускать проекты C ++ в коде VS, вам необходимо вручную настроить файл tasks.json, который находится в папке .vscode в папке рабочей области. Чтобы открыть tasks.json , нажмите Ctrl + Shift + P , и введите настройки задач и нажмите войти , это приведет вас к tasks.json

Здесь я предоставляю свой файл tasks.json с некоторыми комментариями, чтобы сделать его более понятным. Он может использоваться в качестве справочного материала для настройки tasks.json , надеюсь, он будет полезен

tasks.json

{
    "version": "2.0.0",

    "tasks": [

        {
            "label": "build & run",     //It's name of the task , you can have several tasks 
            "type": "shell",    //type can be either 'shell' or 'process' , more details will be given below
            "command": "g++",   
            "args": [
                "-g",   //gnu debugging flag , only necessary if you want to perform debugging on file  
                "${file}",  //${file} gives full path of the file
                "-o",   
                "${workspaceFolder}\\build\\${fileBasenameNoExtension}",    //output file name
                "&&",   //to join building and running of the file
                "${workspaceFolder}\\build\\${fileBasenameNoExtension}"
            ],
            "group": {
                "kind": "build",    //defines to which group the task belongs
                "isDefault": true
            },
            "presentation": {   //Explained in detail below
                "echo": false,
                "reveal": "always",
                "focus": true,
                "panel": "shared",
                "clear": false,
                "showReuseMessage": false
            },
            "problemMatcher": "$gcc"
        },

    ]
}

Теперь прямо из документации по коду задач VS

описание свойства типа :

  • Тип : тип задачи. Для пользовательской задачи это может быть либо оболочка, либо процесс. Если указан shell, команда интерпретируется как команда shell (например: bash, cmd или PowerShell). Если указан процесс, команда интерпретируется как процесс для выполнения.

Поведение терминала можно контролировать с помощью свойства презентации в tasks.json . Он предлагает следующие свойства:

  • раскрыть : Управляет выводом панели встроенного терминала на передний план. Допустимые значения:

    • всегда - панель всегда выдвигается вперед. Это по умолчанию
    • never - пользователь должен явно переместить панель терминала вперед, используя команду View> Terminal (Ctrl + `).
    • тихий - панель выводится на передний план, только если выход не сканируется на наличие ошибок и предупреждений.
  • focus : контролирует, принимает ли терминал фокус ввода или нет. По умолчанию установлено значение false.

  • echo : определяет, отображается ли выполненная команда в терминале. По умолчанию это правда.
  • showReuseMessage : Управляет показом сообщения «Терминал будет повторно использоваться задачами, нажмите любую клавишу, чтобы закрыть его».
  • панель : контролирует, является ли экземпляр терминала общим для выполнения задач. Возможные значения:
    • shared : терминал является общим, и результаты других запусков задач добавляются к тому же терминалу.
    • выделенный : терминал предназначен для конкретной задачи. Если эта задача выполняется снова, терминал используется повторно. Однако выходные данные другой задачи представлены в другом терминале.
    • new : при каждом выполнении этой задачи используется новый чистый терминал.
  • clear: контролирует, очищается ли терминал перед выполнением этой задачи. По умолчанию установлено значение false.
joker007
источник
9

Из-за разочарования в связи с отсутствием четкой документации я создал проект Mac на github, который должен просто работать (как сборка, так и отладка):

vscode-УДС-с-пример

Обратите внимание, что для этого требуется XCode и расширение cpptools Microsoft VSCode.

Я планирую сделать то же самое для Windows и Linux (если Microsoft сначала не напишет приличную документацию ...).

peegee123
источник
8

Прежде всего, перейдите к расширениям (Ctrl + Shift + X) и установите 2 расширения:

  1. Код бегун
  2. C / C ++

Затем перезагрузите код VS и выберите кнопку воспроизведения в верхнем правом углу, которую ваша программа запускает в выходном терминале. Вы можете увидеть вывод, нажав Ctrl + Alt + N. Чтобы изменить другие функции, перейдите в настройки пользователя. введите описание изображения здесь

Нисан чхетри
источник
Это повтор предыдущих ответов.
JDługosz
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, которое добавляет команду VSake build в VScode.

PS! Это problemMatcherнастройка для clang-builds. Чтобы использовать GCC, я считаю, что вам нужно перейти fileLocationна relative, но я не проверял это.

larsmoa
источник
5

Вот как я настроил VS для C ++ с помощью компилятора g ++, и он прекрасно работает, включая параметры отладки:

файл tasks.json

{
    "version": "0.1.0",
    "command": "g++",
    "isShellCommand": true,
    // compiles and links with debugger information
    "args": ["-g", "-o", "hello.exe", "hello.cpp"],
    // without debugger information
    // "args": ["-o", "hello.exe", "hello.cpp"],
    "showOutput": "always"
}

файл launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (Windows)",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceRoot}/hello.exe",
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\MinGw\\bin\\gdb.exe",
            "stopAtEntry": false,
            "cwd": "${workspaceRoot}",
            "externalConsole": false,
            "visualizerFile": "${workspaceRoot}/my.natvis"
        }
    ]
}

У меня также есть расширение 'C / C ++ для Visual Studio', установленное в VS Code

Влад Безден
источник
Я могу скомпилировать, но не отлаживать C / C ++ на VSCode. В этой статье говорится, что отладка поддерживается только в Linux. Также недавно я создал эту тему для того же. Буду признателен за любую помощь ...
Mahesha999
5

Основная проблема заключается в том, что сборка и компоновка программы на C ++ сильно зависит от используемой системы сборки. Вам нужно будет поддерживать следующие отдельные задачи, используя некоторую комбинацию плагинов и пользовательского кода:

  1. Общая поддержка языка C ++ для редактора. Обычно это делается с помощью ms-vscode.cpptools, который, как ожидается, большинство людей также обрабатывает много других вещей, таких как поддержка сборки. Позвольте мне сэкономить вам время: это не так. Тем не менее, вы, вероятно, все равно захотите.

  2. Построить, очистить и восстановить задачи. Здесь ваш выбор системы сборки становится огромным делом. Вы найдете плагины для таких вещей, как CMake и Autoconf (да поможет вам Бог), но если вы используете что-то вроде Meson и Ninja, вам придется написать несколько вспомогательных скриптов и настроить собственный файл "tasks.json" для справиться с этим. Microsoft полностью изменила все в этом файле за последние несколько версий, вплоть до того, как он должен называться, и мест (да, мест), куда он может пойти, не говоря уже о полном изменении формата. Хуже того, они в некотором роде сохранили обратную совместимость, чтобы использовать ключ «версия», чтобы указать, какой вариант вы хотите. Подробности смотрите здесь:

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

... но обратите внимание, конфликтует с:

https://code.visualstudio.com/docs/languages/cpp

ВНИМАНИЕ: Во ВСЕХ ОТВЕТАХ НИЖЕ, НИЧЕГО, ЧТО НАЧИНАЕТСЯ С ВЕРСИИ «ВЕРГИЯ» НИЖЕ 2.0.0, УСТАРЕЛО.

Вот самое близкое, что у меня есть на данный момент. Обратите внимание, что я беру на себя большую часть тяжелой работы со сценариями, это на самом деле не дает мне никаких пунктов меню, с которыми я могу жить, и нет никакого хорошего способа выбора между отладкой и выпуском, не просто сделав еще три явных записи в Вот. После всего вышесказанного я могу смириться с моим файлом .vscode / tasks.json на данный момент:

{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
    {
        "label": "build project",
        "type": "shell",
        "command": "buildscripts/build-debug.sh",
        "args": [],

        "group": {
            "kind": "build",
            "isDefault": true
        },
        "presentation": {
            // Reveal the output only if unrecognized errors occur.
            "echo": true,
            "focus": false,
            "reveal": "always",
            "panel": "shared"
        },

        // Use the standard MS compiler pattern to detect errors, warnings and infos
        "options": {
            "cwd": "${workspaceRoot}"
        },
        "problemMatcher": {
            "owner": "cpp",
            "fileLocation": ["relative", "${workspaceRoot}/DEBUG"],
            "pattern": {
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            }
        }
    },
    {
        "label": "rebuild project",
        "type": "shell",
        "command": "buildscripts/rebuild-debug.sh",
        "args": [],
        "group": {
            "kind": "build",
            "isDefault": true
        },
        "presentation": {
            // Reveal the output only if unrecognized errors occur.
            "echo": true,
            "focus": false,
            "reveal": "always",
            "panel": "shared"
        },

        // Use the standard MS compiler pattern to detect errors, warnings and infos
        "options": {
            "cwd": "${workspaceRoot}"
        },
        "problemMatcher": {
            "owner": "cpp",
            "fileLocation": ["relative", "${workspaceRoot}/DEBUG"],
            "pattern": {
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            }
        }
    },
    {
        "label": "clean project",
        "type": "shell",
        "command": "buildscripts/clean-debug.sh",
        "args": [],

        "group": {
            "kind": "build",
            "isDefault": true
        },
        "presentation": {
            // Reveal the output only if unrecognized errors occur.
            "echo": true,
            "focus": false,
            "reveal": "always",
            "panel": "shared"
        },

        // Use the standard MS compiler pattern to detect errors, warnings and infos
        "options": {
            "cwd": "${workspaceRoot}"
        },
        "problemMatcher": {
            "owner": "cpp",
            "fileLocation": ["relative", "${workspaceRoot}/DEBUG"],
            "pattern": {
                "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                "file": 1,
                "line": 2,
                "column": 3,
                "severity": 4,
                "message": 5
            }
        }
    }
]

}

Обратите внимание, что теоретически этот файл должен работать, если вы поместите его в корень рабочей области, чтобы не застревать при проверке файлов в скрытых каталогах (.vscode) в вашей системе контроля версий. Я еще не видел, что на самом деле работает; протестируйте его, но если он потерпит неудачу, поместите его в .vscode. В любом случае, IDE будет сукой, если ее там нет. (Да, на данный момент это означает, что я был вынужден проверить .vscode в subversion, что меня не устраивает.) Обратите внимание, что мои сценарии сборки (не показаны) просто создают (или воссоздают) каталог DEBUG, используя, в мой случай, мезон, и построить внутри него (используя, в моем случае, ниндзя).

  1. Запустить, отладить, прикрепить, остановить. Это еще один набор задач, определенных в "launch.json". Или, по крайней мере, раньше. Microsoft сделала такой хэш документации, я даже не уверен больше.
точка остановки
источник
Вот пример файла build-scripts / build-debug.sh. В идеале они должны наследовать контекст сборки (отладка, выпуск, профилирование и т. Д.), Но я не могу понять, как Код управляет этим, если он даже имеет концепцию. Простите за форматирование; иди, StackOverflow, иди. #! / bin / bash, если [! -d "DEBUG"]; тогда mkdir DEBUG мезон DEBUG fi cd DEBUG ниндзя если [$? -экв. 0]; затем выйдите из 0, иначе выйдите из $? Fi
точка останова
О, опять же: нажмите CTRL-SHIFT-B после того, как это на месте, чтобы подтянуть задачи сборки. Я действительно, действительно предпочел бы правильное главное меню, полное из них, но я еще не выяснил, как это сделать.
точка останова
4

С обновленным кодом VS вы можете сделать это следующим образом:

  1. Нажмите ( Ctrl+ P) и введите:

    ext install cpptools
    
  2. Откройте папку ( Ctrl+ K& Ctrl+ O) и создайте новый файл внутри папки с расширением .cpp (например: hello.cpp ):

  3. Введите свой код и нажмите сохранить.

  4. Нажмите ( Ctrl+ Shift+ Pи введите, Configure task runnerа затем выберите otherвнизу списка.

  5. Создайте пакетный файл в той же папке с именем build.bat и включите следующий код в тело файла:

    @echo off
    call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64     
    set compilerflags=/Od /Zi /EHsc
    set linkerflags=/OUT:hello.exe
    cl.exe %compilerflags% hello.cpp /link %linkerflags%
    
  6. Отредактируйте файл task.json следующим образом и сохраните его :

    {
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "build.bat",
    "isShellCommand": true,
    //"args": ["Hello World"],
    "showOutput": "always"
    }
    
  7. Нажмите ( Ctrl+ Shift+, Bчтобы запустить задачу Build. Это создаст файлы .obj и .exe для проекта.

  8. Для отладки проекта нажмите F5и выберите C ++ (Windows) .

  9. В файле launch.json отредактируйте следующую строку и сохраните файл:

    "program": "${workspaceRoot}/hello.exe",
    
  10. Хит F5.

Poornamith
источник
Я использую последний VSC. Вы потеряли меня на шаге 4. Настройка бегуна задач недоступна.
Луи
2

Вы можете сослаться на этот последний гист, имеющий 2.0.0задачу версии для кода Visual Studio, https://gist.github.com/akanshgulati/56b4d469523ec0acd9f6f59918a9e454

Вы можете легко скомпилировать и запустить каждый файл без обновления задачи. Он универсален, а также открывает терминал для ввода данных.

Akansh
источник
2

Можно использовать Extension Code Runner для запуска кода со значком воспроизведения вверху справа и с помощью сочетания клавиш: Ctrl+Alt+Nи для отмены Ctrl+Alt+M. Но по умолчанию он показывает только вывод программы, но для получения ввода вам нужно выполнить несколько шагов:

Ctrl +, а затем открывается меню настроек и Расширения> Выполнить настройку кода, прокрутите вниз его атрибуты и найдите « Редактировать в settings.json», щелкните по нему и добавьте следующий код:

{ "code-runner.runInTerminal": true }

НИКС
источник
Ctrl + увеличивает для меня
ММ
это запятая Ctrl не Ctrl Plus, чтобы открыть настройки
Эшли Фернандес
1

Теперь есть расширение C / C ++ от Microsoft. Вы можете установить его, перейдя к пункту «быстрого открытия» ( Ctrl+ p) и набрав:

ext install cpptools

Вы можете прочитать об этом здесь:

https://blogs.msdn.microsoft.com/vcblog/2016/03/31/cc-extension-for-visual-studio-code/

Это очень простой, по состоянию на май 2016 года.

Элиот
источник
2
Это только пограничный ответ . Вы должны расширить свой ответ, чтобы включить сюда как можно больше информации, и использовать ссылку только для справки.
Jhpratt