atcoder-cliを使いたくて、少々回り道をしながらもインストール手順を残しておきます
homebrewを使ってgccをインストールします
$ brew install gcc
$ ln -s /usr/local/bin/gcc-11 /usr/local/bin/gcc
$ ln -s /usr/local/bin/g++-11 /usr/local/bin/g++
$ gcc -v
$ g++ -v</code></pre>
上記は、2021年9月時点での情報です。バージョンがどんどんと上がるはずですので、
ls /usr/loca/bin/ | grep gcc
などとして正確なバージョンを把握して下さい
また、gcc -vとしたときに、apple clangが呼ばれていたらシンボリックリンクがうまくいっていないか、優先順位がうまくいっていない可能性があるため、以下をやってみます
$ echo 'export PATH=$PATH:/usr/local/bin' >> ~/.zshrc
続いて、python, nvmをインストール
$ brew install python3
$ brew install nvm
$ source $(brew --prefix nvm)/nvm.sh
$ echo 'source $(brew --prefix nvm)/nvm.sh' >> ~/.zshrc
$ nvm -v
バージョンが表示されればOKです。
$ nvm install --lts --latest-npm
$ nvm alias default 'lts/*'
$ node -v
ここまできたら、あとは粛々とインストール
$ npm install -g atcoder-cli
$ pip3 install online-judge-tools
$ acc -v
$ oj --version
$ acc check-oj
これで終わり。ログインします
$ acc login
? username: (入力します)
? password: [hidden](入力します)
OK
$acc session
表示されれば、ログインできています
$ acc config default-task-choice all
# すべてとってくる設定
$ cd `acc config-dir`
# 上記実際には、/Users/(ユーザー名)/Library/Preferences/atcoder-cli-nodejs となっています
$ mkdir cpp
$ touch cpp/main.cpp
$ vim cpp/template.json
以下のjsonファイルを作成します。
{
"task":{
"program": ["main.cpp"],
"submit": "main.cpp"
}
}
確認して、c++を基本にしてしまいます
$ acc templates
$ acc config default-template cpp
いよいよVSCodeの設定
VSCodeを起動して、新しいフォルダーを開きます。もしくは、今回対象とするフォルダで、$ code .として開きます
command+ Shift + Pから、settings と入力して、ワークスペースの設定を開きます
command + Shift + B で、task.jsonを新規作成します
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "g++",
"args": [
"-g",
"-o",
"${workspaceFolder}/main",
"${workspaceFolder}/main.cpp"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
利用方法
VSCのターミナルを開いて
$ acc new abc213(コンテンスト名)
これで指定コンテストを実行するに必要となる一連のファイルがダウンロードされます。