伸縮性のあるブログ

たまに競プロとかする

Visual Studio CodeでC++の簡単な競プロ環境構築

 今まで競プロの環境構築に何度も失敗して、ずっとVisual Studioを使ってきたのですが、なんとかVSCodeで最低限のGCCの環境が作れたので紹介しようかなと思います。(OSはWindows10を想定しています)

手順1 ~MinGWの導入~

osdn.net

 ココのmingw-get-setup.exeとかいうのを落とします。実行して適当にイエスマンになってるとInstall Managerとかいうのが起動するので、mingw32-base-binとmingw32-gcc-g++-binにマークを付けて、ツールバーのInstallation→Apply Changesをクリックするとインストールが始まります。

f:id:strtbox:20180925043707p:plain

 

インストールが終わったら、システムのプロパティから環境変数を開いて、システムの環境変数の欄のPathを編集し、"C:¥MinGW¥bin"を追加します。コマンドプロンプトgcc -vと入力して、バージョンとかが出たら成功です。たぶんここまでは何度かやったことがある人もいると思います。

f:id:strtbox:20180925045124p:plain

 

手順2 ~VSCodeの導入~

code.visualstudio.com

インストールしましょう。それはできるよね。

必要な拡張機能を導入します。C++で調べて一番上に出てくるであろうMSのやつを入れればいいです。私は英弱なのでJapanese Language pack for VScodeも導入します。

f:id:strtbox:20180925051147p:plain

作業フォルダを作成してください。デスクトップとかに適当なフォルダを作ればいいです。ソースコードやこれから作るbatファイルやvscodeの設定を保存するjsonファイル等が入ります。ここではC:¥Users¥hoge¥Desktop¥cppとしておきます。

ファイル→フォルダを開く から先ほど作ったフォルダを開いて、中にmain.cppを作成してください。

コマンドパレット→C/Cpp:Edit Configurations...を開くと、作業フォルダの中に

 .vscodeフォルダが作成され、 c_cpp_properties.jsonが現れるのでそいつを以下のように編集します。

{
"configurations": [
{
"name": "Win32",
"includePath": [
"C:/MinGW/lib/gcc/mingw32/6.3.0/include"
],
"defines": [
"_DEBUG",
],
"windowsSdkVersion": "10.0.16299.0",
"compilerPath": "C:/MinGW/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++14",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}

 下のようにmain.cppでbits/stdc++.hがincludeできることを確認したらOKです。(画像のsettings.jsonはなくても気にしなくていい)

 これで波線が消えなかったらincludePathに

"C:/MinGW/lib/gcc/mingw32/6.3.0/include/cpp/mingw32/bits"

を追加すると動くこともあるそうです。(ぼくはいらなかったのでよくわからない)

f:id:strtbox:20180925055026p:plain

batファイルを作成します。作業フォルダ内にbuild.batを作成して中身を以下のように変更します。(a.exeがセキュリティソフト()に抹殺されるらしいので対象外にするなどしてください)

g++ -std=gnu++1y -O2 main.cpp
call a.exe

-O2は最適化の度合いでAtCoderではデフォルトでO2で設定されています。(詳しくはググって)

Ctrl+Shift+B→ビルドタスクを構成→テンプレから...→Othersを選ぶと.vscodeフォルダ上にtask.jsonが現れます。

そこの一行だけ

"command": "./build.bat",

 と書き換えます。あとはmain.cppに適当なコード書いてCtrl+shift+Bで下のように実行できればひとまず完成です。ターミナルから標準入力に右クリックでコピペで入力できるので便利。

f:id:strtbox:20180925060809p:plain

Ctrl+Shift+Bを押すのはめんどくさいのでキーコンフィグをF6に変えようと思います。

コマンドパレットにkeyと入力して、「基本設定:キーボードショートカットファイルを開く」からkeybindings.jsonを開いて

[
{
"key": "f6",
"command": "workbench.action.tasks.build"
}
]

 のように書き換えればOKです。これで完成です、お疲れ様でした。