Me mantengo actualizado con la rama de desarrollo de ipython (porque ipython es prácticamente la cosa más asombrosa que existe). Hace bastante poco (antes del impresionante lanzamiento de ipython 2.0 de ayer) me di cuenta de que ha comenzado a cerrar automáticamente paréntesis, corchetes, comillas, etc., mientras los escribo. Sucede tanto en el terminal [nada más que uso en el terminal lo hace] como en las sesiones del portátil, así que supongo que fue una elección intencionada por parte de los desarrolladores. Puedo respetar que a otras personas les guste esta función, pero me vuelve completamente loco .
No encuentro ninguna opción en los archivos de configuración. Ni siquiera puedo buscarlo en Google, porque no sé cómo se llama. Lo único que surge es la característica diferente de los paréntesis automáticos . De hecho, encontré esta pregunta , pero es antigua y sugiere que el comportamiento que estoy viendo no puede suceder.
¿Cómo puedo desactivar esta función?
[La mayoría de las veces uso la interfaz de la computadora portátil de todos modos, así que apagarla estaría bien, pero preferiría apagarla tanto en las computadoras portátiles como en las sesiones de ipython en la terminal].
fuente
$
solo se define aproximadamente 2/3 del tiempo en la actualidad, porque el proceso de inicio ha cambiado. Como señalé en esta respuesta , y como puede ver en elcustom.js
que ipython crea hoy en día, debe usarrequire
.El comportamiento del cuaderno es el resultado del complemento autoCloseBrackets de CodeMirror . Puede desactivar esto editando (créelo con
ipython profile create
si aún no lo ha hecho)~/.ipython/profile_default/static/custom/custom.js
y agregando:if (IPython.CodeCell) { IPython.CodeCell.options_default.cm_config.autoCloseBrackets = false; }
En cuanto a la terminal, no veo el comportamiento de paréntesis que describe. ¿Tiene quizás un PYTHONSTARTUP definido? IPython ejecuta este archivo de forma predeterminada, que puede deshabilitar agregando a
~/.ipython/profile_default/ipython_config.py
:c.InteractiveShellApp.exec_PYTHONSTARTUP = False
fuente
)
sobre una existente)
?$ ipython profile create
dirá que creó un.py
archivo. No edite ese archivo. En su lugar, edite el archivo~/.ipython/profile_default/static/custom/custom.js
, como dice la respuesta. ¿Cómo puede alguien escribir código con esos molestos paréntesis de cierre automático?~/.ipython
y comenzar desde cero). ¿Alguna idea de cómo hacerlo en versiones más nuevas? Además, ¿qué tal si se destruye el comportamiento de cierre automático de citas aún más molesto?Si quieres hacerlo solo desde Python:
from notebook.services.config import ConfigManager c = ConfigManager() c.update('notebook', {"CodeCell": {"cm_config": {"autoCloseBrackets": False}}})
fuente
cmd+R
oF5
) para que sea efectivo.Esto es lo que me funciona en Jupyter 4.0.6:
require(['notebook/js/codecell'], function (codecell) { codecell.CodeCell.options_default.cm_config.autoCloseBrackets = false; })
en
~/.jupyter/custom/custom.js
.Por cierto, si además desea desactivar el resaltado de sintaxis de los paréntesis coincidentes:
fuente
Las sugerencias anteriores no me funcionaron en Jupyter 4.3.0 con Jupyter Notebook 5.0.0
Descubrí que necesitaba crear un archivo llamado
~/.jupyter/custom/custom.js
con el siguiente contenido:Tenga en cuenta que el directorio
~/.juypter/custom
no existía antes de hacer esto.Esto fue pirateado a partir de sugerencias en documentos v5.0 , y para futuros lectores, estos son los últimos
fuente
Para Jupyter Notebook 5.1 use lo mismo que para 4.2, es decir, coloque el siguiente fragmento en ~ / .jupyter / custom / custom.js:
require(['notebook/js/codecell'], function (codecell) { codecell.CodeCell.options_default.cm_config.autoCloseBrackets = false; })
fuente
En Jupyter Lab Notebook, puede desactivar el
autoClosingBrackets
complemento en el menú de configuración. Vaya aSettings --> Advanced Settings Editor
y agregue lo siguiente en laUser Overrides
sección:{ "codeCellConfig": { "autoClosingBrackets": false } }
Captura de pantalla
Esto funcionó con JupyterLab 0.32.1 y jupyter_core 4.4.0
fuente
Descubrí que no se menciona en otras respuestas. En mi caso (OS X, Jupyter 4.2.0), custom.js se encuentra en ~ / anaconda / lib / python3.5 / site-packages / notebook / static / custom / custom.js
Creo que puede ayudar a alguien como yo.
fuente