Novedades de PyCharm 2024.3

Peticiones de IA inline y asistencia a la codificación para el decorador dataclass_transform

AI Assistant

Peticiones de IA inline

Realice una petición a la IA directamente en el editor

Puede interactuar con AI Assistant directamente donde realiza la mayor parte de su trabajo: en el editor. ¿No sabe qué hacer con un error en el código? ¿Necesita añadir documentación o pruebas? Simplemente comience a escribir su solicitud en una nueva línea en el editor. PyCharm reconocerá de forma automática su solicitud en lenguaje natural y generará una respuesta. Si la nueva línea tiene sangría, anteponga a su solicitud el símbolo $ o ?.

PyCharm deja una marca morada en el medianil junto a las líneas modificadas por AI Assistant para que pueda ver fácilmente lo que se ha actualizado.

Si no le gusta la sugerencia inicial, puede pulsar Tab para generar una nueva. También puede hacer clic en el bloque morado del medianil para ajustar el texto inicial o simplemente puede pulsar Ctrl+\ (Windows) o Cmd+\ (macOS).

Esta funcionalidad está disponible para archivos de Python, JavaScript, TypeScript, JSON y YAML, así como para notebooks de Jupyter.

Limite el contexto de su petición inline

¿Desea obtener ayuda con un argumento específico? Puede restringir tanto como quiera el contexto que AI Assistant utiliza para su respuesta. Solo tiene que poner el signo de intercalación en el contexto relevante, escribir el símbolo $ o ? y empezar a escribir. PyCharm reconocerá su petición y tendrá en cuenta el contexto actual para sus sugerencias.

Genere documentación

PyCharm ahora muestra un consejo de inserción Generate with AI Assistant cuando detecta el formato docstring. Esta funcionalidad le ayuda a aprovechar la IA para acelerar el proceso de generación de documentación.

Mejora de la gestión del contexto

En esta actualización, hemos hecho que la gestión del contexto que AI Assistant tiene en cuenta en sus sugerencias sea más transparente e intuitiva. Una interfaz de usuario renovada le permite ver y gestionar cada elemento incluido como contexto, proporcionándole una visibilidad y un control totales. El archivo abierto y cualquier código seleccionado dentro de él se añaden ahora de forma automática al contexto, y puede añadir o eliminar fácilmente archivos según sea necesario, personalizando el contexto para adaptarlo a su flujo de trabajo. Además, puede adjuntar instrucciones para todo el proyecto con el fin de guiar las respuestas de AI Assistant en toda su base de código.

Opción de elegir un proveedor de modelos de chat

Ahora puede seleccionar su modelo de chat de IA preferido, eligiendo entre Google Gemini, OpenAI o modelos locales en su máquina. Esta selección ampliada le permite personalizar las respuestas del chat de IA para adaptarlas a su flujo de trabajo específico, ofreciéndole una experiencia más adaptable y personalizada.

Ejecute código desde el chat de IA en la consola de Python

Itere más rápido en el código sugerido por AI Assistant simplemente ejecutando fragmentos de código del chat de IA en la consola de Python. Haga clic en el botón verde Run en la esquina superior derecha de la ventana del código para comprobar cómo funciona el trozo de código sugerido.

Acceso instantáneo a la documentación de PyCharm

AI Assistant ahora puede sugerir la mejor manera de realizar una tarea determinada en PyCharm basándose en el último estado de la documentación de PyCharm. Utilice el comando /docs para obtener consejos personalizados sobre cómo realizar las tareas de la manera más eficiente.

Posibilidad de reconocer DataFrames y variables en las peticiones

AI Assistant ahora es capaz de trabajar con DataFrames y variables en sus notebooks. Solo tiene que utilizar # antes del nombre de un DataFrame o de una variable, y AI Assistant le ayudará a analizarlo. AI Assistant cuenta con acceso directo al resumen y las estadísticas del DataFrame para poder ofrecerle los mejores resultados posibles.

Además, puede navegar a la vista Variables de la ventana de herramientas Jupyter directamente desde el chat. Solo tiene que hacer clic en el icono del clip en su mención del DataFrame o variable.

Posibilidad de convertir bucles for en comprensiones de listas

Refactorice su código más rápidamente con AI Assistant, que ahora puede ayudarle a convertir bucles for masivos en comprensiones de listas. Esta característica funciona con todos los bucles for, incluidos los anidados y los bucles while.

Gestión de errores SQL por parte de AI Assistant

Hemos implementado un par de acciones útiles para el manejo de errores de ejecución de consultas SQL con AI Assistant. Ahora, para cada mensaje de error, PyCharm muestra dos acciones en el extremo derecho del mensaje de error: Explain with AI y Fix with AI.

