Skip to content

Releases: SuperUseryjh/htoj-vscode

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 05:51

核桃 OJ for VS Code v1.2.0

在 VS Code 里刷核桃 OJ:浏览题目 / 题单 / 比赛,本地写代码,一键提交并直接看到评测结果。

第三方非官方扩展,与核桃编程官方无关。

泥嚎,这里是 vscode-htoj 插件的 v1.2.0 发布说明。

新增功能

  • 题面里直接跳上一题 / 下一题:题面面板工具栏新增「← 上一题」「下一题 →」。
    • 顺序由服务端按题目来源算好,题库、题单章节、比赛、小组都与网页端一致,本地不维护题目列表。
    • 已经到第一题 / 最后一题时按钮自动禁用;未知来源或只有一道题时不显示,避免出现点了没反应的按钮。
    • 兼容了四种接口返回形状不一致的问题:题库是裸 pid、题单是 { pid, unfinishedProblemNum, changeChapter }、比赛是 { pid }、没有邻居时统一是 null。
  • 复制题面 Markdown:工具栏新增「复制题面」,把接口下发的原始 Markdown 放进剪贴板,方便贴到笔记或博客里继续编辑。

说明

  • 本次只动了题面面板与「上一题 / 下一题」接口封装,登录、提交、自测、提交记录等行为与 v1.1.5 一致。
  • 仓库内部把逆向产物移出本仓库、发布辅助脚本统一放到 tools/;这只影响开发流程,不影响插件功能。

v1.1.5

Choose a tag to compare

@github-actions github-actions released this 11 Oct 03:54

核桃 OJ for VS Code v1.1.5

在 VS Code 里刷核桃 OJ:浏览题目 / 题单 / 比赛,本地写代码,一键提交并直接看到评测结果。

第三方非官方扩展,与核桃编程官方无关。

泥嚎,这里是 vscode-htoj 插件的 v1.1.5 发布说明。

新增功能

  • 手机号 + 短信验证码登录:登录入口里多了一种方式。填手机号 → 点「获取验证码」→ 面板里弹出腾讯验证码,拖动滑块完成验证后插件才请求发送短信,输入收到的验证码即可登录。
    • 为什么必须手动拖一下:发送验证码接口强制校验腾讯 TCaptcha 票据,票据只能在验证通过后由腾讯签发给页面,本地造不出来(伪造会被服务端拒:errCode 2024 票据校验异常),所以插件无法替你自动完成这一步。
    • 顺带纠正了一个旧结论:以前文档里写「扩展的 Webview 域名未备案,拿不到票据」,实测下来并不成立——腾讯 SDK 在非备案 origin 上照常加载、照常出票,真正的门槛是人机验证本身,不是域名。
    • 面板在处理验证码期间会保留上下文,中途切去别的标签页再回来不用重拖(验证码本身有有效期,超时重来即可)。
  • 不需要拖动的仍是原来两种:微信扫码、手机号 + 密码(后者登录后会保存凭据并自动续期 token)。

说明

  • 本次只动了登录相关代码与文档,题目 / 题单 / 比赛 / 提交 / 自测等行为与 v1.1.4 一致。

v1.1.4

Choose a tag to compare

@github-actions github-actions released this 06 Oct 00:43

核桃 OJ for VS Code v1.1.4

在 VS Code 里刷核桃 OJ:浏览题目 / 题单 / 比赛,本地写代码,一键提交并直接看到评测结果。

第三方非官方扩展,与核桃编程官方无关。

泥嚎,这里是 vscode-htoj 插件的 v1.1.4 发布说明。

新增功能

  • token 过期自动续期:用手机号 + 密码登录后,手机号和密码会存进 VS Code 的 SecretStorage(走系统钥匙串,不写入工作区文件)。此后每次请求前都会检查 token 自带的过期时间,剩余不足 5 分钟就静默重新登录换一个新 token,不用手动重登。退出登录、或改用扫码 / 粘贴 Token 登录都会清除凭据(避免换了账号后续期把登录态切回上一个账号)。判断依据是 JWT 里的 exp,不看接口报错——核桃的 errCode: 401 也用于「每页最多显示20条记录」这类业务错误。

修复问题

  • 修复比赛题的提交记录查不出来:查询条件里多带了一个 gid。比赛提交记录里的 gid(以个人身份提交时的分组标识)和题目链接里的 gid 并不是同一个值,后端按它过滤就把记录全滤掉了——界面表现是「本题还没有提交记录」,而其实记录存在、甚至已经 AC。现在不再传 gid。
  • 修复题面样例的左右并排完全没生效:配对代码先把样例块移进容器、再调 replaceWith,会让容器成为自己的后代,抛 HierarchyRequestError。后果不止是没并排——样例块会整段消失,而且异常中断了整段 webview 脚本,导致提交 / 刷新 / 自测按钮、提交记录的展开、评测与自测结果的回填全部失效。现在改成先把容器插回文档再移动内容块,并把这步挪到脚本末尾加了兜底,最坏情况也只是后处理不生效、面板照常可用。

v1.1.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 13:26

核桃 OJ for VS Code v1.1.0

在 VS Code 里刷核桃 OJ:浏览题目 / 题单 / 比赛,本地写代码,一键提交并直接看到评测结果。

第三方非官方扩展,与核桃编程官方无关。

泥嚎,这里是 vscode-htoj 插件的 v1.1.1 发布说明。

新增功能

无

修复问题

fix(self-test): 修复自测未显示输出问题

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 12:08

核桃 OJ for VS Code v1.1.0

在 VS Code 里刷核桃 OJ:浏览题目 / 题单 / 比赛,本地写代码,一键提交并直接看到评测结果。

第三方非官方扩展,与核桃编程官方无关。

泥嚎,这里是 vscode-htoj 插件的 v1.1.0 发布说明。

新增功能

feat(self-test): 新增自测功能