Skip to content

Latest commit

 

History

History
73 lines (41 loc) · 8.95 KB

getting-started.md

File metadata and controls

73 lines (41 loc) · 8.95 KB

使用指南

返回项目首页 · 文档目录

本页说明当前源码对应的使用方式;已发布安装包的功能以对应版本为准。

安装与首次启动

BeCoder 通过面向 64 位 Windows 10 及更高版本的 Setup 安装程序发行。打开安装包即申请管理员权限,原生和 Portable 两种模式共用此入口。

  • 原生应用版(推荐): 创建系统级 Windows 卸载登记和卸载器,由 Inno Setup 直接在公共开始菜单 Programs 目录创建 BeCoder.lnk。每台电脑只认可一份原生安装;重新安装请选择已登记目录,改换目录前先卸载。无需独立快捷方式程序或安装中途提权。
  • 完全 Portable 版: 不创建卸载登记或开始菜单入口,不向注册表写入安装状态。支持多份独立副本,可整体复制到可移动存储介质或其他 Windows 电脑。不能覆盖已登记的原生安装目录。
  1. 运行 Setup 并选择安装模式和专用安装文件夹。路径只能包含 ASCII 字符、总长度不得超过 70 个字符,并且不能直接使用磁盘根目录。默认路径为 %LOCALAPPDATA%\Programs\BeCoder。
  2. 两种模式中的“创建桌面快捷方式”均默认勾选。向可移动存储介质安装时建议取消勾选。
  3. 第一次正常启动时,BeCoder 会打开随安装提供的 coding\helloCoder.cpp 示例。只有这个由安装程序提供的入门文件夹会被自动信任。

安装完成后的 BeCoder 目录是自包含目录,可以整体移动。不同 Portable 副本分别保存独立的应用数据和工具链;手动移动原生安装不会自动更新 Windows 卸载登记。

从题目到提交

  1. 打开并信任自己的竞赛工作区。在欢迎页选择 OJ,使用内置浏览器进入支持的题目页面;网站需要登录时,在网站中完成登录。
  2. 页面加载完成后,点击浏览器工具栏的“导入题目”。BeCoder 将页面样例导入 CPH,并在选定工作区创建或复用 C/C++ 源文件,保留已有源码内容。导入产生新的源码编辑器组时,该组位于题目浏览器左侧。
  3. 编写解答,按 Ctrl+Alt+B 运行 CPH 样例,按 Ctrl+Alt+D 聚焦评测器。支持编辑、添加、删除样例和从 JSON 导入样例,也可单独重跑、查看输出差异或停止当前运行。CPH 元数据保存在工作区的 .cph 目录中。
  4. 从源码编辑器复制解答,粘贴到 OJ 提交编辑器,在网站中选择语言和编译器并提交。BeCoder 不自动提交;本地样例通过不等于在线评测通过。本地 debug(...)、dout 是 BeCoder 辅助功能,提交到没有这些定义的 OJ 前,需要移除相关调用或自行提供兼容定义。

内置解析器覆盖 Codeforces、AtCoder、洛谷、蓝桥杯、牛客、SPOJ、CSES、HDOJ、AcWing、LibreOJ(含归档站),以及明确支持的 DMOJ 站点:DMOJ、MOI Arena、Le Quy Don Online Judge、VNOI Online Judge、A.Y. Jackson Online Judge。导入仅支持非交互式、标准输入输出的 C/C++ 题目,不支持依赖 PDF 或额外资源的题目,也不会自动支持任意 DMOJ/Hydro 实例。网站结构变化、登录要求和访问限制可能导致解析失败;参见解析器验证边界。

在 设置 → 扩展 → BeCoder IDE 功能 中,“欢迎页:网站列表”登记名称和 HTTP/HTTPS URL,“欢迎页:显示的网站”控制显示内容与顺序。默认显示 Codeforces、AtCoder、洛谷、蓝桥杯、牛客和 HDOJ。先在前者添加名称与 URL,再在后者加入相同名称;修改立即生效,清空显示列表会隐藏该区域。添加快捷入口不会自动增加题目解析能力。

编译与输出

