Visual Lab Online —— Alpha版本发布声明
Visual Lab Online —— Alpha版本发布声明
项目 | 内容 |
---|---|
班级:北航2020春软件工程 | 博客园班级博客 |
作业:Alpha阶段发布声明 | 发布声明 |
目录
发布方式、发布地址与运行环境要求
我们的软件作为Web应用在 http://114.116.135.181/ 发布,用户只需要使用主流浏览器访问网站即可。
下面是对运行环境的说明:
-
网站依赖于Cookie来存储登录信息,请不要阻止Cookie
-
在Safari浏览器中(MacOS / iPadOS)请不要勾选“阻止跨站跟踪”选项,否则网站可能无法正常登录跳转
-
在Firefox浏览器中部分与浏览器快捷键冲突的快捷键可能无法使用,如使用
Ctrl + -
折叠代码可能会触发页面缩放 -
请保证浏览器及系统版本较新以获得最好的使用体验
Alpha版本功能
概念简述
- Notebook:指存储在云端的轻量化的“项目”。每个账户可以创建多个Python/C++ Notebook。
- IDE:此处指在浏览器中运行的、可对Notebook中代码进行编辑、编译运行、带有远程Terminal的网页。
主页
登录与注册
可以注册账户、登录账户。创建的Notebooks会保存在账户中,随时随地、唾手可得。
Notebook管理与账户管理
- 可以在My Notebooks面板中:
- 按Python / C++两个类别浏览本账户中保存的Notebooks,单击其名称即可打开、使用IDE在线编辑;
- 点击“New”按钮新建一个Python / C++ Notebook,对其命名后即可打开;
- 使用查找框按类别筛选Notebooks,方便查找。
- 可以在Account面板中:
- 修改用户名;
- 重置密码。
- 可以在右上角退出登录。
IDE页
侧边栏
- 可以在文件管理器中:
- 查看当前Notebook中文件系统结构;
- 在目录下新建文件/文件夹;
- 对文件/文件夹重命名、剪切、复制、粘贴;
- 单击在编辑器中打开文件进行编辑。
- 可以在构建设置中:
- 对于C++ Notebook,选择目标
.cpp/.hpp
文件进行编译、运行或编译并运行; - 对于Python Notebook,选择目标
.py
文件运行。
- 对于C++ Notebook,选择目标
- 可以在上传与导入中:
- 上传文件到当前Notebook的根目录下。
- 可以在下载与导出中:
- 下载当前Notebook中的文件打包(zip格式)。
多标签编辑器
-
编辑功能
- 编辑、剪切复制粘贴、查找替换等基础功能
- 自动保存当前文件到云端
- 在左侧显示行号,在右侧显示迷你地图,在滚动条上显示错误与警告位置、当前光标位置
- 多光标编辑
-
带有快捷键支持的高级编辑功能
- 代码折叠与展开
- 括号匹配跳转与选择
-
语言服务(Python / C++)
- 代码高亮
- 代码语义级别错误与警告提示
- 代码语义级别自动补全
- 代码一键格式化
- 跳转光标到定义、预览定义、预览引用
- 查看函数和变量的被引用次数(C++)
-
多标签页
- 可以同时打开多个标签页编辑多个文件,单击文件管理器中文件打开,点击标签上的关闭按钮关闭
- 使用“跳转光标到定义”功能时,可以自动打开并跳转到未打开的文件
-
自定义编辑器
- 显示/隐藏行号
- 显示/隐藏右侧的迷你地图
-
精心设计的高效、易记忆的快捷键,参见 编辑器快捷键速查表
-
随时随地插入精心设计的代码模版,效率加倍
- C++:main函数、for循环、foreach循环、带迭代器的for循环、头文件声明wrapper、输入输出、……
- Python:main函数、utf8编码、二维数组、for循环、for-enum循环、……
编译运行与终端
- 全功能远程bash,支持高亮、选择、复制粘贴,支持滚动
- 在“构建设置”中点击编译并运行/编译/运行,将会一键自动在终端中执行操作,用户只需要观察其标准输出、输入其标准输入即可
修复的缺陷
编辑器
- 修复了编辑器布局高度5px的bug
- 缓解了C++语言服务资源占用的问题
- 修复了代码折叠失效的bug
客户端页面
- 修复了dev版本和build版本样式不同的bug
- 修复了不支持跳转和刷新的bug
- 修改了用户信息更新的逻辑
- 修复了websocket和http连接建立失败的bug
- 修复了右键菜单点击选项不消失的bug
服务器端
- 修复了http接口的bug
- 改进了http进入、退出项目接口的逻辑
- 修复了超长文本传输失败的bug
- 将客户端-服务器端通信从http改进为https,增强了安全性
已知的问题与限制
- C++的语言服务不稳定,请避免引用过多不必要的头文件
- 每个Notebook有一定的内存使用限制,请不要进行过分操作
- 文件管理器中,点击右键菜单上的按钮有概率没有响应
- 文件管理器中的粘贴操作将会覆盖重名文件,暂不支持 "duplicate"操作
(即不支持将main.cpp
复制出一个main副本.cpp
) - 文件管理器中的右键菜单,和菜单栏的下拉菜单暂时无法完全展开,存在滚动条
- 在Firefox浏览器中,部分与浏览器快捷键冲突的快捷键可能无法使用,如使用
Ctrl + -
折叠代码可能会触发页面缩放 - 在Safari浏览器中,预览定义/预览引用的预览框可能无法正常显示
- 在编辑器的下端右键可能会导致布局出错,请不要在“右键菜单可能超过编辑器范围”的编辑器区域右击
- Terminal的最下一行可能由于布局问题导致被边框覆盖,可以通过向上轻微拖动垂直分割线 略微增加Terminal高度暂时解决
- 容器内服务在打包文件发给前端时,没有对隐藏文件进行过滤
- 容器内Terminal服务被用户恶意关闭时,将无法继续正常提供服务
- Terminal的光标有几率消失,Terminal输入内容过长时,会把当前行遮挡,Terminal尚不能进行主题调整
- 编辑器的右键菜单会被Terminal挡住
- 如果在terminal中已经输入了命令尚未回车,此时点击编译运行会导致编译运行失败