Explain with AI abre el chat de IA, envía una consulta automática y le proporciona la explicación del error de AI Assistant.

Fix with AI genera una corrección del error de ejecución de la consulta en el editor.

Estas dos nuevas acciones funcionan de forma similar a las acciones de intención Fix SQL Problem Under Caret y Explain SQL Problem Under Caret.

Esta funcionalidad requiere adjuntar el esquema de la base de datos para sugerir explicaciones y correcciones adecuadas.

Finalización local de código de IA multilínea PyCharm Professional

PyCharm Professional ahora proporciona sugerencias locales de finalización de código de IA multilínea basadas en el modelo de aprendizaje automático de propiedad exclusiva de JetBrains que se utiliza para la finalización de código de línea completa. Tenga en cuenta que no utilizamos sus datos para entrenar el modelo.

La finalización de código multilínea local genera normalmente de 2 a 4 líneas de código en escenarios en los que puede predecir la siguiente secuencia de pasos lógicos, como dentro de bucles, cuando se gestionan condiciones o cuando se completan patrones de código comunes y secciones de código reutilizable.

Python

Asistencia a la codificación para el decorador dataclass_transform (PEP 681)

Cuando se trabaja con clases de datos personalizadas creadas a través de bibliotecas que utilizan el decorador dataclass_transform, el IDE proporciona ahora toda la asistencia inteligente a la codificación que ofrece para las clases de datos estándar. Por ejemplo, puede disfrutar de la finalización de código para los atributos y de la inferencia de tipos para las firmas de constructores.

Notebooks de Jupyter PyCharm Professional

Autoinstalación para varios paquetes

PyCharm 2024.3 facilita la instalación de paquetes importados en su código. Un nuevo arreglo rápido está disponible para autoinstalaciones masivas, lo que le permite descargar e instalar varios paquetes en un solo clic.

Posibilidad de ejecutar líneas específicas en la consola de Jupyter

PyCharm ahora le permite ejecutar líneas seleccionadas de código directamente en la consola de Jupyter sin ejecutar la celda completa. Esta funcionalidad facilita la depuración rápida o la comprobación de resultados de trozos de código específicos, lo cual aporta más flexibilidad y eficiencia a su flujo de trabajo.

Posibilidad de abrir salidas de tablas de Jupyter en la ventana Data View

Vea los resultados de las tablas de Jupyter en la ventana de herramientas Data View para acceder a potentes funcionalidades como mapas térmicos, formateo, segmentación y funciones de IA para mejorar el análisis de los DataFrames. Solo tiene que hacer clic en el icono Open in Data View para comenzar.

Renombrado inline de funciones y variables locales

Ahora puede renombrar símbolos, funciones y variables locales directamente en el editor sin tener que abrir un cuadro de diálogo. Solo tiene que seleccionar la entidad cuyo nombre desea cambiar y pulsar Mayús+F6.

Data View PyCharm Professional

Filtrado de datos sin código

Ahora puede filtrar los datos en la ventana de herramientas Data View y en los DataFrames sin escribir ni una sola línea de código. Haga clic en el icono Filter situado en la esquina superior derecha de la ventana de herramientas o en un DataFrame, y seleccione las opciones de filtrado que desee utilizar. Los resultados del filtrado pueden verse de inmediato en la misma ventana.

Esta característica funciona para todos los marcos de datos de Python compatibles, incluidos pandas, Polars, NumPy, PyTorch, TensorFlow y Hugging Face Datasets.

Experiencia de usuario

Resaltar ocurrencias del texto seleccionado

De forma predeterminada, ahora PyCharm destaca automáticamente todas las instancias del texto que selecciona dentro de un archivo. Esto facilita efectuar un seguimiento de los lugares en que aparece su texto seleccionado en su código. Puede personalizar la funcionalidad en Settings | Editor | General | Appearance.

Corrección ortográfica y gramatical durante la indexación

Basándonos en los progresos realizados en la versión 2024.2, estamos aumentando el número de funcionalidades esenciales que están disponibles mientras se compila e indexa el modelo de proyecto. En la versión 2024.3, las correcciones ortográficas y gramaticales están accesibles incluso mientras la indexación está en curso. Esto le permite detectar errores, como los de los documentos Markdown y las etiquetas de documentación, sin esperar a que finalice la indexación.

Optimized placement for the Rename action

Hemos optimizado la ubicación de la acción Rename en el menú contextual cuando se la llama en elementos del editor y la ventana de herramientas Project. La acción se encuentra ahora en el nivel superior, lo que facilita la tarea a los usuarios que dependen con frecuencia del ratón para renombrar rápidamente archivos, variables y otros elementos.

