Jestem na bieżąco z gałęzią deweloperów ipython (ponieważ ipython jest najbardziej niesamowitą rzeczą w historii). Dość niedawno (przed wczorajszym niesamowitym wydaniem ipythona 2.0) zauważyłem, że zaczął on automatycznie zamykać nawiasy, nawiasy, cudzysłowy itp., Gdy je wpisuję. Dzieje się tak zarówno w terminalu [nic innego, czego używam w terminalu tego nie robi], jak iw sesjach notebooka, więc zakładam, że był to celowy wybór ze strony programistów. Szanuję, że innym osobom ta funkcja może się podobać, ale doprowadza mnie to do szału .
Nie mogę znaleźć dla tego żadnej opcji w plikach konfiguracyjnych. Nie mogę go nawet wygooglować, ponieważ nie wiem, jak to się nazywa. Jedyne, co się pojawia, to inna funkcja automatycznych nawiasów . Właściwie to znalazłem to pytanie , ale jest stare i sugeruje, że zachowanie, które widzę, nie może się wydarzyć.
Jak mogę wyłączyć tę funkcję?
[I tak głównie używam interfejsu notebooka, więc samo wyłączenie go będzie w porządku, ale wolałbym go wyłączyć zarówno w notebookach, jak i sesjach ipython na terminalu.]
źródło
$
obecnie definiuje się tylko około 2/3 czasu, ponieważ zmienił się proces uruchamiania. Jak wskazałem w tej odpowiedzi i jak widać z tego,custom.js
który ipython tworzy obecnie, musisz użyćrequire
.Zachowanie notatnika jest wynikiem działania wtyczki CodeMirror autoCloseBrackets . Możesz to wyłączyć, edytując (
ipython profile create
jeśli jeszcze tego nie zrobiłeś)~/.ipython/profile_default/static/custom/custom.js
i dodając:if (IPython.CodeCell) { IPython.CodeCell.options_default.cm_config.autoCloseBrackets = false; }
Jeśli chodzi o terminal, nie widzę opisanego przez ciebie zachowania w nawiasach. Czy może masz zdefiniowany PYTHONSTARTUP? IPython domyślnie wykonuje ten plik, który można wyłączyć, dodając do
~/.ipython/profile_default/ipython_config.py
:c.InteractiveShellApp.exec_PYTHONSTARTUP = False
źródło
)
na istniejącym)
?$ ipython profile create
powie, że utworzyło.py
plik. Nie edytuj tego pliku. Zamiast tego edytuj plik~/.ipython/profile_default/static/custom/custom.js
, tak jak mówi odpowiedź. Jak ktokolwiek może wpisać kod za pomocą tych irytujących, automatycznie zamykających się nawiasów?~/.ipython
i zacząć od zera). Masz pomysł, jak to zrobić w nowszych wersjach? A co powiesz na zniszczenie jeszcze bardziej irytującego zachowania automatycznego zamykania cytatów?Jeśli chcesz to zrobić tylko z Pythona:
from notebook.services.config import ConfigManager c = ConfigManager() c.update('notebook', {"CodeCell": {"cm_config": {"autoCloseBrackets": False}}})
źródło
cmd+R
lubF5
), aby była skuteczna.Oto, co działa dla mnie w Jupyter 4.0.6:
require(['notebook/js/codecell'], function (codecell) { codecell.CodeCell.options_default.cm_config.autoCloseBrackets = false; })
w
~/.jupyter/custom/custom.js
.BTW, jeśli dodatkowo chcesz wyłączyć podświetlenie składni pasujących nawiasów:
źródło
Powyższe sugestie nie działały dla mnie w Jupyter 4.3.0 z Jupyter Notebook 5.0.0
Okazało się, że muszę utworzyć plik o nazwie
~/.jupyter/custom/custom.js
o następującej zawartości:Zauważ, że katalog
~/.juypter/custom
nie istniał, zanim to zrobiłem.Zostało to zhakowane razem z sugestiami w dokumentach wersji 5.0 , a dla przyszłych czytelników są to najnowsze
źródło
W przypadku Jupyter Notebook 5.1 użyj tego samego, co w wersji 4.2, tj. Umieść następujący fragment kodu w ~ / .jupyter / custom / custom.js:
require(['notebook/js/codecell'], function (codecell) { codecell.CodeCell.options_default.cm_config.autoCloseBrackets = false; })
źródło
W Jupyter Lab Notebook możesz wyłączyć
autoClosingBrackets
wtyczkę w menu ustawień. Przejdź doSettings --> Advanced Settings Editor
i dodaj następujące informacje wUser Overrides
sekcji:{ "codeCellConfig": { "autoClosingBrackets": false } }
Zrzut ekranu
To działało z JupyterLab 0.32.1 i jupyter_core 4.4.0
źródło
Zauważyłem, że nie było to wymienione w innych odpowiedziach. W moim przypadku (OS X, Jupyter 4.2.0) custom.js znajduje się w ~ / anaconda / lib / python3.5 / site-packages / notebook / static / custom / custom.js
Myślę, że może to pomóc komuś takiemu jak ja.
źródło