项目
内容
班级:北航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版本新功能
登录注册页
注册时邮箱验证
为方便用户忘记密码时能够重置账户密码,我们在注册时新加入了邮箱验证步骤:
用户需要输入用户名与关联邮箱,输入密码及二次确认密码后,发送验证码到邮箱并填写验证码,验证通过后才可完成注册。
忘记密码
新加入“忘记密码”功能,入口位于主页登录界面最下方,方便忘记密码的用户将账户密码重置为新密码:
只需输入注册时填写的用户名和邮箱、输入并确认新密码、进行邮箱验证即可修改密码。
其他优化
涉及到用户决定账户密码时,都加入了重复输入框进行确认,避免用户输入错误导致账户无法登陆。
密码框均加入“显示/隐藏”密码按钮,方便用户确认自己的密码是否正确。
个人中心页
向其他用户分享项目
在每个项目卡片中加入分享按钮,点击可以通过输入用户名的方式向其他用户发送分享邀请。发送分享邀请并被对方接收后,项目将被多人共享。
分享有只读共享和可写共享两种模式,分享者可以选择共享的权限。分享者也可以删除共享的用户。
查看项目分享邀请与确认
在页面右上角加入项目分享邀请与确认功能。当有其他用户向当前用户分享项目时,将在右上角提示。点击打开可以进行处理。
草稿模式入口
在页面右上角加入“草稿模式”入口。
草稿模式能使用户无需创建项目和创建文件、一步快速创建临时代码文件(即“草稿”的含义),并支持交互的运行与输入输出,满足了用户以下的使用场景:
突然想到某个点子需要用程序验证;
需要编程解决某个问题,但只需要结果无需保存代码;
不确定某个语法的正确写法,需要开一个临时代码文件进行试验
……
对草稿模式的具体描述详见下文。
IDE页
外观
重构配色方案,成为“浅色模式”;新引入精心设计的“深色模式”,使夜间写代码更加舒适;加入一键主题切换按钮。
重构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进程启动可能出现异常)
在使用高峰期间部分请求可能失败(一般刷新即可恢复正常)