VisualStudioでC++競プロ ＝paiza.ioっぽい環境設定＝

#はじめに
「競プロでIDEを使って効率よくコーディングしたい」
「実行するたびにいちいちターミナルへサンプルケースをコピペするのがだるい、だけど自動化までやるのはメンドクサイ」
と考えた末、VisualStudio上で[paiza.io](https://paiza.io/ja)ライクな環境を用意しました。
標準入力として指定したテキストファイルから入力を読み込んで、標準出力として指定したテキストファイルに結果を出力します。この記事では、セッティングの手順を説明します。

尚、この記事はVisual Studioをすでに入れた方が対象の記事です。そのため、Visual Studioの入れ方は説明しません。未インストールの方は以下の記事を参照していただければと思います。筆者は2017を使っていますが、この記事で扱う範囲内では差はないはずです。
[【正式リリース】Visual Studio 2019 のインストール・実行方法【解説】](https://qiita.com/Gaccho/items/1409c27216a67014a024)


#筆者の環境
* OS：Windows10 Home
* ソフト：Visual Studio 2017　コミュニティ

#到達目標
こんな感じ
![ezgif-2-94821ff2a720.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/6cb809ac-2efb-2ee0-6024-017a6218cc13.gif)

#やり方
## 1. Visual Studioを立ち上げる
## 2. プロジェクトの新規作成を選択する
__ファイル > 新規作成 > プロジェクト__
![スクリーンショット (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/38e7eee6-25b2-b5f0-ea63-59edfd442e3c.png)
## 3. 空のプロジェクトを作成する
左側のVisual C++を選択状態にすると真ん中にいくつかプロジェクトの候補が表示されます。
その中から__空のプロジェクト__を選択し、OKボタンを押します。
![キャプチャ.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/08ff668f-3644-f78a-7bae-f6afb77d7987.jpeg)
## 4. ソリューションエクスプローラーを開く
__表示 > ソリューションエクスプローラー__
![スクリーンショット (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/c554ac94-22f9-358a-8c52-9a505649cf4a.png)
## 5. ソースファイルの追加を選択する
ソリューションエクスプローラー内の__ソースファイル__というフォルダ名を右クリックします。
__追加 > 新しい項目__　を選択します。
![スクリーンショット (5).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/fa18b2ab-7705-ec47-908a-12eba9795d9c.png)
## 6. C++ファイルを作成する
5 を行うとウィンドウが開いて__C++ファイル__が選択状態になっているはずです。そのまま追加ボタンをクリックします。
![キャプチャ.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/856620a2-5fe0-2a4b-5a71-1b5b6f0920ce.jpeg)
## 7. 入出力用テキストファイルを作成する
再び5を行ってウィンドウを開きます。左側のリストから__ユーティリティ__を選択すると、真ん中にいくつか追加するファイルの候補が表示されます。
__テキストファイル__を選択し、分かりやすくするために__ファイル名をinput.txtに変更__して追加ボタンを押します。

output.txtも同様の手順で作成します。
ここまででソリューションエクスプローラはこんな風にinput.txt, output.txt, Source.cppが作成された状態になっているはずです。
![スクリーンショット (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/a7d0c616-73a1-4745-e36f-08f351d2c18d.png)

## 8. プロジェクトのプロパティページを開く
続いて、ソリューションエクスプローラー内の__プロジェクト名__を右クリックし__プロパティ__を選択します。
![スクリーンショット (7).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/ace5ff1b-8eff-9f00-2d40-dafa86f12596.png)

## 9. コマンド引数を指定する
プロパティページが開いたら、左側に表示される構成プロパティの中の__デバッグ__を選択します。
すると、画像のような画面が表示されます。このうち、__コマンド引数__という部分を編集します。デフォルトではここは空欄になっているはずなので、画像のように

```
<input.txt> output.txt
```
と入力します。
入力出来たらOKボタンを押します。
![キャプチャ3.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/b549697f-ef96-12a8-5d03-71d2848f907f.jpeg)

## 10. コードを書く
6 で作成したcppファイルを開き、以下のようにコーディングします。

```c++
#include <iostream>
#include <string>
using namespace std;

int main(void) {
	string s;
	cin >> s;
	cout << s;
}
```
## 11. 入力を書く
7 で作成したinput.txtを開き、以下のように入力します。

```
HelloVisualStudio!!
```

## 12. 実行する
緑の三角形が描かれている、ローカルWindows デバッガ―というやつをクリックします。
![スクリーンショット (8).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/48daebd1-e7ea-845b-f04a-4efee7e2e07a.png)
ここでビルドするかどうかを聞かれるかもしれません。ファイルを更新するたびビルドするか聞かれるのが面倒な場合は、以下のダイアログで__今後このダイアログを表示しない__にチェックを入れてからはいを選んでください。
![キャプチャ4.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/5b42175c-ce2a-c3f5-2432-1c25a07b828e.jpeg)

## 13. 結果を確認する
output.txtを開いて、期待通りの出力がされていれば完了です。
![スクリーンショット (9).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/271991/17452779-ea59-bdf1-a300-444e3712c135.png)

#おわりに
必要に応じて水平分割や垂直分割表示をして複数ファイルを一度に見られるようにしてあげればさらにやりやすくなるのではないかと思います。
楽しく快適にC++競プロlifeを満喫しましょう！