現在、Visual StudioコードでC/C++プログラムを記述しようとしています。このために、2つの拡張機能をインストールしました: C/C++ & C++ Intellisense
ドキュメントによると、デバッグ機能はWindowsでは使用できません。次のタスクでコードをビルドして実行できました。
{
"version": "0.1.0",
"command": "cmd",
"isShellCommand": true,
"args": [
"/C"
],
"tasks": [
{
"taskName": "Makefile",
"suppressTaskName": true,
// Make this the default build command.
"isBuildCommand": true,
// Show the output window only if unrecognized errors occur.
"showOutput": "always",
// No args
"args": [
"C:/Programs/cygwin/bin/make.exe",
"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
}
}
},
{
"taskName": "Run",
"suppressTaskName": true,
"isTestCommand": true,
"args": [
"helloworld"
]
}
]
}
と1つの単純なMakefile
:
all: clean helloworld
helloworld: helloworld.cpp
C:/Programs/cygwin/bin/g++ helloworld.cpp -o helloworld
clean:
C:/Programs/cygwin/bin/rm -rf helloworld
しかし、プログラムの実行中にユーザー入力が必要になると、問題が発生します。この非常に使い慣れたhelloworld
プログラムについて考えてみましょう。
# include <iostream>
using namespace std;
int main ()
{
int name;
cin >> name;
cout << "Hello, " << name << "!!!" << endl;
return 0;
}
実行時にユーザー入力を取得するのを手伝ってくれませんか。入力をコマンドライン引数として渡す回避策があります。しかし、これは複雑なフローを持つプログラムでは不可能です。
[ファイル]> [設定]-> [ユーザー設定]に移動し、カスタム設定を追加します。
{
"code-runner.runInTerminal": true
}
最後にc ++コードを実行すると、コンソールに値を入力できるようになります
追加の利便性として、コメントからの入力を統合ターミナルに提供することもできます。
例:
# include <iostream>
using namespace std;
int main ()
{
int name;
cin >> name;
cout << "Hello, " << name << "!!!" << endl;
return 0;
}
/*input
123
*/
拡張リンク-
コメント入力: https://marketplace.visualstudio.com/items?itemName=virresh.cinp
注:この拡張機能は code-runner に依存しています。これは、ほぼすべての言語のスクリプトを実行できる別の拡張機能です(カスタムビルドオプションも指定できます)。
免責事項:私はこの拡張機能の作成者です