2015-09-14 27 views
8

mam najnowszą kompilację Jupyter niż ma działanie Menu pozwala na Restart & uruchomić wszystkie:jak powiązać polecenie z "Uruchom ponownie i uruchom wszystko"?

enter image description here

Chciałbym dodać skrót klawiaturowy, który wiąże się do tej akcji. Widziałem documentation dla dostosowania klawiatury, ale nadal nie jestem pewien, jak dodać skrót klawiaturowy.

Zbudowałem Juyptera ze źródła, więc w oparciu o pomoc, wydaje mi się, że muszę dodać kod do notebook/static/custom/custom.js.

Próbowałem dodanie poniższych informacji:

IPython.keyboard_manager.command_shortcuts.add_shortcut('meta-r', function (event) { 
     IPython.notebook.restart_kernel(); 
     IPython.notebook.execute_run_all(); 
     return false; 
}); 

Jednak po naciśnięciu [Meta-R], jądro wydaje się zrestartować ale execute_run_all() nie zostanie wykonana.

+0

** Uwaga ** Aby załadować automatycznie, trzeba zawinąć go jak pokazują [tutaj] (http://stackoverflow.com/a/32159304/ 776515) – Luis

Odpowiedz

2

Na wypadek, gdyby ktoś natknął się na ten post, szukając tej samej odpowiedzi: musisz poczekać, aż jądro uruchomi się ponownie z czasem oczekiwania przed wykonaniem. Zobacz tę discussion on GitHub.

W twoim przypadku, to podać:

IPython.keyboard_manager.command_shortcuts.add_shortcut('meta-r', 
    function (event) { 
     IPython.notebook.kernel.restart(); 
     setTimeout(function(){ IPython.notebook.execute_all_cells(); }, 1000); 
     return false; 
}); 
4

Oto co mam w custom.js. Go do pracy, skrót dodatek ma się dziać po aplikacja jest inicjowany:

$([Jupyter.events]).on("app_initialized.NotebookApp", function() { 
    Jupyter.keyboard_manager.command_shortcuts.add_shortcut('0,1', { 
    help: 'restart and run all', 
    help_index: '0,1', 
    handler: function (event) { 
     Jupyter.notebook.kernel.restart(); 
     restartTime = 2000 // decrease this if you have a fast computer 
     setTimeout(function(){ Jupyter.notebook.execute_all_cells(); }, restartTime); 
     return false; 
    }} 
); 
}); 
+0

to nie działa dla mnie, uruchamia się ponownie, ale nie uruchamia komórek. wybranie pozycji menu "zrestartuj i uruchom wszystko" działa jednak ... czy pozycja menu korzysta z innego mechanizmu? – maxymoo

+2

ah naprawiono ... musiałem zwiększyć limit czasu do 2000ms, zamierzam edytować odpowiedź na korzyść ludzi z powolnymi komputerami! – maxymoo

+0

Dzięki! Nie używam go w tych dniach, więc nie miałem nic przydatnego do zasugerowania. :) –

Powiązane problemy