Widget Run: Opción de lanzar varias configuraciones simultáneamente

El widget Run actualizado le permite lanzar varias configuraciones simultáneamente manteniendo pulsada la tecla Ctrl y haciendo clic en el icono Debug de la ventana emergente. Además, el widget muestra controles para todas las configuraciones en ejecución, lo cual proporciona una visión clara de sus estados y simplifica la gestión.

Aumento del límite de pestañas predeterminado

Hemos aumentado el límite de pestañas predeterminado en el editor a 30. Esto significa que ahora puede mantener abiertas más pestañas antes de que el IDE empiece a cerrar las que se han utilizado menos recientemente. Puede controlar este ajuste en Settings | Editor | General | Editor Tabs.

Depurador

Especificación del puerto de depuración PyCharm Professional

PyCharm ahora permite especificar un único puerto de depuración para todas las comunicaciones, lo que simplifica la depuración en entornos restringidos como Docker o WSL. Después de establecer el puerto en la configuración del depurador, este se ejecuta como un servidor y toda la comunicación entre él y el IDE fluye a través del puerto especificado.

Bases de datos PyCharm Professional

Barra de herramientas de paginación flotante

Para que la paginación de la cuadrícula sea más perceptible en el editor de datos, hemos movido el control de la barra de herramientas a la parte inferior central del editor de datos.

Inspección de una cantidad excesiva de cláusulas JOIN

En algunos casos, no se recomienda ejecutar una consulta que contenga un número excesivo de cláusulas JOIN debido a que se degrada el rendimiento. Ahora, el editor puede identificar y resaltar este tipo de consultas. Puede habilitar esta inspección en los ajustes del IDE. Para ello, vaya a Editor | Inspections, expanda la sección SQL y seleccione Excessive JOIN count.

Introspección de fragmentos y actualización inteligente para MySQL y MariaDB

Ahora, PyCharm admite la introspección de fragmentos. Anteriormente, el introspector podía realizar solo una introspección completa de esquemas en las bases de datos MySQL o MariaDB, pero no podía actualizar los metadatos de un solo objeto. Cada vez que se ejecutaba una declaración DDL en la consola y esa ejecución podía modificar un objeto en el esquema de la base de datos, el IDE iniciaba una introspección completa de todo el esquema. Esto llevaba mucho tiempo y a menudo interrumpía el flujo de trabajo.

Ahora, PyCharm puede analizar una declaración DDL, determinar qué objetos podrían haberse visto afectados por ella y actualizar solo esos objetos. Si selecciona un único elemento en Database Explorer e invoca la acción Refresh, solo se actualizará ese objeto específico, en lugar de todo el esquema como antes.

Desarrollo web PyCharm Professional

Mejora en los cambios de nombre y en la navegación por los componentes del marco de trabajo

Hemos mejorado los consejos en el editor para componentes de Vue, Svelte y Astro. La acción Show component usages encuentra ahora los usos tanto en las importaciones como en las plantillas de marcado. También hemos añadido el filtro Show component usages para excluir los usos de componentes al buscar referencias de archivos normales. La refactorización Rename también se ha actualizado con una opción para incluir usos al renombrar un archivo de componentes.

Resultados de búsqueda más limpios para los directorios

PyCharm ahora excluye los resultados de node_modules de forma predeterminada cuando se utiliza Find in Files en los directorios del proyecto, reduciendo el desorden de archivos irrelevantes. Puede restaurar el comportamiento anterior habilitando la opción Search in library files when “Directory” is selected in Find in Files en Settings | Advanced Settings.

VCS

Generación de títulos y descripciones para peticiones de incorporación y fusión

AI Assistant ahora ayuda a generar títulos y descripciones precisos para sus solicitudes de incorporación y fusión directamente desde el IDE, lo cual agiliza su flujo de trabajo y garantiza que sus descripciones sean claras y concisas.

Actualizaciones en Find in Files

La funcionalidad Find in Files se ha mejorado con un nuevo ámbito de búsqueda, Project Files Excluding Git-Ignored. Esta opción excluye cualquier archivo ignorado en los archivos .gitignore de sus resultados de búsqueda, lo cual le ayuda a centrarse solo en el código relevante cuando busque en su proyecto.

Opción para deshabilitar las comprobaciones previas a la confirmación en segundo plano

Ahora puede gestionar las comprobaciones en segundo plano durante el proceso de confirmación con la nueva opción Run advanced checks after a commit is done en Settings | Version Control | Commit. Este ajuste le permite decidir si deben ejecutarse pruebas e inspecciones después de realizar una confirmación. Si desea que estas comprobaciones se completen antes de la confirmación, deshabilítelo.

