AtCoderでJavaを使用するための競技プログラミング専用開発環境です。VSCode Dev Containersを使用して簡単にセットアップできます。
- VSCode
- Dev Containers拡張機能
- Docker
- プロジェクトを開く
code atcoder-java-template- Dev Containerで開く
Ctrl+Shift+Pでコマンドパレットを開くDev Containers: Reopen in Containerを選択- 初回は自動的にコンテナがビルドされます
- AtCoderにログイン
# ここを飛ばしても過去問のダウンロードは可能ですが、ログインしないとコンテストの参加ができません
acloginAtCoderのREVEL_SESSION Cookieの取得方法はこのURLを参照してください
# 例: ABC380の問題をダウンロード
acc new abc380abc380/a/Main.javaを開く- コードを書く
- テストを実行する
方法1: VSCodeタスク(推奨)
Ctrl+Shift+P→Tasks: Run Task→AtCoder: Test Current Problem
方法2: コマンドライン
./test abc380 a方法1: VSCodeタスク(推奨)
Ctrl+Shift+P→Tasks: Run Task→AtCoder: Submit Current Problem
方法2: コマンドライン
./submit abc380 aCtrl+Shift+P→Tasks: Run Taskで以下が利用可能:- AtCoder: Download Contest - 問題のダウンロード
- AtCoder: Test Current Problem - 現在の問題をテスト
- AtCoder: Submit Current Problem - 現在の問題を提出
- AtCoder: Login - AtCoderにログイン
F5でデバッグ実行- ブレークポイントで変数値を確認
- ステップ実行でロジックを追跡
Ctrl+F5でコードを直接実行(Code Runner)
VSCode以外でコンテナを操作したい場合:
# コンテナをビルド・起動
docker-compose up -d --build
# コンテナに入る
docker-compose exec atcoder-java bash
# コンテナを停止
docker-compose downatcoder-java/
├── .devcontainer/ # Dev Container設定
├── .vscode/ # VSCode設定(タスク、デバッグ等)
├── abc380/ # 問題ディレクトリ(実行時に作成)
│ ├── a/
│ │ ├── Main.java
│ │ └── test/ # サンプル入出力
│ └── ...
├── test # テスト実行スクリプト
└── submit # 提出スクリプト
- Java: OpenJDK 17
- Python: 3.10(atcoder-cli, online-judge-tools用)
- Node.js: 18.x(atcoder-cli用)
- atcoder-cli: 問題ダウンロード・提出
- online-judge-tools: テスト実行
- Java Extension Pack
- Java Language Support
- Code Runner
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
sc.close();
}
}# キャッシュをクリアしてリビルド
docker-compose build --no-cache# テスト・提出スクリプトに実行権限を付与
chmod +x test submit