Trabajar con la ventana interactiva de Python en Visual Studio
Visual Studio proporciona una ventana interactiva de bucle leer-evaluar-imprimir (REPL) para cada uno de los entornos de Python, el cual mejora el REPL que te ofrece con el comando python.exe
en la línea de comandos. La ventana interactiva de Python le permite escribir código arbitrario de Python y ver resultados inmediatos. Este enfoque para codificar le ayuda a aprender y experimentar con las API y las bibliotecas y desarrollar de forma interactiva código de trabajo para incluir en los proyectos.
Visual Studio tiene muchos modos REPL de Python entre los que elegir:
REPL | Descripción | Corrección | Depuración | Imágenes |
---|---|---|---|---|
Estándar | REPL predeterminado se comunica directamente con Python | Edición estándar (multilínea y más) | Sí, a través de $attach |
No |
Depurar | REPL predeterminado, que habla con el proceso de Python depurado | Edición estándar | Solo depuración | No |
IPython | REPL habla con el back-end de IPython | Comandos de IPython, facilidades de Pylab | No | Sí, insertado en REPL |
IPython sin Pylab | REPL habla con el back-end de IPython | IPython estándar | No | Sí, ventana independiente |
En este artículo se describen los modos de REPL Estándar y Depurar. Para obtener más información sobre los modos de IPython, consulte Use the IPython REPL.
Para obtener un tutorial detallado con ejemplos, incluidas las interacciones con el editor como Ctrl+Entrar, vea Usar la ventana interactiva de REPL.
Prerrequisitos
- Visual Studio en Windows instalado con compatibilidad con cargas de trabajo de Python. Para obtener más información, consulte Instalación de compatibilidad con Python en Visual Studio.
Visual Studio para Mac no es compatible. Para obtener más información, consulte ¿Qué ocurre con Visual Studio para Mac? Visual Studio Code en Windows, Mac y Linux funciona bien con Python a través de extensiones disponibles.
Abrir la ventana interactiva
Hay varias maneras de abrir la ventana interactiva para un entorno Python.
Desde la ventana entornos de Python:
Seleccione Ver>Otros entornos de Python de Windows> para abrir la ventana Entornos de Python de (o use el teclado Ctrl+K>Ctrl+`).
En la ventana Entornos de Python, seleccione un entorno y cambie a la página Información general del entorno.
En la página Información general, seleccione la opción Abrir ventana interactiva.
En el menú Ver en la herramienta Visual Studio, seleccione Otras ventanas>Ventana interactiva de Python:
En el menú Depuración de la barra de herramientas de Visual Studio, seleccione Ejecutar <Proyecto | Archivo> en Python Interactivo o use el método abreviado de teclado Mayús+Alt+F5. Puede abrir una ventana interactiva para el archivo de inicio en su proyecto o para cualquier archivo independiente:
Otra opción es enviar el código que está escribiendo en el editor de Visual Studio a la Ventana Interactiva. Este enfoque se describe en Enviar código a la ventana interactiva.
Explorar las opciones de ventana interactiva
Puede controlar varios aspectos de la ventana interactiva , como la ubicación de los archivos de script de inicio y cómo funcionan las teclas de dirección dentro del entorno de ventana. Para acceder a las opciones, seleccione Tools>Options>Python>Interactive Windows:
Las opciones se describen en detalle en Opciones de la Ventana Interactiva de Python para Visual Studio.
Usar la ventana interactiva
En la Ventana Interactiva, puede empezar a escribir el código línea por línea en el símbolo del sistema de comandos de Python REPL >>>
. A medida que escribe cada línea, Visual Studio ejecuta el código, incluida la importación de módulos necesarios y la definición de variables.
Cuando Visual Studio detecta que una línea de código no forma una instrucción completa, el mensaje de código cambia a la continuación de REPL ...
. Este mensaje indica que debe especificar más líneas de código para completar el bloque de instrucciones. Visual Studio espera la sintaxis de cierre antes de intentar ejecutar el bloque de código.
Al definir una instrucción for
, la primera línea de código inicia el bloque for
y termina en dos puntos. El bloque puede constar de una o varias líneas de código que definen las tareas que se van a completar durante el bucle for
. Cuando seleccionas Enter en una línea en blanco, la ventana interactiva cierra el bloque y Visual Studio ejecuta el código.
Comparación de REPL en la línea de comandos
La ventana interactiva ofrece mejoras con respecto a la experiencia de REPL de línea de comandos de Python habitual, ya que aplica sangrías automáticamente a las instrucciones que pertenecen a un ámbito adyacente. Ambos enfoques permiten usar las teclas de dirección para desplazarse por el código especificado. La ventana interactiva también proporciona elementos de varias líneas, mientras que la línea de comandos REPL solo proporciona líneas individuales.
Metacomandos
La ventana interactiva admite varios metacomandos. Todos los metacomandos comienzan con el símbolo de dólar $
. Puede escribir $help
para ver una lista de metacomandos y $help <command>
para obtener los detalles de uso de un comando específico. En la tabla siguiente se resumen los metacomandos.
Metacomando | Descripción |
---|---|
$$ |
Inserte un comentario, lo que resulta útil para comentar el código en toda la sesión. |
$cls , $clear |
Borre el contenido de la ventana del editor, pero deje intacto el historial y el contexto de ejecución. |
$help |
Muestra una lista de comandos o ayuda en un comando específico. |
$load |
Cargue los comandos desde el archivo y ejecútelos hasta completarse. |
$mod |
Cambie el ámbito actual al nombre del módulo especificado. |
$reset |
Restablezca el entorno de ejecución al estado inicial, pero mantenga el historial. |
$wait |
Espere al menos el número especificado de milisegundos. |
También puede ampliar los comandos con extensiones de Visual Studio mediante la implementación y exportación de la clase IInteractiveWindowCommand
. Para obtener más información, revise un (ejemplo en GitHub).
Cambio del ámbito de ventana interactiva
De forma predeterminada, la ventana interactiva para un proyecto se limita al archivo de inicio del proyecto como si ejecutara el archivo de programa desde el símbolo del sistema. Para un archivo independiente, el ámbito se establece en ese archivo. En cualquier momento durante su sesión de REPL, puede usar el menú desplegable de ámbito del módulo para cambiar el ámbito:
Después de importar un módulo, como import importlib
, aparecen opciones en el menú desplegable del ámbito del módulo para cambiar a cualquier ámbito de ese módulo. Un mensaje en la Ventana Interactiva informa sobre el cambio al nuevo ámbito, de modo que pueda seguir cómo llegó a un cierto estado durante la sesión revisando el historial de comandos.
Si escribe el comando dir()
en un ámbito, Visual Studio muestra identificadores válidos en ese ámbito, incluidos los nombres de función, las clases y las variables. En la imagen siguiente se muestra el resultado del comando dir()
para el ámbito de importlib
:
Envío de código a la ventana interactiva
Además de trabajar directamente en la ventana interactiva , puede enviar código en el editor de Visual Studio a la ventana. Este comando es útil para el desarrollo de código iterativo o evolucionista, incluida la prueba del código a medida que lo desarrolla.
Abra un archivo de código en el editor de Visual Studio y seleccione parte o todo el código.
Haga clic con el botón derecho en el código seleccionado y seleccione Enviar a interactivo (o use el método abreviado de teclado Ctrl+E, E).
Modificación y ejecución de código
Después de enviar código a la ventana interactiva y ver la salida, puede modificar el código y probar los cambios. Use las flechas arriba y abajo para desplazarse hasta el código del historial de comandos de la ventana. Modifique el código y ejecute el código actualizado seleccionando Ctrl+Entrar.
Al realizar cambios, si selecciona Intro al final de una declaración completa de código, Visual Studio ejecuta el código. Si la instrucción de código no está completa, Visual Studio inserta una nueva línea en la ventana.
Guardar código y quitar avisos
Después de completar el trabajo en el código, puede seleccionar el código actualizado en la ventana interactiva de y pegarlo en el archivo de proyecto para guardar el trabajo.
Al pegar código de la ventana interactiva en el editor, Visual Studio quita el indicador de comandos REPL >>>
y el indicador de continuación ...
de forma predeterminada. Este comportamiento permite transferir fácilmente código desde la ventana al editor.
Puede cambiar el comportamiento en la opción Pegar quita las indicaciones de REPL para la Ventana Interactiva:
Seleccione Herramientas>Opciones para abrir el cuadro de diálogo de Opciones .
Expanda la sección Editor de Texto>Python>Formateo.
Borre la opción Pegar quita las indicaciones de REPL.
Seleccione Herramientas>Opciones para abrir el cuadro de diálogo Opciones.
Expanda la sección Editor de texto >Python>Advanced.
Borre la opción Pegar quita las indicaciones de REPL.
Al desmarcar la opción, los caracteres de aviso se conservan en el código pegado desde la ventana. Para obtener más información, consulte Opciones - Opciones varias.
Revisión del comportamiento de IntelliSense
La ventana interactiva incluye sugerencias de IntelliSense basadas en los objetos en tiempo real, a diferencia del editor de código, donde IntelliSense se basa solo en el análisis de código. Como resultado, las sugerencias de IntelliSense en ventana interactiva son más correctas, especialmente con código generado dinámicamente. El inconveniente es que las funciones con efectos secundarios, como los mensajes de registro, pueden afectar a la experiencia de desarrollo.
Puede ajustar el comportamiento de IntelliSense a través de las opciones de Finalización:
Seleccione Herramientas>Opciones para abrir el cuadro de diálogo Opciones.
Amplíe la sección Python>Ventanas Interactivas.
Ajuste la configuración en el grupo Modo de finalización, como Nunca evaluar expresiones u Ocultar sugerencias de análisis estático.
Para obtener más información, vea Opciones de : opciones interactivas de Windows.