Marcos de trabajo y tecnologías PyCharm Professional

Actualizaciones del cliente HTTP

PyCharm 2024.3 introduce la posibilidad de acceder a variables de entorno directamente dentro del cliente HTTP mediante la sintaxis $env.ENV_VAR. Esto permite una mayor flexibilidad a la hora de gestionar y utilizar variables dentro de sus solicitudes y scripts. Además, ahora es posible ejecutar solicitudes desde un archivo .http incluido, todas a la vez o solicitudes específicas por nombre, e ignorar las variables.

Compatibilidad mejorada con Dev Containers

Las compilaciones de Dev Containers funcionan ahora de forma más fluida en motores Docker remotos, evitando errores cuando los directorios locales no son accesibles de forma remota. También se ha mejorado la estabilidad en WSL, con mejores compilaciones de imágenes y conexiones fiables.

El archivo devcontainer.json procesa features de forma más coherente, y la nueva opción <0>updateRemoteUID evita conflictos de acceso al establecer la identidad de usuario correcta. La configuración del IDE en los Dev Containers puede personalizarse a través de los archivos devcontainer.json o mediante el botón Add currently modified settings from IDE , con finalización automática para todas las opciones disponibles.

Mejoras en el nuevo terminal Beta

El nuevo terminal ofrece ahora un procesamiento de comandos mejorado, y se ha perfeccionado la alineación de su interfaz de usuario, ofreciendo una experiencia más fluida e intuitiva. El terminal es ahora más sensible y procesa las solicitudes con mayor rapidez. El cambio de sesión es ahora fluido, con una conservación del estado coherente en todas las pestañas para garantizar que su flujo de trabajo no se interrumpa. La finalización automática accede más rápidamente a los nombres de los comandos, las banderas y las rutas, reduciendo la introducción manual. También hemos introducido opciones de personalización adicionales, incluyendo las de los estilos de solicitud, nombres de sesión y variables de entorno, dándole un mayor control sobre su entorno de terminal.

Registros del grupo Kubernetes

PyCharm ofrece ahora acceso al registro de Kubernetes en todo el grupo con streaming y concordancia de patrones, herramientas esenciales para los desarrolladores, así como para los equipos de DevOps y SRE. Esta funcionalidad proporciona una vista centralizada de todos los eventos en los pods, nodos y servicios, ayudándole a identificar rápidamente los problemas sin tener que comprobar manualmente cada registro. El streaming en tiempo real permite realizar diagnósticos inmediatos, mientras que la concordancia de patrones automatiza la detección de eventos y errores clave, como problemas de falta de memoria o actividad inusual de la red. Obtenga más información sobre esta funcionalidad y cómo utilizarla en esta entrada del blog.

Mejoras de Docker Compose

PyCharm 2024.3 ofrece compatibilidad ampliada con Docker Compose. Ahora da prioridad a los archivos .env en la finalización automática env_file, haciendo que la configuración del entorno sea más rápida. Las nuevas opciones de compilación – cache_to, no_cache, tags, y <0>platforms – ofrecen un mayor control sobre el almacenamiento en caché y la orientación a plataformas. El manejo mejorado de depends_on.required y depends_on.restart permite una gestión más eficaz del orden de arranque y apagado de los contenedores dependientes.

Nuevas claves como deploy.placement.preferences, deploy.resources.pids y deploy.resources.reservations.devices permiten una colocación flexible de los servicios y límites de recursos. Las compilaciones multicontexto y las compilaciones privilegiadas son ahora compatibles a través de build.additional_contexts y build.privileged.

Las opciones adicionales incluyen configuraciones cgroup, mapeos extra_hosts personalizados y healthcheck.start_interval. La configuración mejorada de puertos y secrets.environment agiliza ahora la gestión de secretos mediante variables de entorno.

Mejoras en OpenTofu y Terraform

Ya está disponible la compatibilidad con OpenTofu. Esta actualización incluye finalización automática para métodos de encriptación, proveedores de claves e inspecciones para referencias desconocidas.

Las acciones de configuración de la ejecución de Terraform son accesibles a través de Search Everywhere, y el IDE detecta automáticamente las variables y locales no utilizadas para mantener su código limpio. Se han perfeccionado los controles para Init, Validate, Plan, Apply y Destroy, y se ha racionalizado el formulario Run Configuration. Además, los indicadores de uso mejorados y las advertencias sobre los recursos no utilizados mejoran la navegación y le ayudan a identificar el código inactivo.