Come configuro il codice di Visual Studio per compilare il codice C ++?


222

L' editor di codice di Visual Studio di Microsoft è abbastanza carino, ma non ha supporto predefinito per la creazione di progetti C ++.

Come lo configuro per fare questo?


12
Ci sono molte risposte per compilare il codice C ++ su Linux, ma per quanto riguarda Windows?
Charles Milette,

5
Tali cose di base e tuttavia non esiste alcuna risorsa utile per farlo in Windows. E l'estensione ms cpptools, non parlarne. Immagino sia solo per aggiungere alla tua frustrazione. Non fa niente.
Kshitij,

Qualcuno ha trovato una soluzione? Sono in grado di compilare, ma non debug C / C ++ su VSCode. Questo articolo dice che il debug è supportato solo su Linux. Anche di recente ho creato questo thread per lo stesso. Apprezzerò qualsiasi aiuto ...
Mahesha999,

Risposte:


134

Esiste un modo molto più semplice per compilare ed eseguire il codice C ++, non è necessaria alcuna configurazione:

  1. Installa l' estensione Code Runner
  2. Apri il tuo file di codice C ++ nell'editor di testo, quindi utilizza il collegamento Ctrl+Alt+N, oppure premi F1e quindi seleziona / digita Run Code, oppure fai clic con il pulsante destro del mouse sull'editor di testo e quindi fai clic Run Codenel menu di scelta rapida, il codice verrà compilato ed eseguito e l'output verrà mostrato nel Finestra di output.

Inoltre puoi aggiornare la configurazione in settings.json usando diversi compilatori C ++ come desideri, la configurazione predefinita per C ++ è la seguente:

"code-runner.executorMap": {
    "cpp": "g++ $fullFileName && ./a.out"
}

4
La finestra di output è bloccata in running blablabla. Nessun prompt, niente. Come faccio a interrompere l'esecuzione del codice?
Hichigaya Hachiman,

12
Per interrompere l'esecuzione del codice, utilizzare Ctrl+Alt+M. Per usare stdin per leggere i dati, puoi andare su File-> Preference-> Settingsper impostare "code-runner.runInTerminal": true. Per ulteriori dettagli, è possibile fare riferimento a github.com/formulahendry/vscode-code-runner/issues/91
Jun Han,

1
L'esecuzione nella finestra di output impedisce l'ingresso del terminale. runInTerminal sembra necessario ...
Andrew Wolfe,

Ottenere un errore - "errore: nome file vuoto in #include"
gaurav

9
Dovresti rivelare di essere l'autore dell'estensione che stai promuovendo.
Codebling

86

Le attività di compilazione sono specifiche del progetto. Per creare un nuovo progetto, aprire una directory in Visual Studio Code.

Seguendo le istruzioni qui , premere Ctrl+ Shift+ P, digitare Configure Tasks, selezionarlo e premere Enter.

Il file task.json verrà aperto. Incolla il seguente script di build nel file e salvalo:

{
    "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
                }
            }
        }
    ]
}

Ora vai al menu FilePreferenzeScorciatoie da tastiera e aggiungi la seguente associazione di tasti per l'attività di costruzione:

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

Ora quando premi F8il Makefile verrà eseguito e gli errori verranno sottolineati nell'editor.


8
ATTENZIONE: il formato di questo file è cambiato e questo non è più corretto. Vedi: go.microsoft.com/fwlink/?LinkId=733558
breakpoint

La chiave predefinita è ctrl+alt+bper l'attività di compilazione.
danger89,

Esiste un comando o un'associazione che salterà all'errore successivo / precedente nel terminale ? Ho una situazione in cui il riquadro "Problemi" ha un sacco di problemi irrilevanti (perché VS Code non sa davvero come costruire il mio progetto - e sarà troppo coinvolto per insegnarlo) ma il mio "Terminale" è pieno di errori utili dopo una build. Ho solo bisogno di una scorciatoia da tastiera per passare al prossimo errore nel "Terminale" ...
Dan L

47

Un esempio di attività di makefile per la nuova versione 2.0.0 task.json.

