10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

初心者向けatcoder-cliを使った環境構築(Mac編)

Last updated at Posted at 2020-03-17

はじめに

久しぶりに競技プログラミング欲が出たのでAtCoderやろーと思ったところ、便利なCLIツールが出ていたのでセットアップをしました。加えて暗黙知なところを少し書き残して置こうと思います。

使用ツール

online-judge-tools
atcoder-cli

ツールのインストール

こちらの製作者様ページに丁寧に解説されています。

@Adaachillさんの記事も非常に参考になります。

やりたいこと

  • デフォルトで指定したコンテストの問題すべてをダウンロードしておきたい(面倒なので)
  • コンテスト用ディレクトリを作成したらテンプレートを用いたファイルの生成をしておいて欲しい
  • なんらかのショートカットキーで実行ファイルを作って欲しい
  • oj tでテストして欲しい

以上の欲求を解決していこうと思います。

デフォルトで指定したコンテストの問題全てをダウンロードしておきたい。

デフォルト動作の設定を見つつ設定していきます。
atcoder-cliのconfigで設定するだけでOKです。

  1. $ acc config default-task-choice all
  2. 終わり

コンテスト用のディレクトリを作成したらテンプレートを用いたファイルの生成をしておいて欲しい

テンプレートの設定を見つつ設定していきます。リンク元と内容一緒です。

1.$ cd `acc config-dir`
2. cppという名前のディレクトリを作成します。
$ mkdir cpp
3. 雛形であるmain.cpptemplate.jsonファイルを作ります

template.json
{
    "task":{
        "program":["main.cpp"],
        "submit":"main.cpp"
    }
}
main.cpp
#include<bits/stdc++.h>
using namespace std;
int main() {

}
  1. $ acc templatesを使用して正常に読み込まれているか確認する。
  2. デフォルトでテンプレートを使用するように変更する
    $ acc config default-template cpp
  3. 終わり

ショートカットキーで実行ファイルを作って欲しい

oj tでテストしてもらう為には実行ファイルを作る必要があります。codeRunnerとか使ってもいいですが、ビルドタスクでショートカットキーを使い、実行ファイルを作っていきます。

Visual Studio Codeを使ってC++でHello World

  1. 上のリンクに書いてある通り手順をこなす。
  • ⌘+shift+Pでコマンドパレットを開く
  • Tasks: Configure Tasksを入力してEnter
  • テンプレートからtask.jsonを生成を選択
  • 最後にOthers を選択
  1. 出現したtask.jsonファイルを編集
    なお、ここではc++14を使う前提にしています。
    設定値の詳細は上記のリンク先で確認してください。
task.json
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build main.cpp",
            "type": "shell",
            "command": "g++",
            "args": [
                "-O2", "-std=c++14", "-o", "${fileDirname}/a.out", "${file}",
            ],
            "group": {
                "kind": "build",
                "isDefault": true,
            }
        }
    ]
}
  1. ショートカットキーを設定する
    VScodeの[Code] -> [基本設定] -> [キーボードショートカット] -> [run build task]で検索 -> お好きなキー割り当てに変更
  2. 実行ファイルを作りたいファイルと同じディレクトリでビルドタスクを実行する。
  3. 終わり

oj tでテストして欲しい

上の実行ファイルをビルドタスクで作るようにしたのであれば、configをいじるだけで終わりです。

  1. ビルドタスクを作る
  2. $ acc config default-test-dirname-format testをする
    ojのテストディレクトリはtestで作成するため、そちらに合わせる。oj側を変えてもOK
  3. oj tでテストする
  4. 終わり

まとめ

あとは通常の使用法通りに

  1. $ acc new <contest>
  2. $ cd <contest>
  3. main.cppにコードを書く
  4. ビルドタスク実行
  5. oj tでテスト
  6. acc sで提出

といった流れで簡単にできます。シェルスクリプトも書く必要が無くなって、かなり便利ですね。
環境がノンストレスになったので精進に励みたいと思います。

10
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?