Novedades de PyCharm 2019.3

Llegan los widgets interactivos para Jupyter Notebooks, compatibilidad con MongoDB y asistencia a la codificación para todas las funcionalidades de Python 3.8.

Jupyter solo Pro

Widgets interactivos

Widgets interactivos

To provide more interactivity, Jupyter notebooks support interactive controls known as interactive widgets. Estos controles le permiten convertir blocs de notas estáticos en paneles interactivos, permitiendo así que los lectores de sus blocs de notas personalicen su vista. Con esta actualización, PyCharm añade la compatibilidad con los widgets interactivos. Esto significa que los widgets se procesan con el resultado y pueden utilizarse para manipular los blocs de notas al igual que con Jupyter Notebooks nativos.

El IDE ahora es compatible con las bibliotecas de widgets más populares. Si ve que su biblioteca no funciona, no dude en crear una incidencia.

Finalización de tiempo de ejecución

Finalización de tiempo de ejecución

Una de las ventajas que ofrece PyCharm es la asistencia a la codificación inteligente, que es posible gracias a nuestros algoritmos de análisis de código estático. No obstante, para los lenguajes dinámicos como Python, el análisis de código estático no siempre es suficiente. Por eso, con esta actualización lo ampliamos aprovechando la información de tiempo de ejecución proporcionada por Jupyter. El resultado es una finalización de código más inteligente en algunos casos, como los índices de diccionario o las expresiones profundamente anidadas para los que el IDE no puede averiguar el tipo usando el análisis estático.

Ampliar y alejar en el panel de resultados

Ampliar y alejar en el panel de resultados

El tamaño de fuente de la vista previa ahora puede configurarse para que sea coherente con el editor o personalizable en la configuración. Además, ahora la vista previa respeta la opción del editor `Change font size (Zoom) with Ctrl+Mouse Wheel `. Cuando está habilitada, puede ampliar o alejar la vista previa utilizando la rueda del ratón y manteniendo pulsado Ctrl.

Mejoras adicionales

  • Si se cambia un Jupyter Notebook fuera del IDE (p. ej., la interfaz nativa de Jupyter), el IDE ahora sincroniza automáticamente su estado para asegurarse de que el usuario del IDE vea la versión más reciente del bloc de notas y no se pierda ningún cambio.

Python

Finalización de rutas de archivo

Finalización de rutas de archivo

¿Le preocupa introducir un error al escribir el nombre de un archivo? ¿En especial con los nombres de archivo largos, como `open(‘data/survey_data_28112019_exported.csv’)`? Ahora puede recibir sugerencias de rutas de archivo dentro de la consola o el editor de código Python. Hemos ampliado nuestra funcionalidad de finalización de código que tiene en cuenta el contexto para que los literales de cadena en contextos relacionados con archivos muestren sugerencias de las posibles rutas de archivo.

Compatibilidad de importación relativa

Compatibilidad de importación relativa

¿Prefiere las importaciones relativas frente a las absolutas? PyCharm ahora puede convertir automáticamente entre estos estilos. Si ya importa desde un paquete determinado con una importación relativa, cualquier nueva importación de dicho paquete también se creará automáticamente como importación relativa.

Python 3.8: TypedDicts

Python 3.8: TypedDicts

Evite la asignación de valores incorrectos de diccionarios utilizando la compatibilidad de PyCharm con TypedDict. Obtenga una representación precisa de sus estructuras de pares clave-valor y deje que nuestro editor de código le ayude con su utilización correcta.

Python 3.8: anotación de tipo literal

Python 3.8: anotación de tipo literal

¿Tiene un método que toma una cadena literal específica, como el modo de archivo para `open`? Puede utilizar la anotación de tipo `Literal` de Python 3.8 para buscar no solo un tipo, sino también un valor específico. PyCharm ahora le avisará cuando llame a una función con un valor no compatible.

Creación automática de pruebas pytest

Creación automática de pruebas pytest

Nuestra herramienta para crear pruebas automáticamente se ha actualizado y ahora también es compatible con pytest. De este modo, PyCharm le permite crear automáticamente pruebas pytest simplemente haciendo clic en la opción Go To | Test del menú contextual de una declaración de método.

Depurador: información de tamaño para colecciones

Depurador: información de tamaño para colecciones

Hacer el seguimiento de la información mientras se depura debería ser lo más claro y detallado posible. Por eso hemos modificado la vista de variables para que muestre los datos completos y mejor organizados. Con este cambio, puede esperar un nuevo orden, una mejor representación visual de vectores científicos, la visualización de la longitud de las colecciones y la eliminación de datos duplicados.

Mejoras adicionales

  • ¿Trabaja con scripts de red o interactúa con hardware y utiliza valores hexadecimales o binarios? ¡Buenas noticias! PyCharm ahora ofrece la conversión integrada del formato de los valores decimales al formato hexadecimal o binario directamente desde la consola o el depurador desde la vista de variables.
  • ¿Desarrolla para Linux en Windows? Hemos añadido la compatibilidad con el Subsistema de Windows para Linux 2. Configure su intérprete de Python en PyCharm para utilizar el que está disponible en WSL 2solo Pro

Mejoras de rendimiento

Indexación más rápida

Indexación más rápida

PyCharm puede ayudarle a realizar su trabajo más rápidamente con su información del código avanzada. Para que funcione, necesitamos indexar tanto su código como todos los paquetes que importa. Cuando utiliza un paquete con extensiones compiladas, como muchos paquetes de ciencia de datos, antes de poder indexarlo tenemos que generar esqueletos Python (archivos stub) que describan la interfaz de Python. Hemos realizado mejoras en este proceso y puede esperar que todo el proceso de indexación sea al menos un 25 % más rápido. Por supuesto, si utiliza el mismo paquete en varios virtualenvs, reutilizaremos el índice que ya hemos creado.

