I'm currently trying to write a C / C ++ program in Visual Studio Code. For this, I installed two extensions: C / C ++ & C ++ Intellisense
According to the documentation, the debugging tool is not available for windows. I was able to compile and run the code using the following tasks:
{
"version": "0.1.0",
"command": "cmd",
"isShellCommand": true,
"args": [
"/C"
],
"tasks": [
{
"taskName": "Makefile",
"suppressTaskName": true,
"isBuildCommand": true,
"showOutput": "always",
"args": [
"C:/Programs/cygwin/bin/make.exe",
"all"
],
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
},
{
"taskName": "Run",
"suppressTaskName": true,
"isTestCommand": true,
"args": [
"helloworld"
]
}
]
}
and one simple Makefile:
all: clean helloworld
helloworld: helloworld.cpp
C:/Programs/cygwin/bin/g++ helloworld.cpp -o helloworld
clean:
C:/Programs/cygwin/bin/rm -rf helloworld
But the problem arises when programs need user input during operation. Suppose for this very familiar program helloworld.
# include <iostream>
using namespace std;
int main ()
{
int name;
cin >> name;
cout << "Hello, " << name << "!!!" << endl;
return 0;
}
Could you please help me get user input at runtime. There is a workaround for passing input as command line arguments. But this is not possible for programs with complex threads.