Nello snippet di seguito alcuni commenti spero che possano essere utili.

{
    "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
                }
            }
        }
    ]
}

2
Sempre aggiornato a novembre 2018. Grazie!
TheIntern

In quale directory hai inserito questo? La radice, ".vs" o ".vscode"? Presumibilmente, la radice dell'area di lavoro è l'unica posizione consigliata se anche il file sta andando nel controllo di revisione (che consiglio vivamente), ma non sono riuscito a farlo funzionare.
breakpoint

Per quello che so, l'unico posto valido al momento è .vscode. Per il controllo di revisione git una possibilità è quella di utilizzare .gitignoreun modello simile !.vscode/tasks.json.
attdona,

14

Ecco come ho configurato il mio VS per C ++

Assicurati di modificare i percorsi appropriati in cui è installato 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
}

Riferimento:

  1. C / C ++ per codice VS.

  2. modello c_cpp_properties.json


13
forse vuoi anche spiegare un po 'cosa stanno facendo le tue impostazioni e non solo copiare cose incolla
uitty400

2
è difficile per me spiegare le mie impostazioni.
Li Kui,

Assicurati di modificare i percorsi appropriati in cui è installato MinGW.
Anthony Lei,

Puoi anche includere le sottocartelle in modo ricorsivo con / ** invece di ripetere varie sottocartelle in"C:/mingw-w64/lib/gcc/x86_64-w64-mingw32/7.2.0/include"
Lorenz

10

Per creare / eseguire progetti C ++ nel codice VS, è necessario configurare manualmente il file task.json che si trova nella cartella .vscode nella cartella dell'area di lavoro. Per aprire tasks.json , premere CTRL + MAIUSC + P , e digitare le attività Configurare e premere enter , che vi porterà a tasks.json

Qui sto fornendo al mio file task.json alcuni commenti per rendere il file più comprensibile, può essere usato come riferimento per la configurazione di task.json , spero che sia utile

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"
        },

    ]
}

Ora, affermando direttamente dalla documentazione delle attività del codice VS.

descrizione della proprietà del tipo :

  • tipo : il tipo di attività. Per un'attività personalizzata, questa può essere shell o processo. Se viene specificato shell, il comando viene interpretato come comando shell (ad esempio: bash, cmd o PowerShell). Se viene specificato processo, il comando viene interpretato come un processo da eseguire.

Il comportamento del terminale può essere controllato usando la proprietà di presentazione in task.json . Offre le seguenti proprietà:

  • rivelare : controlla se il pannello Terminale integrato viene portato in primo piano. I valori validi sono:

    • sempre : il pannello viene sempre portato in primo piano. Questo è il valore predefinito
    • mai - L'utente deve esplicitamente portare in primo piano il pannello dei terminali usando il comando Visualizza> Terminale (Ctrl + `).
    • silenzioso : il pannello dei terminali viene portato in primo piano solo se l'output non viene analizzato per errori e avvisi.
  • focus : controlla se il terminale sta attivando l'input o meno. L'impostazione predefinita è falsa.

  • echo : controlla se il comando eseguito viene ripetuto nel terminale. L'impostazione predefinita è vera.
  • showReuseMessage : controlla se mostrare il messaggio "Il terminale verrà riutilizzato dalle attività, premere un tasto qualsiasi per chiuderlo".
  • panel : controlla se l'istanza del terminale è condivisa tra le esecuzioni delle attività. I valori possibili sono:
    • condiviso : il terminale è condiviso e l'output di altre esecuzioni di attività viene aggiunto allo stesso terminale.
    • dedicato : il terminale è dedicato a un'attività specifica. Se l'attività viene eseguita di nuovo, il terminale viene riutilizzato. Tuttavia, l'output di un'attività diversa viene presentato in un terminale diverso.
    • nuovo : ogni esecuzione di tale compito utilizza un nuovo terminale pulito.
  • clear: controlla se il terminale viene cancellato prima di eseguire questa attività. L'impostazione predefinita è falsa.

9

