JupyterLab: Как очистить вывод текущей ячейки с помощью сочетания клавиш? - PullRequest
3 голосов
/ 20 февраля 2020

Этот вопрос был задан и получен ответ для Jupyter Notebooks здесь . Существует также одно предложение относительно Jupyter Lab , а также о том, как скрыть вывод ячейки, но не очистить его.

Это достаточно просто с помощью меню в Edit > Clear Outputs. Но как вы делаете это с помощью сочетания клавиш? Многие другие команды в Edit уже имеют свои собственные назначенные ярлыки, но не эту:

enter image description here

1 Ответ

3 голосов
/ 20 февраля 2020

Ответ:

Вам необходимо назначить пользовательскую комбинацию клавиш в Settings > Advanced Settings Editor, вставив следующую строку в User Preferences:

{// List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:clear-cell-output",
            "keys": [
                "F10"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}

Я выбрал F10, но большинство других клавиш или комбинация клавиш тоже должны работать. Я также использовал Ctrl Shift Enter.

Где это поставить:

enter image description here

Некоторые сведения:

Если вы назначили другие ярлыки, обязательно добавьте их в нужное место в списке других ярлыков.

{// List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:run-in-console",
            "keys": [
                "F9"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
        {
            "command": "notebook:clear-cell-output",
            "keys": [
                "F10"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}

И маленькая загадка:

Если вы вставите точное то же самое, что и во втором поле, вы увидите, что элемент Run > Run Selected Text or Current Line in Console получил хороший F9 прямо рядом к нему:

enter image description here

Это будет не в случае с пунктом Edit > Clear Outputs, и Я должен сказать, что я не знаю, почему.

enter image description here

Насколько мне известно "command": "notebook:clear-cell-output", который вы назначаете для выбранного вами. сочетание клавиш должно быть именно такой функциональности. Но хорошо, что все работает идеально. По крайней мере, для меня.

Обратите внимание, что этот подход лучше всего подходит для более новых версий JupyterLab. Для старых версий правильный путь будет немного другим.

Вот фрагмент кода python, чтобы проверить его сразу:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
print(df)
...