Novedades de PyCharm 2022.1

Compatibilidad con la autenticación para repositorios de paquetes personalizados, compatibilidad mejorada para TypedDict, y una nueva interfaz de usuario de Services para Docker, entre otros

En esta versión, nos hemos centrado en pulir algunas funcionalidades para mejorar la experiencia general de usuario de PyCharm para que sea más productivo. Hemos dado prioridad a la finalización de algunas funciones ya implementadas y a la simplificación de determinados flujos de trabajo.

IDE

Compatibilidad con la autenticación para repositorios de paquetes personalizados

Configure la autenticación básica HTTP para acceder a los repositorios de paquetes personalizados y gestionar fácilmente las dependencias a través de PyCharm sin tener que cambiar al terminal para la instalación manual. Vaya a la ventana de herramientas Python Packages, haga clic en el icono de la rueda dentada, pulse el signo más en la ventana del cuadro de diálogo, añada la URL del repositorio y seleccione la opción Basic HTTP para introducir las credenciales necesarias.

Nueva ventana de herramientas Notifications

La nueva ventana de herramientas Notifications ha reemplazado a la antigua Event Log. Gracias a ello, las sugerencias útiles y las notificaciones relevantes se organizan de forma más sencilla para garantizar que no se pierda nada importante.

Compatibilidad con renderizadores de tipos personalizados

Haga que su sesión de depuración sea más rápida y sencilla, especialmente cuando trabaje con objetos grandes o con varios atributos, personalizando el formato de visualización de varios objetos. Consulte la documentación para obtener más información.

Mejoras adicionales:

  • Reformatee su código desde el modo LightEdit. Para ello, vaya a Code | Reformat Code en el menú principal o pulse Ctrl+Alt+L.
  • Ahora PyCharm puede instalar Python 3 en macOS cuando no se encuentra un ejecutable de Python 3.

Compatibilidad con Jupyter Pro

Las celdas de código permanecen en modo Edición tras la ejecución

Cuando utilice Run Cell and Insert Below, la celda recién añadida pasará por defecto al modo Edición para que pueda empezar a escribir código de inmediato. Lo mismo ocurre al editar y ejecutar la celda actual: permanecerá en modo Edición tras ejecutarla.

Optimización del copiado y pegado de celdas

Antes, cuando se copiaba y pegaba una celda en el modo Comando, ya fuera para reorganizar el notebook o por cualquier otra razón, solo se pegaba la celda en sí a la nueva posición, no su resultado. En PyCharm 2022.1, este comportamiento ha cambiado.

Mejoras adicionales:

  • Compatibilidad con la finalización de código de la ejecución de Jupyter.

Editor

Mejora de la finalización de código para TypedDict

PyCharm facilita el uso de los literales dict como argumentos para las funciones o para crear una instancia de objetos de clases donde se espera TypedDict proporcionando la finalización de código para las claves disponibles.

Mejora de las advertencias de TypedDict por clave

Cuando un diccionario creado como literal o mediante el constructor dict se utiliza donde TypedDict espera que se haga, PyCharm muestra mensajes de error por clave que señalan los valores individuales que son incorrectos, faltan o no se esperan.

Ejecutar comandos desde archivos Markdown

Al trabajar con archivos Markdown que contengan instrucciones con comandos para ejecutar (archivos README, por ejemplo), puede ejecutar dichos comandos directamente desde el archivo utilizando los iconos de ejecución en el medianil.

Copiar fragmento de código para Markdown

Con la nueva función Copy code snippet en los bloques Markdown, puede copiar sin esfuerzo el contenido al portapapeles con un solo clic.

Mejoras adicionales:

  • Seleccione encabezados, cree listas y mucho más con la barra de herramientas flotante actualizada del editor Markdown.
  • Ahora, la acción Join Lines también cubre las declaraciones if anidadas.

Compatibilidad remota Pro

Nueva interfaz de usuario de Services para Docker

Trabajar con Docker puede complicarse muy rápidamente. Hemos rediseñado la interfaz de usuario de Docker en la ventana de herramientas Services para que pueda controlar mejor los contenedores, las imágenes, las redes y los volúmenes.

Compatibilidad con Docker Registry V2

También hemos añadido la compatibilidad con la API Docker Registry HTTP V2 para utilizarla con Docker 1.6+. Puede crear registros Docker V2 simples o protegidos por contraseña y realizar todas las acciones habituales como ver, hacer push y pull de imágenes.

Ruta personalizada a kubectl

Puede configurar manualmente una ruta a kubectl si no está en la ubicación estándar. Para personalizar la ruta, vaya a Settings / Preferences | Build, Execution, Deployment | Kubernetes | Path to kubectl executable.

Mejoras adicionales:

  • Kubernetes: ya está disponible la funcionalidad de reenvío de puertos para los pods.
  • Kubernetes: hay una nueva acción Describe Resource para todos los recursos en la vista Services.
  • Kubernetes: ahora la modificación de los recursos cargados desde el grupo se puede hacer desde la pestaña del editor.

Frontend y bases de datos Pro

Mejor compatibilidad con Next.js

Gracias a la compatibilidad con React incorporada, todas las funcionalidades clave ya deberían estar funcionando en sus proyectos Next.js. Ahora PyCharm 2022.1 es compatible con algunos aspectos específicos del marco de trabajo, como las páginas. Ahora, PyCharm resolverá las rutas utilizadas en la propiedad href de sus componentes de Link, así como en form y otras etiquetas. La finalización de código, la navegación y las refactorizaciones también funcionarán.

Compatibilidad con Volta

Ahora, PyCharm tiene una buena integración con Volta, un gestor de herramientas de JavaScript, y reconocerá de forma automática Yarn y npm instalados con Volta.

MongoDB: edición de campos en los resultados

Ahora, puede editar los resultados de las colecciones de MongoDB con la misma facilidad que en las bases de datos relacionales, así como editar los conjuntos de resultados obtenidos mediante .find(). Esto funciona incluso si los métodos del cursor que modifican el resultado, como sort() o limit(), se ejecutan después de .find().