You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否基于上次选择的文件自动填充竞赛编程网站的Choose File按钮?

实现USACO提交时自动关联上次选择的代码文件(Chrome环境)

Chrome原生的自动填充功能不支持文件选择框,但可以通过两种方式简化操作,减少手动找文件的麻烦:

方法一:用Tampermonkey油猴脚本自定义实现

因为浏览器安全限制,脚本没法直接帮你选中文件,但可以帮你记住上次提交的文件名,辅助快速定位:

  1. 先在Chrome里安装Tampermonkey扩展(应用商店搜索即可找到)
  2. 点击Tampermonkey图标,选择「创建新脚本」,替换成下面的代码:
// ==UserScript==
// @name         USACO Auto File Select Helper
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  快速关联上次提交的USACO代码文件
// @author       You
// @match        https://usaco.org/*submit*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const fileInput = document.querySelector('input[type="file"]');
    if (!fileInput) return;

    // 读取上次保存的文件名
    const lastFileName = localStorage.getItem('usaco_last_file');

    // 保存本次选择的文件名
    fileInput.addEventListener('change', function(e) {
        if (e.target.files.length > 0) {
            localStorage.setItem('usaco_last_file', e.target.files[0].name);
        }
    });

    // 显示上次提交的文件名提示
    if (lastFileName) {
        const hint = document.createElement('span');
        hint.style.cssText = 'color:#666; margin-left:8px;';
        hint.textContent = `上次提交: ${lastFileName}`;
        fileInput.parentNode.appendChild(hint);
    }
})();
  1. 保存脚本后,打开USACO的提交页面,每次选完文件,脚本都会记住文件名,下次打开页面时会在按钮旁显示提示,帮你快速找到目标文件。如果需要更便捷的操作,还可以给脚本加快捷键,比如按特定组合键直接打开文件选择框并定位到常用目录(需要额外调整代码)。

方法二:用竞赛编程专用Chrome扩展

有些专门针对编程竞赛的扩展支持这类功能,它们通常:

  • 允许你预设常用的代码存放目录
  • 记住最近提交的几个文件,一键选择
  • 部分还支持和本地编辑器同步代码(不过USACO要求传文件,所以重点看文件选择优化的功能)

注意:只从Chrome应用商店安装正规扩展,避免安全风险。

关键提醒

出于安全考虑,浏览器禁止任何工具在无用户交互的情况下自动选中本地文件,所以所有方案都需要你手动点击「choose file」按钮,只是帮你减少找文件的步骤,提升提交效率。

内容的提问来源于stack exchange,提问作者Joshua Yang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:40:33