Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Atcoder UtilityNew to Visual Studio Code? Get it now.
Atcoder Utility

Atcoder Utility

kousa__

|
8 installs
| (0) | Free
Provides various supports for AtCoder contests in VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Atcoder Utility

VS Code上でのAtCoderのコンテスト参加と学習をサポートする拡張機能です。

主な機能

1. ファイルエクスプローラーの強化

  • 正解確率の可視化: あなたのAtCoderレーティングと問題のDifficultyに基づき、問題フォルダに正解確率の目安を絵文字とパーセンテージでバッジ表示します。
    • 🔵 (75%以上): 自信を持って解ける問題
    • 🟡 (40%以上): ちょうど良い練習になる問題
    • 🔴 (40%未満): 挑戦的な問題
  • AC状況の表示: AtCoder Problemsの提出履歴と連携し、AC済みの問題に ✅ マークを表示します。
  • コンテスト情報の表示: コンテストフォルダにマウスをホバーすると、正式名称や開催日時をツールチップで表示します。

2. サイドバー・ダッシュボード

アクティビティバーの専用アイコン Ⓐ をクリックすると、あなたのAtCoderステータスが一覧表示されます。

  • My Status: 現在のレーティング、最高レーティング、ランク表示、総AC数、連続AC記録、色別のAC数。
  • Recommended Problems: あなたの現在の実力に合わせた、次に解くべきおすすめの問題リスト(Difficultyに基づき計算)。
  • Current Contest: 現在開いているコンテストの問題一覧とAC状況。
  • Bookmarks: 問題フォルダを右クリックして、後で復習したい問題をブックマーク・管理。
  • AC Activity: サイドバーの「AC Activity」ビューから、1週間、1ヶ月、3ヶ月、6ヶ月ごとのAC数をグラフとヒートマップで表示。
  • Custom Tests: 独自の入力・出力ケースを作成し、test フォルダに my_test_N.in / .out として保存。
  • Problem Timer: 問題を解く時間を測定するタイマー。
  • Contest Actions:
    • コンテストの準備(acc new相当の操作を自動化)。
    • 提出の準備(ファイルをバンドルし、プログラムをコピー、提出リンクを開くことで、Ctrl+Vと提出ボタンのみで提出可能に)。
    • 入力予測スニペットの生成。
    • リセット(現在開いているファイルをtemplateの内容にリセットします)。
  • Random Input: 制約を設定すると自動でテストケースを作成。クエリの入力はStruct Arrayで設定可能。
  • Fuzzer: Random Inputの設定を保存することで、愚直解とメインの解法で出力が変わる入力例を発見。
  • Virtual Contest: 時間、コンテスト種類、問題の絞り込み、フィルタを設定してバーチャルコンテストを実施。ステータスバーに残り時間が表示され、終了時間が近づくと通知。

3. ステータスバー連携

  • 常時レート表示: 👤 ユーザー名 (⚪ 1985) のように、現在のレーティングを常にステータスバーに表示。
  • 自動テスト: ファイルをセーブ(Ctrl+S)したときに下のバーにテスト結果を表示。カーソルを合わせると具体的な結果を表示。
    • デフォルトではC++・Python・Java・Rust・C・C#・Ruby・Go のみ対応。
    • 設定でoj tの実行結果を出力することも可能(動作が不安定になる可能性あり)。

4. 問題文表示

  • ブラウザを使わずに問題文を表示。設定で常に表示するかを選択可能。
  • アクセスを減らすためHTMLファイルが生成されます(不要であれば非表示を推奨)。

5. 入力予測

  • 問題文から入力を予測(現在はC++のみ)。Contest Actionsからボタンを押すと、クリップボードに入力がコピーされます。
  • ルールベースで動作し、ABCやARCのコンテスト中に使用可能。
  • 特殊な入力やクエリ問題では動作しないことがあります。

6. 自動折りたたみ

  • 設定したファイル名(例: Main.cpp)を開いたときに、設定した行数を自動で折りたたみ。

