概要
Visual Studio CodeでC++のコンパイルと実行を一発で行う.
背景
調べてもプログラムの実行にデバッグ機能を使うものばかりだった.もっとサクッとやりたいのでコマンド一発で出来るようにする.
VScodeではタスクという機能を使ってコマンドを実行できるらしいので,実行のためにtasks.jsonを編集する.
準備
C++実行までの事前準備は調べるとたくさん出てくる.
- コンパイラ
- コンパイラを入れるのにVisual Studioをインストールしたくなかったので,MinGWでG++をインストールした.
- コンパイル用エクステンション
- Ctrl+Shift+Xで拡張機能バーを出しC++と検索して,C/C++という拡張機能をインストールする.
プログラム
VSCodeでファイルを新規作成してcppファイルで保存する.
中身は適当なコードにする.
#include <iostream>
using namespace std;
int main(){
cout << "aaa" << endl;
return 0;
}
tasks.jsonファイルの作成
新規作成後はjsonファイルが作成されていない.
ctrl+shif+Pでコマンドパレットを出し,task
と入力する.
幾つか候補が出てくるので,タスク:タスクランナーの構成
を選択するとファイルが自動で生成される.
生成されたtasks.json
ファイルの中身を書き換える.
{
"version": "0.1.0",
"command": "g++",
"isShellCommand": true,
"showOutput": "always",
"args": ["-o","${fileBasenameNoExtension}","${file}","&","${fileBasenameNoExtension}.exe"],
"isBuildCommand": true
}
g++コマンドにargsで引数を渡している.
以下のコマンドと同等になる.
g++ -o hello.exe hello.cpp & hello.exe
コンパイルして出来た実行形式ファイルを実行してるだけ.
tasks.jsonで使える環境変数
${file}
などのように環境変数を使うことが出来る.
詳細は公式ドキュメントで
https://code.visualstudio.com/Docs/editor/tasks#_variable-substitution
コンパイル&実行
プログラムの画面でctrl+shift+bでコンパイルと実行が行われる.
おわりに
とりあえず一発でコンパイルから実行まで出来るjsonファイルを書きました.
コンパイル用タスクと実行用タスクに分割して,それぞれをインクルードして使うのも良いと思います.