Per frustrazione per la mancanza di documentazione chiara, ho creato un progetto Mac su Github che dovrebbe funzionare (sia per la costruzione che per il debug):

vscode-mac-c-example

Si noti che richiede XCode e l'estensione cpptools Microsoft VSCode.

Ho intenzione di fare lo stesso per Windows e Linux (a meno che Microsoft non scriva prima una documentazione decente ...).


8

Prima di tutto, vai alle estensioni (Ctrl + Shift + X) e installa 2 estensioni:

  1. Runner di codice
  2. C / C ++

Quindi, ricaricare il codice VS e selezionare un pulsante di riproduzione nell'angolo in alto a destra che il programma esegue nel terminale di output. Puoi vedere l'output di Ctrl + Alt + N. Per cambiare altre funzioni vai all'impostazione utente. inserisci qui la descrizione dell'immagine


Questa è una ripetizione di risposte precedenti.
JDługosz,

5

Se il tuo progetto ha una configurazione CMake, è abbastanza semplice impostare VSCode, ad es. tasks.jsonCome sotto:

{
    "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
                }
            }
        }
    ]
}

Ciò presuppone che buildnella cartella principale dell'area di lavoro sia presente una cartella con una configurazione CMake.

C'è anche un'estensione di integrazione CMake che aggiunge un comando "CMake build" a VScode.

PS! L' problemMatcherinstallazione è per clang-builds. Per usare GCC credo che tu debba passare fileLocationa relative, ma non l'ho provato.


5

Ecco come ho configurato il mio VS per C ++ usando il compilatore g ++ e funziona alla grande, incluse le opzioni di debug:

task.json file

{
    "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"
}

file 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"
        }
    ]
}

Ho anche l'estensione 'C / C ++ per Visual Studio Code' installata in VS Code


Sono in grado di compilare, ma non debug C / C ++ su VSCode. Questo articolo dice che il debug è supportato solo su Linux. Anche di recente ho creato questo thread per lo stesso. Apprezzerò qualsiasi aiuto ...
Mahesha999,

5

Il problema di base qui è che la costruzione e il collegamento di un programma C ++ dipende fortemente dal sistema di compilazione in uso. Dovrai supportare le seguenti attività distinte, usando una combinazione di plugin e codice personalizzato:

  1. Supporto generale del linguaggio C ++ per l'editor. Questo di solito viene fatto usando ms-vscode.cpptools, che la maggior parte delle persone prevede di gestire anche molte altre cose, come il supporto per la compilazione. Lascia che ti faccia risparmiare un po 'di tempo: non lo fa. Tuttavia, probabilmente lo vorrai comunque.

  2. Costruisci, pulisci e ricostruisci attività. È qui che la scelta del sistema di generazione diventa un grosso problema. Troverai plugin per cose come CMake e Autoconf (dio ti aiuti), ma se stai usando qualcosa come Meson e Ninja, dovrai scrivere alcuni script di supporto e configurare un file personalizzato "task.json" per gestirli. Microsoft ha completamente cambiato tutto su quel file nelle ultime versioni, fino a come dovrebbe essere chiamato e ai luoghi (sì, luoghiS) in cui può andare, per non parlare di cambiare completamente il formato. Peggio ancora, hanno SEMPRE mantenuto la retrocompatibilità, per essere sicuri di usare il tasto "versione" per specificare quale variante si desidera. Vedi i dettagli qui:

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

... ma nota è in conflitto con:

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

ATTENZIONE: IN TUTTE LE RISPOSTE SOTTO, QUALSIASI COSA CHE INIZIA CON UN TAG "VERSIONE" SOTTO 2.0.0 È OSSOLETA.

Ecco la cosa più vicina che ho al momento. Nota che ho dato il via alla maggior parte del pesante sollevamento degli script, questo non mi dà davvero alcuna voce di menu con cui posso convivere, e non c'è alcun buon modo per selezionare tra debug e rilascio senza solo fare altre tre voci esplicite in Qui. Detto questo, ecco cosa posso tollerare come il mio file .vscode / task.json al momento:

{
// 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
            }
        }
    }
]

}

