Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>AtCoder Problem HelperNew to Visual Studio Code? Get it now.
AtCoder Problem Helper

AtCoder Problem Helper

bigguga

|
2 installs
| (0) | Free
VSCode extension for AtCoder: fetch problems, translate with LLM, AI tutor, local judge, and submit
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AtCoder Extension for VSCode

一个功能强大的VSCode插件,用于AtCoder竞赛题目获取、翻译、本地评测和提交。

功能特性

🎯 核心功能

  1. 题目获取 - 一键获取AtCoder比赛的所有题目
  2. 智能翻译 - 使用LLM翻译题目(支持多种AI提供商)
  3. 本地评测 - 调用CPH或内置评测器运行样例测试
  4. 在线提交 - 直接在IDE内提交代码到AtCoder
  5. GUI界面 - 美观的侧边栏界面,支持题目浏览

📝 题目显示

  • 支持Markdown格式解析
  • 支持LaTeX数学公式渲染(使用KaTeX)
  • 原文/译文一键切换
  • 样例测试用例清晰展示

🤖 支持的LLM提供商

  • OpenAI (GPT-4, GPT-4o等)
  • Anthropic (Claude)
  • Google Gemini
  • 自定义API端点

快速开始

方法一:直接调试运行(推荐)

  1. 用VSCode打开此项目文件夹
  2. 按 F5 启动调试(会打开一个新的VSCode窗口)
  3. 在新窗口中,点击侧边栏的AtCoder图标
  4. 输入比赛URL,如:https://atcoder.jp/contests/abc350

方法二:打包安装

# 安装依赖
npm install

# 编译
npm run compile

# 打包成VSIX
npm install -g @vscode/vsce
vsce package

# 然后在VSCode中安装生成的 .vsix 文件

配置

在VSCode设置中配置以下选项:

LLM配置

{
  "atcoder.llm.provider": "openai",
  "atcoder.llm.apiKey": "your-api-key-here",
  "atcoder.llm.model": "gpt-4o-mini",
  "atcoder.llm.baseUrl": "",
  "atcoder.llm.targetLanguage": "zh-CN"
}

编程语言配置

{
  "atcoder.language": "cpp",
  "atcoder.cppCompiler": "g++",
  "atcoder.cppFlags": "-std=c++17 -O2 -Wall"
}

支持的编程语言

  • C++ (默认)
  • Python
  • Java
  • Rust
  • Go

使用指南

1. 获取题目

  1. 点击侧边栏的AtCoder图标
  2. 在输入框中输入比赛URL,例如:https://atcoder.jp/contests/abc123
  3. 点击 "Fetch" 按钮

2. 查看题目

  • 点击题目列表中的任意题目
  • 题目内容将显示在GUI界面中
  • 数学公式会自动渲染

3. 翻译题目

  1. 点击 "Translate" 按钮
  2. 等待LLM翻译完成
  3. 使用 "Show Translated" / "Show Original" 切换显示

4. 本地评测

  1. 打开你的代码文件
  2. 点击 "Run Samples" 按钮
  3. 查看测试结果

5. 提交代码

  1. 打开你的代码文件
  2. 点击 "Submit" 按钮
  3. 确认提交

6. 登录(可选)

如需提交代码,需要先登录:

// 在设置中配置
{
  "atcoder.username": "your-username",
  "atcoder.password": "your-password"
}

或使用命令面板:AtCoder: Login

命令列表

命令 描述
AtCoder: Fetch Contest Problems 获取比赛题目
AtCoder: Login 登录AtCoder
AtCoder: Submit Solution 提交代码
AtCoder: Run Sample Tests 运行样例测试
AtCoder: Translate Problem 翻译当前题目
AtCoder: Toggle Original/Translated 切换原文/译文

本地评测

使用CPH(推荐)

安装 Competitive Companion 扩展以获得最佳体验。

内置评测器

如未安装CPH,插件会使用内置评测器:

  • 自动编译代码
  • 运行样例测试用例
  • 比较输出结果

故障排除

无法获取题目

  • 检查网络连接
  • 确认比赛URL正确
  • AtCoder可能有访问限制,稍后重试

翻译失败

  • 检查LLM API Key是否正确配置
  • 确认API提供商服务可用
  • 检查网络代理设置

提交失败

  • 确认已登录AtCoder
  • 检查代码语言设置是否正确
  • 确认在比赛时间内

开发

项目结构

Atcoder-Extension/
├── src/
│   ├── extension.ts          # 插件入口
│   ├── providers/
│   │   └── problemsProvider.ts  # Webview提供者
│   └── services/
│       ├── atcoderService.ts   # AtCoder API服务
│       ├── llmService.ts       # LLM翻译服务
│       ├── judgeService.ts     # 本地评测服务
│       └── submitService.ts    # 提交服务
├── media/
│   ├── styles.css             # 样式文件
│   └── atcoder-icon.svg       # 图标
├── package.json               # 插件配置
└── tsconfig.json              # TypeScript配置

开发命令

# 监听模式
npm run watch

# 运行测试
npm test

# 代码检查
npm run lint

许可证

MIT License

贡献

欢迎提交Issue和Pull Request!

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