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文件运行。
  • 可以在上传与导入中:

    • 上传文件到当前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中已经输入了命令尚未回车,此时点击编译运行会导致编译运行失败

Visual Lab Online —— Alpha版本发布声明的更多相关文章

  1. Visual Lab Online —— Beta版本发布声明

    项目 内容 班级:北航2020春软件工程 博客园班级博客 作业:Beta阶段发布声明 发布声明 目录 发布方式.发布地址与运行环境要求 软件主体 浏览器扩展 Beta版本新功能 登录注册页 注册时邮箱 ...

  2. GP工作室—Alpha版本发布2

    GP工作室-Alpha版本发布2 一.简介 1.1作业要求 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationSc ...

  3. GP工作室—Alpha版本发布1

    目录 GP工作室-Alpha版本发布1 一.简介 1.1作业要求 1.2团队成员 二.软件下载安装说明 五.项目总结 @(Gold Point团队の项目计划) GP工作室-Alpha版本发布1 一.简 ...

  4. 评论alpha版本发布

    讲解顺序: 1.  新蜂:俄罗斯方块 俄罗斯方块已经完成了核心的游戏部分,可以流畅的进行游戏,经验值功能也已经完成,目前进度很好:不足之处主要有:后续的显示内容还没完成,所以界面空出来很多板块,alp ...

  5. 英语词典Alpha版本发布说明

    Alpha版本发布说明 功能: ·简洁的应用界面,不被无良的广告弹窗影响  ·功能直接,在需要查词时及时出现,没有每日一句精选文章等杀了你的流量,在学习过程中更加专注! ·采用金山词霸API,提供发音 ...

  6. Alpha版本发布时间安排

    Alpha版本发布截止时间:2014年11月23日 第一轮迭代M1报告时间:2014年11月27日课上 - 每个团队5分钟时间汇报,5分钟时间提问 第一轮迭代M1事后分析报告时间:2014年11月29 ...

  7. Pipeline组Alpha版本发布说明

    Pipeline组Alpha版本发布说明 项目名称 Pipeline 项目版本 Alpha版本 负责人 北京航空航天大学计算机学院 ILoveSE 联系方式 http://www.cnblogs.co ...

  8. Alpha版本发布

                Alpha版本发布   Part1.基本介绍 作业所属课程 课程链接 作业要求 要求链接 团队名称 Typhoon 作业目标 通过本次团队项目,体验通过使用软件工程来研发项目的 ...

  9. play ball小游戏-Alpha版本发布说明

    Alpha版本发布说明 一.功能介绍 本团队所做的微信小程序是一款小球经碰撞后最终到达目的位置通关的休闲益智类游戏.Alpha版本具有的功能大体如下: 1. 闯关模式 多达12关普通竖屏关卡.4关特殊 ...

随机推荐

  1. Mybatis中由于${}直接注入引发的问题

    一.问题引入 我们先来看这段代码,我想从取值为${category}的表中查询全部信息. @Mapper public interface CategoryMapper { @Select(" ...

  2. switch case语句,switch case用法详解

    switch 是"开关"的意思,它也是一种"选择"语句,但它的用法非常简单.switch 是多分支选择语句.说得通俗点,多分支就是多个 if. 从功能上说,sw ...

  3. Spark中普通集合与RDD算子的sortBy()有什么区别

    分别观察一下集合与算子的sortBy()的参数列表 普通集合的sortBy() RDD算子的sortBy() 结论:普通集合的sortBy就没有false参数,也就是说只能默认的升序排. 如果需要对普 ...

  4. python基础(补充):python三大器之生成器

    生成器的定义 通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后 ...

  5. 浅谈 Fresco 框架结构

    在前面的文章 Fresco 源码分析 -- 图片加载流程 里面详细说明了图片加载的整个流程,但是除了理解源码之外,对于源码的框架层面的设计也是需要去了解的,不能只是简单的读源码,好的源码的框架设计也是 ...

  6. 【项目】手写FTP服务器-C++实现FTP服务器

    X_FTP_server 手写FTP服务器-C++实现FTP服务器 项目Gitee链接:https://gitee.com/hsby/ftp_Server 简介 一个基于libevent的高并发FTP ...

  7. Spring-Gateway与Spring-Security在前后端分离项目中的实践

    前言 网上貌似webflux这一套的SpringSecurity操作资料貌似很少. 自己研究了一波,记录下来做一点备忘,如果能帮到也在迷惑的人一点点,就更好了. 新项目是前后端分离的项目,前台vue, ...

  8. 【pytest官方文档】解读fixtures - 3. fixtures调用别的fixtures、以及fixture的复用性

    pytest最大的优点之一就是它非常灵活. 它可以将复杂的测试需求简化为更简单和有组织的函数,然后这些函数可以根据自身的需求去依赖别的函数. fixtures可以调用别的fixtures正是灵活性的体 ...

  9. Spring Cloud Alibaba(3)---Nacos概述

    Spring Cloud Alibaba(3)---nacos概述 上一篇博客讲了有关 SpringCloudAlibaba的概述,这篇开始讲SpringCloudAlibaba组件之一---Naco ...

  10. Java JFR 民间指南 - 事件详解 - jdk.ThreadAllocationStatistics

    定时线程分配统计事件:jdk.ThreadAllocationStatistics 引入版本:Java 11 相关 ISSUES: Test jdk/jfr/event/runtime/TestThr ...