运行、使用输入运行和 CPH 共用 Runner 的内置 GCC、语言标准设置、受校验的编译参数和私有子进程环境。CPH 旧的 C/C++ Args 设置已弃用并忽略。本地编译使用 -O2、-Wall、-DDEBUG 和 UTF-8。左下角齿轮菜单的“生成 gch 缓存”会清除工具链中的旧缓存,按当前用户 C++ 配置在万能头旁生成可选的 bits/stdc++.h.gch,验证 GCC 命中后才报告成功。缓存不随安装包交付,也不属于工具链健康检查的必需资产;缺失或不兼容时,C++11/14/17/20/23 使用普通头文件编译。生成期间会显示进度,请保持 BeCoder 开启直至完成;重复生成请求会直接拒绝。修改 C++ 编译设置后,如需匹配的新缓存,可再次生成。不隐式添加 CPH、ONLINE_JUDGE 宏或解答程序的静态链接参数。

BeCoder 在启动时检查工具链清单及编译器、语言服务的关键文件;检查失败时提供获取最新 Setup 重新安装的入口。这不是对所有头文件的持续监控;GCC 在编译时遇到缺失头文件,会通过编译诊断报告。

BC 的运行和使用输入运行通过 ConPTY 呈现 stdout/stderr,不再由两条独立的 JavaScript 管道回调合并输出;程序语言与运行库本身的缓冲规则仍然有效。使用输入运行在编译前保存同目录 input 文件的快照,将字节无回显地送入 stdin,并在文件结束时关闭输入。CPH 则保留独立 stdout/stderr 管道:stdout 用于答案比较,stderr 单独展示,默认不影响判定。CPH 的可执行文件和运行目录归当前请求私有,因此相对文件访问行为与在源码目录运行的 BC 不同。CPH 是样例测试工具,不提供沙箱或等同线上 OJ 的内存限制执行能力。

可选的 CPH 自定义检查器使用用户安装的 Python,这是私有 C/C++ 工具链之外的明确例外。调用协议为 python script input-file actual-output-file,退出码为零表示通过,不向检查器传递期望输出。普通 C/C++ 样例评测无需 Python。

除 Beacon 的对话与学习工具外,当前产品不包含通用 MCP 客户端、Debug/GDB、Source Control/Git 图形界面或远程开发。Git 仍可作为外部命令在原生终端中使用。

界面与布局密度

Modern UI 默认开启,提供圆角、悬浮侧栏与底部面板,以及更新后的编辑器标签、菜单和对话框样式。默认布局在工作台各区域之间保留间距。

打开“管理”齿轮菜单,选择 布局密度 → 默认 或 紧凑。紧凑布局移除工作台区域之间的间隙,并缩小内部间距,为内容留出更多空间。切换立即生效,选择保存在 window.density.layout 设置中,对应值为 default 或 compact。

若希望使用经典工作台界面,可在设置中关闭 workbench.experimental.modernUI。布局密度仅在 Modern UI 开启时生效;这两项设置已有的值优先于默认值。

数据与卸载

应用设置、用户安装扩展、缓存、旧版历史与解压工具链仍位于安装目录的 data,不与系统 Visual Studio Code 共用。Beacon 将工作区会话保存在所选根的 .beaconWork,源码关联笔记使用编辑器根下独立的 .notebook;这些工作区资产与安装私有数据分开。

向已有安装目录重新安装时,Setup 会在确认后完整删除并替换该目录,包括私有 data、coding 及自行存放的源码或学习资产。先备份需要的所有文件,不要把配置导出当作完整备份。只有安装目录外的用户工作区、.beaconWork 和 .notebook 不属于替换范围。

原生应用版通过 Windows 卸载入口删除 Setup 安装的程序文件、整个 data 目录、所有权标记、卸载登记及所创建的快捷方式;自行添加且不在 data 中的文件可能保留。安装目录外的用户工作区、.beaconWork 和 .notebook 保持不变。Portable 版不创建卸载器;关闭 BeCoder 后删除完整安装目录即可,曾选择创建的桌面快捷方式需手动删除。两种模式均不修改 PATH,不创建文件关联、协议注册、服务或启动任务。

扩展与更新

Open VSX 是 BeCoder 唯一配置的在线扩展源,同时支持安装本地 VSIX。BeCoder 受保护的内置组件不能由扩展市场替换,不兼容的 Microsoft C/C++ 扩展包会被阻止。

当前关闭了应用更新功能和相关设置,BeCoder 不会在应用内检查更新。新版本可从 GitHub Releases 获取,并由用户明确执行替换安装。

Beacon 与 NoteBook

Beacon 的工作区与编辑器文件夹分别选择。打开右侧 Beacon,在设置中配置服务商、获取或添加模型,再从聊天输入区选择模型。本机 Ollama 无需密钥;云端服务使用你自己的账户与密钥。

模型设置和联网开关的修改从下一轮请求生效。选择文件访问档位不会赋予模型自主执行程序或修改学生 C/C++ 源码的权限。