使い方

1. インストール

Visual Studio Marketplaceから「Atcoder-Utility」をインストールしてください。 Atcoder-Utility - Visual Studio Marketplace

2. 初期設定

  1. VS Codeの設定 (settings.json) を開きます。 (Ctrl + , -> 右上のファイルアイコン)

  2. 必須設定 (F1 -> 基本設定: 設定(UI)からでも変更可能)

    "atcoder-utility.userId": "your_atcoder_id",
    "atcoder-utility.aclPath": "your_atcoder_library_path",
    "atcoder-utility.templateFilePath": "your_template_file_path"
    
    • userId: レートやAC確率計算に使用します。
    • aclPath: C++などのコンパイル時に使用します。
    • templateFilePath: コンテストセットアップ時に自動生成されるファイル(.cppや.pyなど)のパスを設定します。

    AtCoder Session Cookieの設定: F1 -> AtCoder-Utility: Set AtCoder Session Cookie を実行し、AtCoderのセッションクッキーを設定します。

    • 取得方法 (Chromeの場合): F12で開発者ツールを開き、「Application」タブ -> 「Storage」-> 「Cookies」-> https://atcoder.jp を選択。「REVEL_SESSION」の値をコピーし、VS Code上に貼り付けます。
    • この値はSecretStorageで管理され、スクレイピングに利用されます。
  3. 基本設定 (F1 -> 基本設定: 設定(UI)からでも変更可能)

    "atcoder-utility.autoTestEngine": "custom",
    "atcoder-utility.bundleEngine": "custom",
    "atcoder-utility.languageSettings": {"..."}
    
    • autoTestEngine: 自動テストで使用するエンジン(customは拡張機能内蔵、ojはonline-judge-tools)。
    • bundleEngine: バンドル&クリップボードにコピーで使用するエンジン(autoTestEngineと同様)。
    • languageSettings: 自動テストで使用するコンパイルコマンド(autoTestEngineでojを設定している際は不要。C++、Python、Java、Rust、C、C#、Ruby、Goはすでに設定済みで変更も可能)。
  4. C++のみの設定

    "atcoder-utility.snippet.arrayStyle": "vector",
    "atcoder-utility.snippet.integerType": "int",
    "atcoder-utility.snippet.queryStyle": "individual_vectors"
    
    • snippet.arrayStyle: 入力スニペット生成で使用する配列の種類を選択(vectorを推奨)。
    • snippet.integerType: 入力スニペット生成で使用する整数型の種類を選択(intかlong long)。
    • snippet.queryStyle: 変更は推奨しません(デフォルトで動作します)。

依存関係 (オプション)

この拡張機能は、以下のツールがなくてもすべての機能が動作します。 一部機能はこれらのツールと連携して動作させることも可能です。

  • atcoder-cli (acc): コンテストフォルダの作成に使用。
  • online-judge-tools (oj): テストの実行・ファイルのバンドルに使用。

注意事項

  1. 本拡張機能が使用するAPIは非公式なものであり、予告なく仕様が変更され、機能が動作しなくなる可能性があります。
  2. 解ける確率はあくまで推定値であり、実際の正答率を保証するものではありません。
  3. AtCoder Problemsのdifficultyを参考にしていますが、負の値になる場合があります。
  4. 入力予測機能は間違ったコードを生成することがあります。
    • 現在確認されている入力スニペットが動作しない例: 複雑な配列入力(ジャグ配列など)。

貢献

バグ報告、機能要望、改善提案などがありましたら、GitHubのIssueにご連絡ください。

  • Issues Pull Requestも歓迎いたします。
  • Pull Requests

ライセンス

This extension is licensed under the MIT License. この拡張機能はMITライセンスであり、商用利用も可能です。 いかなる場合においても、著作者または著作権者は、本拡張機能の使用、その他の取り扱いに起因または関連して生じるいかなる請求、損害、その他の責任についても責任を負わないものとします。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft