Visual Lab Online —— Beta版本发布声明
阅读原文时间:2022年04月07日阅读:1

项目

内容

班级:北航2020春软件工程

博客园班级博客

作业:Beta阶段发布声明

发布声明

目录

发布方式、发布地址与运行环境要求

我们的软件主体作为Web应用在 http://114.116.135.181/ 发布,用户只需要使用主流浏览器访问网站即可。

下面是对运行环境的说明:

  • 网站依赖于Cookie来存储登录信息,请不要阻止Cookie

  • 在Safari浏览器中(MacOS / iPadOS)请不要勾选“阻止跨站跟踪”选项,否则网站可能无法正常登录跳转

  • 在Firefox浏览器中部分与浏览器快捷键冲突的快捷键可能无法使用,如使用Ctrl + -折叠代码可能会触发页面缩放

  • 请保证浏览器及系统版本较新以获得最好的使用体验

我们还为快速使用Visual Lab Online开发了简洁小巧的浏览器扩展(支持Chrome浏览器和微软新版Edge浏览器)。

扩展在GitHub Releases发布,请下载后解压zip文件,得到一个名为vLab-chromeExtension的文件夹。请按照如下步骤安装:

  • 打开Chrome浏览器/新Edge浏览器,地址栏输入chrome://extensions/edge://extensions/

  • 在打开页面中勾选或打开“开发人员模式”,再点击“加载已解压的扩展程序”或“加载解压缩的扩展”,选择刚刚解压出的vLab-chromeExtension文件夹;

  • 安装成功后,扩展图标将出现在“已安装的扩展”列表中。

Beta版本新功能

注册时邮箱验证

为方便用户忘记密码时能够重置账户密码,我们在注册时新加入了邮箱验证步骤:

用户需要输入用户名与关联邮箱,输入密码及二次确认密码后,发送验证码到邮箱并填写验证码,验证通过后才可完成注册。

忘记密码

新加入“忘记密码”功能,入口位于主页登录界面最下方,方便忘记密码的用户将账户密码重置为新密码:

只需输入注册时填写的用户名和邮箱、输入并确认新密码、进行邮箱验证即可修改密码。

其他优化

  • 涉及到用户决定账户密码时,都加入了重复输入框进行确认,避免用户输入错误导致账户无法登陆。
  • 密码框均加入“显示/隐藏”密码按钮,方便用户确认自己的密码是否正确。

向其他用户分享项目

在每个项目卡片中加入分享按钮,点击可以通过输入用户名的方式向其他用户发送分享邀请。发送分享邀请并被对方接收后,项目将被多人共享。

分享有只读共享和可写共享两种模式,分享者可以选择共享的权限。分享者也可以删除共享的用户。

查看项目分享邀请与确认

在页面右上角加入项目分享邀请与确认功能。当有其他用户向当前用户分享项目时,将在右上角提示。点击打开可以进行处理。

草稿模式入口

在页面右上角加入“草稿模式”入口。

草稿模式能使用户无需创建项目和创建文件、一步快速创建临时代码文件(即“草稿”的含义),并支持交互的运行与输入输出,满足了用户以下的使用场景:

  • 突然想到某个点子需要用程序验证;
  • 需要编程解决某个问题,但只需要结果无需保存代码;
  • 不确定某个语法的正确写法,需要开一个临时代码文件进行试验
  • ……

对草稿模式的具体描述详见下文。

外观

  • 重构配色方案,成为“浅色模式”;新引入精心设计的“深色模式”,使夜间写代码更加舒适;加入一键主题切换按钮。
  • 重构UI组件,优化交互体验,组件动画更流畅,组件样式更精致。

调试

  • 在编辑器中点击行号左侧可以添加/删除断点,并以高亮显示断点行:

  • 在左侧的“构建设置”面板中新增“调试”按钮,点击跳转到调试面板并运行调试器进程:

  • 在左侧新增“调试程序”面板,点击 (Re)Start、Continue、Step Over、Step Into、Step Out、Stop能控制程序的执行过程,正如其他IDE一样。

    当程序运行到断点或程序运行完一个Step后,点击“Local Variables”能在控制台打印出当前程序块所有局部变量及其值,方便调试。

  • 在调试过程中,底部的“调试控制台”中将显示代码的执行位置、局部变量的值等信息:

上传与下载

在上传与下载面板中,我们进行了如下优化和功能新增:

  • 合并上传导入面板与下载导出面板;
  • 优化上传文件功能,支持同时上传多个文件
  • 增加上传文件夹功能,能上传某文件夹及其子文件树中的全部文件;
  • 增加从GitHub导入功能,用户填入GitHub仓库地址后能通过clone的方式导入GitHub仓库。

同时,我们也在右键菜单中增加了对选中的文件和文件夹进行下载(该文件)/上传(到此处)的功能。

以默认代码快速新建文件

在文件树中右键菜单新增“使用默认代码新建”选项。点击可以创建如下的默认代码文件,使得用户可以快速上手,免去不必要的工作:

侧边菜单栏

我们将IDE模式下的顶部菜单栏移植到了左边,使用户仍然能获得大部分功能的良好体验。

编辑器

新建草稿时,将默认代码填入编辑器,使用户可以理解书写其主要逻辑,不浪费用户一点时间。

同时为效率考虑,草稿模式的编辑器取消了完整的语言服务,但仍提供了语言关键字自动补全和已输入单词(token)的自动补全,同时IDE模式下的“代码片段”功能得到了保留,仍然保障了编程效率。

运行与输入输出

我们仍然提供了运行与交互式输入输出功能。

点击运行按钮将在Output框中提示“please send your input”,用户在Input框中键入待输入的内容(支持换行),点击“提交输入”即可获得实时的输出反馈。

我们为用户能快速、随时随地使用草稿模式,开发了Chrome/Edge浏览器插件作为快速入口,界面如下:

  • 点击选择器可以选择新建一个Python语言草稿还是一个C++语言草稿
  • 点击“新建随笔代码”按钮将在新标签页跳转到草稿模式页面中

修复的缺陷

  • 将部分资源使用CDN加载,优化了页面的打开速度

  • 修复了只读项目存在修改可能的bug

  • 修复了删除文件再创建同名文件,文件内容重新出现的bug

  • 修复了文件未打开时debug出错的bug

  • 修复了菜单栏外观样式不居中、不对齐等bug

  • 修复了Terminal的最下一行被边框覆盖的bug(见Alpha发布声明——问题与限制)

  • 修复了右键菜单和下拉菜单无法完全展开、存在滚动条的bug(见Alpha发布声明——问题与限制)

  • 修复了右键菜单点击无响应的bug(见Alpha发布声明——问题与限制)

  • 增加了对隐藏文件的过滤(见Alpha发布声明——问题与限制)

  • 增加了对Terminal的主题调整(见Alpha发布声明——问题与限制)

  • 修复了Terminal中尚未提交的命令与新运行命令冲突的bug(见Alpha发布声明——问题与限制)

  • 修复了Terminal中的折行问题(见Alpha发布声明——问题与限制)

  • 使用gzip压缩大部分资源,优化了页面的打开速度

  • 将文件转储到第三方存储提供商,大幅降低了磁盘占用压力

  • 借助文件转储优化,将docker容器的生命周期优化为“即用即焚”,大幅降低了内存占用压力,并发支持更佳

已知的问题与限制

  • 继承自Alpha版本

    • 语言服务不稳定,请避免引用过多不必要的头文件
    • 每个Notebook有一定的内存使用限制,请不要进行过分操作
    • 在Firefox浏览器中,部分与浏览器快捷键冲突的快捷键可能无法使用
    • 在Safari浏览器中,预览定义/预览引用的预览框可能无法正常显示
    • 在编辑器的下端右键可能会导致布局出错
    • 文件管理器中的粘贴操作将会覆盖重名文件,暂不支持 "duplicate"操作
  • Beta版本的新问题与限制

    • C++项目可能无法进行调试(GDB进程启动可能出现异常)
    • 在使用高峰期间部分请求可能失败(一般刷新即可恢复正常)