AtCoder用環境構築
開発環境
OSはWindowsです。開発環境としてUbuntu-20.04 (WSL2) + VSCodeを使用します。以下、Ubuntu-20.04とVSCodeに必要な設定を行います。ちなみにWSL2ではなくWSL1でもよいです。
Ubuntu-20.04での設定
ビルドツールのインストール
$ sudo apt install build-essential -y $ sudo apt install gdb -y $ sudo apt install boost-all-dev -y
boostはオプションです。
AtCoder Libraryのインストール
適当な作業ディレクトリを作ってそこにAtCoder Libraryをダウンロードします。これを展開した後atcoderディレクトリを/usr/local/include/にコピーします。
$ mkdir work $ cd work $ wget https://github.com/atcoder/ac-library/releases/download/v1.2/ac-library.zip $ unzip ac-library.zip -d ac-library $ sudo cp -r ac-library/atcoder /usr/local/include
エイリアスの設定
AtCoderでのコンパイルオプションを参考にエイリアスを設定します。(参考: https://atcoder.jp/contests/abc180/rules)
$ echo "alias acc='g++ -std=c++17 -Wall -Wextra -O2'" > ~/.bash_aliases
例えばa.cppというファイルがあったとして以下のようにビルドできます。
$ acc a.cpp
VSCodeでの設定
Remote - WSLのインストール
拡張機能からRemote - WSLをインストールしておきます。
スニペットの設定
コンテスト用のコードを収めるディレクトリとして以下のような構造を想定します。atcoder/以下にコンテスト名のディレクトリをどんどん追加していくイメージです。
atcoder/ ├ .vscode/ ├ ABC180/ ├ ARC106/ └ ARC107/
[ファイル]タブから[ユーザー設定] > [ユーザースニペット]を選択して新しいスニペットを作成します。以下のJSONを貼り付けます。
{ "atcoder": { "scope": "cpp", "prefix": "atcoder", "body": [ "#include <bits/stdc++.h>", "#include <atcoder/all>", "using namespace std;", "using namespace atcoder;", "using ll = long long;", "", "int main()", "{", " $1", "", " return 0;", "}" ] } }
このスニペットを使うにはRemote - WSLでatcoder/を開いた後、コード編集中にatcoderと入力します(atcまで打ってタブキー押下でも可)。