禁用iPython笔记本电脑自动滚动

禁用iPython笔记本电脑自动滚动,python,python-2.7,ipython,jupyter-notebook,Python,Python 2.7,Ipython,Jupyter Notebook,在iPython笔记本电脑中,是否可以禁用长输出的自动滚动?或者至少在设置自动滚动之前为输出长度设置一个阈值 尝试了以下命令 %%javascript IPython.OutputArea.auto_scroll_threshold = 9999; 但它给出了一个错误 Javascript error adding output! SyntaxError: Unexpected identifier See your browser Javascript console for more de

在iPython笔记本电脑中,是否可以禁用长输出的自动滚动?或者至少在设置自动滚动之前为输出长度设置一个阈值

尝试了以下命令

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;
但它给出了一个错误

Javascript error adding output!
SyntaxError: Unexpected identifier
See your browser Javascript console for more details.

以类似的方式,可以添加以下单元格:

%%javascript
require(
        ["notebook/js/outputarea"],
        function (oa) {
            oa.OutputArea.auto_scroll_threshold = -1;
            console.log("Setting auto_scroll_threshold to -1");
        });
这将把
自动滚动\u阈值设置为
-1
,这意味着永远不会自动滚动


这适用于受信任的笔记本(例如,
jupyter trust notebook.ipynb
),不确定是否在不受信任的笔记本中执行任何单元格。

要禁用自动滚动,请在执行其他单元格之前在笔记本单元格中执行此javascript:

%%javascript
IPython.OutputArea.prototype._should_scroll = function(lines) {
    return false;
}

还有一个ipython笔记本扩展,您可以使用它进行更持久的更改。下面是最新的详细信息。

要在
运行all
命令后禁用滚动到底部,请执行以下代码:

%%javascript
require("notebook/js/notebook").Notebook.prototype.scroll_to_bottom = function () {}

也可以通过用户界面完成

  • 单个单元格:单元格->当前输出->切换滚动
  • 所有单元格:单元格->所有输出->切换滚动

这对我有用(没有分号)


要防止在单个单元格输出中滚动,请在命令状态下选择单元格并按Shift+O。它将切换该特定单元格的输出。如果希望所有单元格显示长输出而不滚动,请转到
单元格选项卡->所有输出->切换滚动。就这样

您可以编辑配置文件。。。同时,如果你点击结果栏的侧面,它将从
autoscroll
旋转到
expanded
hidden
。这对我不起作用,当我运行这个时,我会得到与OP相同的错误。@frmsaul你使用的是什么版本的IPython笔记本?在jupyter notebook 5.x(和4.x)中仍然适用于我。你能再解释一下吗?当我删除结尾处的分号(9999之后)时,我再也没有收到错误。这个答案的问题是,每次执行时都必须这样做,这不是永久性的
    %%javascript
    IPython.OutputArea.auto_scroll_threshold = 9999