Menos congelaciones y una mejor notificación de estas

Menos congelaciones y una mejor notificación de estas

Lamentablemente, a veces la IU de PyCharm se congela durante un tiempo antes de dejarle seguir trabajando con su código. Somos conscientes de que se trata de algo muy molesto, por lo que estamos trabajando duro para solucionar el problema. Hemos corregido muchos errores que podían congelar la IU y hemos añadido la posibilidad de notificar inmediatamente una congelación de la IU directamente desde el IDE, lo que facilitará que podamos investigar el motivo de la congelación y asegurarnos de que no vuelva a suceder. ¡Gracias de antemano por ayudarnos a librarnos de las congelaciones de la IU en PyCharm!

Mejoras adicionales

  • Este año, hemos trabajado mucho en el rendimiento durante la inicialización de todos los IDEs de JetBrains. El tiempo de inicialización de nuestra plataforma principal se ha seguido mejorando en las versiones 2019.3, y continuamos trabajando para que los IDEs se inicien más rápidamente.
  • Ahora puede cambiar el tema sin tener que reiniciar el IDE. Esto es posible tanto cuando elige un tema preinstalado como cuando descarga un tema nuevo.
  • Varias mejoras en el procesamiento de eventos y la gestión de archivos ignorados han hecho que el estado del control de versiones sea más rápido en PyCharm 2019.3.
  • Hemos realizado algunos cambios en el procesamiento del editor y ahora el desplazamiento por los archivos largos resulta mucho más fluido.

Compatibilidad con bases de datos solo Pro

Compatiblidad con MongoDB

Compatiblidad con MongoDB

¿Está creando una aplicación en MongoDB? Entonces le alegrará saber que ahora puede explorar sus colecciones de MongoDB en PyCharm. Conecte su base de datos añadiendo una fuente de datos desde la ventana de herramientas de bases de datos (View | Tool Windows | Database). PyCharm Professional Edition incluye todas las funcionalidades de bases de datos de JetBrains DataGrip, el IDE de SQL profesional creado por JetBrains.

Características de IDE

Parametrización de configuraciones de ejecución

Parametrización de configuraciones de ejecución

Cuando está creando una aplicación de línea de comandos, suele ser útil poder cambiar los argumentos rápidamente. Aunque siempre podría ir a `Edit Configuration` para cambiarlos, ahora existe un modo mejor: con las nuevas macros (variables) de configuraciones de ejecución, puede hacer que PyCharm le pregunte el valor cada vez que inicie su aplicación.

Buscar en selección

Buscar en selección

¿Quiere saber con qué frecuencia ocurre algún texto en una sección de su archivo? La acción de buscar ahora aparece en su selección de primeras. ¿Quiere buscar en todas partes? Pulse Ctrl-F de nuevo para ampliar su búsqueda al resto del archivo.

Mejoras adicionales

  • Si una parte de su aplicación está escrita en JavaScript, es bastante probable que esté utilizando plantillas Handlebars en algún lugar. Si tiene instalado el complemento Handlebars, ahora puede habilitar la inteligencia de código de Handlebars en cualquier cadena de Python. Simplemente pulse Alt-Intro en su cadena, seleccione ‘Inject language or reference’ y escriba ‘Handlebars’.

Control de la versión

Comparación con la rama actual mejorada

Comparación con la rama actual mejorada

Cuantas más ramas tenga, más difícil será controlar las diferencias entre ellas. En la nueva versión de PyCharm, la funcionalidad de comparación de ramas tiene un mejor aspecto y le ofrece una vista general rápida de las confirmaciones que suponen la diferencia entre las dos ramas.

IU mejorada para clonar un repositorio

IU mejorada para clonar un repositorio

Independientemente del tipo de repositorio que utilice, ahora dispone de un único lugar desde el que hacer el checkout de un proyecto nuevo.

Mejoras adicionales

  • Al realizar el checkout de una rama remota, normalmente querrá crear una rama local que realice el seguimiento de la rama remota. En PyCharm 2019.3, solo hay una acción ‘checkout’, con lo que se asegurará de que está viendo el estado actual de la rama remota, y no existe el riesgo de perder ninguna de sus confirmaciones locales.
  • PyCharm siempre ha podido insertar la rama de la que ha hecho el checkout en ese momento. A veces tal vez quiera insertar otra rama, y a partir de ahora ya no será necesario hacer el checkout de esa primero.

Desarrollo web solo Pro

Clases CSS desde un CDN

Clases CSS desde un CDN

¿Utiliza una hoja de estilo desde un CDN? Ahora podemos descargar una versión de esa hoja de estilo específicamente para usarla para la finalización de código.

Ver los valores devueltos por métodos mientras se depura JavaScript

Ver los valores devueltos por métodos mientras se depura JavaScript

Al igual que en el depurador de Python, el depurador de JavaScript ahora puede mostrarle los valores de retorno de los métodos que llama. Para ver los valores de retorno, haga clic en el icono de rueda dentada del depurador y habilite ‘Show Return Values’.

Mejoras adicionales

  • Configure los ajustes de estilo CSS para imponer el uso de las comillas simples o dobles.
  • Ya utilice comillas simples o dobles en su CSS, PyCharm ahora puede ayudarle a utilizar las comillas de un modo coherente. Configúrelas en Settings | Editor | Code Style | Style Sheets | CSS, en la pestaña ‘Other’.
  • ¿Utiliza componentes React que no tienen propTypes definidos para ellos? PyCharm ahora puede inferir accesorios y le dará la finalización de código de los componentes que no tengan propTypes definidos.