Si noti che, in teoria, questo file dovrebbe funzionare se lo si inserisce nella radice dell'area di lavoro, quindi non si è bloccati a controllare i file in directory nascoste (.vscode) nel proprio sistema di controllo delle revisioni. Devo ancora vedere che funziona davvero; testalo, ma se fallisce, mettilo in .vscode. Ad ogni modo, l'IDE cagna se non è lì comunque. (Sì, al momento, questo significa che sono stato costretto a controllare .vscode in sovversione, di cui non sono contento.) Nota che i miei script di build (non mostrati) semplicemente creano (o ricreano) una directory DEBUG usando, in il mio caso, mesone e build al suo interno (usando, nel mio caso, ninja).

  1. Esegui, esegui il debug, allega, ferma. Queste sono un'altra serie di attività, definite in "launch.json". O almeno lo erano. Microsoft ha fatto un tale hash della documentazione, non ne sono nemmeno più sicuro.

Ecco il file build-scripts / build-debug.sh, come esempio. Idealmente questi erediterebbero il contesto di compilazione (debug, release, profiling, ecc.) Ma non riesco a capire come Code lo gestisca, anche se ha il concetto. Perdonate la formattazione; vai, StackOverflow, vai. #! / bin / bash se [! -d "DEBUG"]; allora mkdir DEBUG mesone DEBUG fi cd DEBUG ninja if [$? -eq 0]; quindi esci 0 altrimenti esci $? fi
breakpoint

Oh, ancora: premi CTRL-MAIUSC-B dopo che questo è a posto per completare le attività di compilazione. Preferirei davvero un vero menu principale pieno di questi, ma non ho ancora capito come farlo.
breakpoint

4

Con un codice VS aggiornato puoi farlo nel modo seguente:

  1. Premi ( Ctrl+ P) e digita:

    ext install cpptools
    
  2. Apri una cartella ( Ctrl+ K& Ctrl+ O) e crea un nuovo file all'interno della cartella con l'estensione .cpp (es: hello.cpp ):

  3. Digita il tuo codice e premi Salva.

  4. Premi ( Ctrl+ Shift+ Pe digita, Configure task runnerquindi seleziona otherin fondo all'elenco.

  5. Creare un file batch nella stessa cartella con il nome build.bat e includere il seguente codice nel corpo del file:

    @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. Modifica il file task.json come segue e salvalo :

    {
    // 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. Premi ( Ctrl+ Shift+ Bper eseguire l'attività Build. Ciò creerà i file .obj ed .exe per il progetto.

  8. Per il debug del progetto, premi F5e seleziona C ++ (Windows) .

  9. Nel file launch.json , modifica la seguente riga e salva il file:

    "program": "${workspaceRoot}/hello.exe",
    
  10. Hit F5.


Sto usando l'ultimo VSC. Mi hai perso al passaggio 4. Configurare il task runner non è disponibile.
Louis


2

Può usare Extension Code Runner per eseguire il codice con l'icona di riproduzione in alto a destra e il tasto di scelta rapida: Ctrl+Alt+Ne per interrompere Ctrl+Alt+M. Ma per impostazione predefinita mostra solo l'output del programma ma per ricevere l'input è necessario seguire alcuni passaggi:

Ctrl +, quindi si apre il menu delle impostazioni e Estensioni> Esegui configurazione codice scorri verso il basso i suoi attributi e trova Modifica in settings.json fai clic su di esso e aggiungi il seguente codice al suo interno:

{ "code-runner.runInTerminal": true }


Ctrl + ingrandisce per me
MM

è ctrl virgola non ctrl plus per aprire le impostazioni
Ashley Fernandes,

1

Ora c'è un'estensione del linguaggio C / C ++ di Microsoft. Puoi installarlo andando alla cosa "apertura rapida" ( Ctrl+ p) e digitando:

ext install cpptools

Puoi leggerlo qui:

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

È molto semplice, a partire da maggio 2016.


2
Questa è una risposta solo al collegamento borderline . È necessario espandere la risposta per includere quante più informazioni qui e utilizzare il collegamento solo come riferimento.
jhpratt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.