### 実行してみる #### ハローワールド とりあえず適当に cpp ファイルを作ってみる `hw.cpp` ``` #include <iostream> using namespace std; int main() { cout << "Hello, World!" << endl; return 0; } ```
コンパイル & 実行 ``` g++ -std=c++17 -o hw hw.cpp ./hw ```

#### ABC086A 超基本問題を解いてテストしてみる。 https://atcoder.jp/contests/abs/tasks/abc086_a `abc086_a.cpp` ``` #include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; if ((a * b) % 2 == 0) { cout << "Even" << endl; } else { cout << "Odd" << endl; } return 0; } ```
コンパイル & 実行 ``` g++ -std=c++17 -o abc086_a abc086_a.cpp ./abc086_a # 引数を2個入力 ```
もしくは `echo` で引数を渡す ``` g++ -std=c++17 -o abc086_a abc086_a.cpp echo "1 21" | ./abc086_a ```

ここまでできれば、とりあえず競プロをはじめるには十分。お手軽。 windows とかいう軟弱 OS でやろうとすると Linux 環境をわざわざ用意しなくてはいけないらしい。 Linux 最高!
## vscode 拡張 とはいえ毎回コンパイル&実行を CLI からやるのは地味に面倒なので、vscode 拡張でパパっとやってしまう。
### いれる 純正 vscode なら、拡張機能から C++ とかで検索して、Microsoft の拡張機能を入れる。 C/C++ と C/C++ Compile Run の2つ。
vscodium 等派生を使っている人は、Open VSX に MS の拡張が無いので代用。 ・clangd本体をインストール ``` sudo pacman -S clang # もともと入ってるかも ``` ・拡張機能を入れる 拡張機能タブから、`clangd`(作者:llvm-vs-code-extensions)と `Code Runner`(作者:formulahendry)を入れる。


・設定 Code Runner の設定をする。 `Ctrl+Shift+P` → `Open User Settings (JSON)` から設定の json を開いて追記 ``` "code-runner.executorMap": { "cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && ./$fileNameWithoutExt" }, "code-runner.runInTerminal": true ``` こうすることで、引数を渡す系のものができる。
### つかう `.cpp` を開いた状態でキーボードショートカットを押すだけ。 C/C++ Compile Run なら `F6` 、Code Runner なら `Ctrl+Alt+N` 。
上手く実行できたら OK。以上!
筆者の環境では Alt キーの含むショートカットが上手く通らないので、`Ctrl + Enter` に変更した。 `Ctrl + Shift + P` でパレットを開いて、キーボードショートカットの設定から変更。
