我们已经有几个关于无限回滚的请求,vte 在新版本中也支持这个,所以我想讨论一下这是否应该成为一个目标。
从技术上讲,它可以通过利用浏览器的localStorage
来实现这一点,它负责内存消耗和将内容分页到文件系统。 我们仍然需要实现我们自己的轻量级分页网关,它可以将内容 CRUD 缓冲到这个存储后端,并可以相应地获取/更新渲染数据。
我自己认为我们不需要这个,它也提出了一些问题,比如文件系统的高占用空间和滚动条的可用性问题(对于非常长的终端会话的小动作,它会像疯了一样跳跃)。
我仍然想听听您的想法,也许@egmontkob也可以提供有关更多麻烦/解决方案的更多见解。
@泰瑞尔, @mofux
本地存储也被限制为 5mb,一旦达到上限就会开始驱逐数据,所以它可能会删除真正重要的东西 😛。 我认为这不是特别重要,特别是考虑到它会使支持这种分页的实现变得有点复杂,而且您基本上可以通过提高回滚来解决它。 在我们考虑这个 imo 之前,首先要解决更大的问题。
出于上述原因,我们暂时将其称为超出范围。 我们过去也遇到过这个问题,并允许使用更大的回滚侧作为解决方法https://github.com/xtermjs/xterm.js/issues/948
我们的 (VTE) 回滚格式非常复杂——实际上,支持 _finite_ 回滚会更复杂,只支持无限会更简单。 如果您再次考虑此功能,请联系我,我很乐意解释详细信息,尽管您可能不会将其作为您实现的参考。
据称,这也是我们经常要求的功能,但我没有个人经验。 它是在我加入项目之前实施的。 我自己使用了有限的 50.000 行,发现它有点矫枉过正。
我认为滚动条的可用性不是问题; 或者如果是的话,它已经在几千行了。 拖动滚动条只能进行我个人很少使用的粗略定位,对于细粒度我更喜欢使用笔记本电脑的触摸板在终端区域上进行两指滚动。
最有用的评论
我们的 (VTE) 回滚格式非常复杂——实际上,支持 _finite_ 回滚会更复杂,只支持无限会更简单。 如果您再次考虑此功能,请联系我,我很乐意解释详细信息,尽管您可能不会将其作为您实现的参考。
据称,这也是我们经常要求的功能,但我没有个人经验。 它是在我加入项目之前实施的。 我自己使用了有限的 50.000 行,发现它有点矫枉过正。
我认为滚动条的可用性不是问题; 或者如果是的话,它已经在几千行了。 拖动滚动条只能进行我个人很少使用的粗略定位,对于细粒度我更喜欢使用笔记本电脑的触摸板在终端区域上进行两指滚动。