Novedades de PyCharm 2024.2

Utilice AI Assistant para el análisis de datos directamente en la interfaz mejorada para notebooks de Jupyter y trabaje de forma más eficiente con modelos de Hugging Face

Descargar

AI Assistant

JetBrains AI Assistant 2024.2 incorpora mejoras significativas en la finalización de código en la nube, ofreciendo sugerencias más precisas y rápidas. La interfaz de usuario se ha rediseñado para integrar mejor las funciones de finalización de código de IA en los flujos de trabajo del IDE, con mejoras como el resaltado de sintaxis en el código sugerido y la aceptación incremental de sugerencias de código. El chat de IA también se ha vuelto más inteligente y ahora es compatible con el último modelo GPT-4o, referencias del chat y la búsqueda semántica.

Las nuevas funcionalidades incluyen la integración de la IA en la ventana de herramientas Terminal para una generación eficiente de comandos y la resolución de conflictos VCS asistida por IA. Además, ahora los usuarios pueden personalizar las peticiones para la generación de documentación y la creación de pruebas de unidad, adaptándolas a estándares y lenguajes de codificación específicos.

Obtenga más información sobre estas y otras mejoras en este artículo del blog.

Celdas de IA en los notebooks de Jupyter

AI Assistant ahora está más estrechamente integrado en los notebooks de Jupyter en PyCharm. Ahora tiene la posibilidad de añadir una petición directamente dentro de su notebook y trabajar con AI Assistant desde allí. Solo tiene que elegir la opción de celda AI que aparece encima o debajo de cada celda, y se mostrará una celda con un campo listo para su petición.

Si tiene alguna duda mientras realiza un análisis de datos y desea un consejo sobre los pasos más comunes que otros analistas de datos suelen realizar en esa fase, haga clic en la bombilla situada a la derecha de la celda de IA. AI Assistant proporcionará las sugerencias más relevantes basadas en el contexto actual del notebook para que pueda limpiar sus datos de forma más rápida y eficiente.

Si desea que AI Assistant le ayude a iterar sobre el código de una celda concreta, utilice la opción AI Edit Cell del menú contextual. Esto abrirá el campo para la petición directamente en la celda seleccionada. Los cambios sugeridos por AI Assistant se mostrarán en una vista Diff para que pueda ver cómo se modificará su código.

Visualización de DataFrames con un solo clic

Visualice sus DataFrames con la ayuda de AI Assistant, que ahora puede proporcionar sugerencias sobre los gráficos y diagramas más adecuados para su contexto.

Utilice el icono de IA en la esquina superior derecha del DataFrame y seleccione Suggest Visualization. PyCharm abrirá entonces un chat de IA donde recibirá sugerencias. Elija la que más le guste, y AI Assistant generará una nueva celda con el fragmento de código apropiado en el notebook. Ejecútelo, y ¡listo! El gráfico aparecerá en su notebook.

Integración con Databricks

PRO

PyCharm ahora proporciona integración directa con Databricks. Puede conectarse a un grupo de Databricks, ejecutar scripts y notebooks como flujos de trabajo, ejecutar archivos directamente en un shell de Spark en un grupo, y monitorear el progreso: todo desde la comodidad de su IDE.

PyCharm puede detectar los archivos de configuración de Databricks en su disco y utilizarlos para conectarse a los grupos de Databricks. Puede ejecutar código en Databricks en dos modos: Run on Cluster o Run as a Workflow.

Para utilizar la integración de Databricks, debe instalar este complemento dedicado.

Integración con Hugging Face

PRO

Sugerencias de modelos

PyCharm ahora puede sugerir una lista de modelos relevantes de Hugging Face que mejor se adaptan a sus necesidades. Esto le permite decidir qué modelo usar e instalarlo sin tener que salir del IDE. Haga clic derecho en la pestaña del editor para abrir el menú contextual, seleccione Insert HF Model e identifique lo que le gustaría que hiciera el modelo. ¡PyCharm proporcionará una lista de sugerencias! Después de seleccionar un modelo, PyCharm sugerirá insertar un fragmento de código que le permitirá usar este modelo directamente en el archivo abierto, y descargará e instalará todos los paquetes que falten de los que dependa este modelo.

DataFrames interactivos para la biblioteca de conjuntos de datos de Hugging Face

Ahora puede inspeccionar los datos de su biblioteca Datasets de Hugging Face como un DataFrame interactivo. Esto le permite aprovechar las funcionalidades que ya utiliza para DataFrames de pandas, Polars, PyTorch y TensorFlow, incluidas la vista de gráfico, la paginación y la capacidad de ordenar y exportar tablas.

Opción para identificar y eliminar modelos no utilizados

Una nueva ventana de herramientas dedicada de Hugging Face le permite supervisar y gestionar los modelos de Hugging Face almacenados en su máquina. Esto le ayudará a identificar los modelos no utilizados que pueden eliminarse para liberar espacio en disco, además de facilitar la copia de las rutas a los modelos o la apertura de las carpetas donde están almacenados.

Notebooks de Jupyter

PRO

Vista previa de variables inline

Ya no es necesario iniciar el depurador o utilizar una instrucción print si solo se desea comprobar los valores de las variables. Ahora puede obtener una vista previa instantánea de los valores de una variable elegida simplemente colocando el cursor en la línea de la variable.

Experiencia de usuario para notebooks de Jupyter

Ejecución optimizada de celdas

El botón Run se encuentra ahora junto a cada celda, por lo que ya no es necesario navegar hasta el menú superior, y un nuevo botón Go To permite navegar hasta la celda que se ejecutó más recientemente.

Además, ahora cada celda muestra su estado, y se especifica si ya se ha ejecutado correctamente, si se ha ejecutado con un error o si se ha cancelado su ejecución. Puede ver el estado de ejecución pasando el cursor sobre el botón Go To de la barra de herramientas principal del notebook. Cuando la celda termina de ejecutarse, PyCharm muestra una notificación, incluso si el notebook se ha cerrado.

Etiquetas

Las etiquetas asignadas a cada celda son ahora visibles en el editor. Puede añadir nuevas etiquetas a través del menú contextual.

Posibilidad de expandir y contraer celdas de código y Markdown

Para aprovechar al máximo su espacio de trabajo en el notebook, ahora puede expandir y contraer tanto las celdas de código como las de Markdown. La celda en primer plano se resalta con una línea azul y, al hacer clic sobre esta línea, se contrae o expande el contenido y la salida de la celda. Las celdas que no están en primer plano también se pueden contraer. Pase el puntero del ratón sobre una de ellas para que aparezca una línea gris sobre la cual puede hacer clic.

La ventana de herramientas Endpoints: compatibilidad con @action para conjuntos de vistas de Django REST Framework

PRO

La ventana de herramientas Endpoints reconoce las rutas especificadas a través del decorador @action para conjuntos de vistas. Puede ver las rutas y los métodos HTTP especificados en el parámetro methods. Además, PyCharm ahora genera rutas basadas en los parámetros detail y url_path además de la ruta inicial asignada al conjunto de vistas. El cliente HTTP sugerirá una solicitud con los métodos relevantes para cada ruta.

Experiencia de usuario

Opción de vista previa en Search Everywhere

El cuadro de diálogo Search Everywhere ahora incluye como opción una vista previa de los elementos de la base de código que está buscando. Al habilitar esta funcionalidad mediante el icono Preview de la barra de herramientas del cuadro de diálogo aparecerá un panel de vista previa bajo los resultados de búsqueda, que le ofrecerá contexto adicional y le facilitará la navegación por el proyecto.

Mejoras en la finalización de código de línea completa

PRO

En la versión 2024.2, hemos hecho más intuitivo y preciso el proceso de aceptación de sugerencias de finalización de código de línea completa. Las sugerencias de finalización de código inline incluyen ahora resaltado de código, y los nuevos accesos directos permiten aceptar palabras sueltas o líneas enteras de sugerencias más largas. También hemos perfeccionado el modo en que los cambios aceptados se integran en su código, eliminando problemas de formato y otros relacionados.

Mejoras adicionales

  • La nueva interfaz de usuario se ha establecido como predeterminada para todos los usuarios. Con IntelliJ IDEA 2024.2, la nueva interfaz es ahora la predeterminada para todos los usuarios, dejando la clásica disponible como complemento. Más información acerca de la nueva interfaz de usuario
  • PyCharm ahora detecta automáticamente las configuraciones de proxy del sistema configuradas en su máquina y las utiliza de forma predeterminada.

Editor de código

Compatibilidad con sintaxis matemática en archivos Markdown

PyCharm es ahora capaz de renderizar de forma nativa expresiones matemáticas en archivos Markdown. Al trabajar con Markdown, puede utilizar $ para insertar expresiones matemáticas en línea y $$ para bloques de código con contenido matemático.

Líneas adhesivas en función del lenguaje

Ahora puede elegir los lenguajes en los que desea que aparezcan líneas adhesivas. Puede adaptar la funcionalidad a sus preferencias en Settings/Preferences | Editor | General | Sticky Lines o activando el menú contextual con un clic derecho en una línea adhesiva del editor.

Ejecutar/Depurar

Visualizadores de variables de cadena para JSON, XML y otros formatos

Ahora es mucho más fácil depurar y explorar variables de cadena largas con formatos de datos complejos. El depurador actualizado ofrece visualizaciones con el formato adecuado para variables de cadena con cadenas codificadas en JSON, XML, HTML, JWT y URL. Simplemente haga clic en el hipervínculo View junto a una variable para identificar rápidamente la causa raíz de su error. Se seleccione automáticamente el visualizador correspondiente en función del contenido de la variable.

Cobertura de pruebas para los cambios en la rama de funcionalidades actual

PyCharm 2024.2 mejora aún más su capacidad para comprobar rápidamente y mejorar la cobertura de las pruebas a nivel local sin necesidad de pasar por el lento proceso de CI/CD. La ventana de herramientas Coverage muestra ahora solo las clases que se han modificado en la rama de funcionalidades actual, lo que permite comprobar la cobertura de las pruebas de los cambios recientes sin tener que navegar por todo el estado del proyecto. Para revisar la cobertura de pruebas de todo el proyecto y ver todas las clases, desactive la opción Show Only Modified Classes.

Sistemas de control de versiones

Etiquetas en el widget Version Control

Hemos dotado a las etiquetas de un nodo específico en el widget Version Control, lo que facilita su consulta. El nodo se muestra de forma predeterminada pero, si prefiere ocultarlo, solo tiene que hacer clic en el icono del engranaje y desmarcar la opción Show Tags.

Mejoras adicionales

  • Hay dos nuevas opciones bajo el icono Graph Options en la ventana de herramientas Git: --first-parent y --no-merges. Utilice la opción First Parent para centrarse en los cambios de la línea principal ocultando las confirmaciones individuales de las fusiones. También puede filtrar todas las confirmaciones de fusión con la opción No Merges.
  • Para simplificar la revisión de cambios en proyectos complejos, hemos hecho que la acción Local History esté disponible para varios archivos o directorios simultáneamente. En la ventana de herramientas Project, seleccione varios archivos o carpetas y elija Local History | Show History para ver una ventana emergente con el historial de cambios de sus selecciones.
  • Ahora puede abrir el registro de Git como una pestaña en el editor, lo que le permite disfrutar de más espacio de trabajo y facilita la navegación por la lista de confirmaciones y los detalles relacionados. Esta acción también está disponible a través del menú desplegable de la barra de herramientas de la ventana de herramientas Log.
  • Hemos perfeccionado la codificación de colores y la disposición de las líneas de rama para el gráfico de confirmaciones en la pestaña Log de la ventana de herramientas Git. Las ramificaciones importantes ahora permanecen sistemáticamente en el lado izquierdo del gráfico y conservan sus colores designados, lo que facilita su identificación y seguimiento.

Marcos de trabajo y tecnologías

PRO

GraalJS como motor de ejecución para el cliente HTTP

Hemos actualizado a GraalJS el motor de ejecución de JavaScript utilizado en el cliente HTTP. Esto permite utilizar todas las funcionalidades de GraalJS, incluida la compatibilidad total con la especificación ECMAScript 2023, al probar puntos de conexión con el cliente HTTP de PyCharm y utilizar JavaScript en archivos .http<0> para gestionar los resultados.

Mejoras en el cliente HTTP

Hemos introducido valiosas actualizaciones en el cliente HTTP. La nueva función XPath permite consultar elementos directamente desde documentos XML y HTML. Además, hemos añadido numerosos métodos para manipular documentos XML y HTML, eliminando la necesidad de analizar XML manualmente.

El cliente HTTP ahora también soporta la iteración a través de colecciones de variables, permitiéndole componer una única solicitud HTTP con una colección JSONPath y enviar automáticamente solicitudes para cada elemento de la colección. Además, puede acceder a elementos específicos de la colección en scripts de postprocesamiento utilizando la sintaxis JSONPath.

Además, hemos implementado la posibilidad de crear métodos personalizados para trabajar con las API que proporcionan métodos específicos. Puede añadir métodos personalizados sobre la marcha con un arreglo rápido o introducirlos con una lista separada por comas en Settings | Tools | HTTP Client.

Compatibilidad mejorada con Terraform

Hemos ampliado significativamente la asistencia a la codificación de PyCharm para Terraform haciendo que la finalización de código de línea completa esté disponible para él. Además, se han mejorado para Terraform funcionalidades esenciales para la comprensión del código, como la finalización de código contextual, el resaltado de sintaxis mejorado y el sistema de detección de errores con sugerencias de arreglo rápido. También hemos añadido una funcionalidad de documentación rápida que muestra descripciones emergentes sobre herramientas al pasar el ratón por encima de los elementos, proporcionando información instantánea para ayudarle a utilizar los recursos de Terraform de forma más eficaz sin interrumpir su flujo de trabajo.

Herramientas para bases de datos

PRO

Nuevas funcionalidades de AI Assistant

En esta versión, introducimos nuevas funcionalidades de AI Assistant para bases de datos. Con la funcionalidad de texto a SQL, puede generar código SQL directamente en el editor haciendo clic en Generate Code with AI e introduciendo su petición. Puede aceptar, regenerar o refinar el código, y llevarlo al chat de IA si tiene más preguntas.

Además, AI Assistant puede ayudarle a modificar tablas, permitiéndole solicitar cambios como el cambio de todos los tipos de datos VARCHAR a CHAR. También puede ayudarle a entender y solucionar problemas de SQL, sugiriéndole explicaciones y soluciones. Además, puede adjuntar su esquema de base de datos al chat de AI Assistant mencionándolo en su petición.

Importación de datos personalizable mediante cargadores con secuencias de comandos

Ahora puede importar datos de archivos tabulares mediante cargadores con scripts personalizables para los formatos Excel, JSON, Parquet y shapefile. Arrastre su archivo desde la ventana de herramientas Project al esquema en el explorador de bases de datos y configure los ajustes en el cuadro de diálogo Import.

Además, puede ver estos archivos en el editor de datos con un solo clic en la ventana de herramientas Project. Para desactivar este comportamiento, vaya a Settings/Preferences | Advanced Settings | Open file as table if detected by scripted loader.

También puede crear cargadores personalizados situándolos en Scratches and Consoles | Extensions | Database Tools and SQL | data | loaders.

Mejoras adicionales

  • Puede acceder a las filas relacionadas con una celda determinada seleccionando la celda y haciendo clic en el icono Related Rows. La opción Navigate and select first muestra todas las filas, resaltando las primeras referenciadas, mientras que la opción Navigate and filter all muestra solo las filas referenciadas.
  • Hemos hecho que la finalización de valores sea automática. Tenga en cuenta que esta funcionalidad trabaja de forma totalmente local, por lo que las variantes de finalización se basan en los demás valores ya cargados en la columna actual.

Frontend

PRO

Posibilidad de ejecutar y depurar archivos TypeScript directamente

Ahora puede ejecutar y depurar archivos TypeScript sin ninguna configuración adicional. Puede ejecutarlos desde distintos puntos de entrada, como el menú contextual del archivo, el widget Run y la configuración Current File.

Mayor compatibilidad con los principales marcos de trabajo web

PyCharm 2024.2 es capaz de resolver rutas para marcos de trabajo que utilizan enrutamiento basado en sistema de archivos. Puede resolver rutas de enlace basadas en el sistema de archivos de su proyecto, proporcionando finalización automática y navegación para Next.js, Nuxt, SvelteKit y Astro. También es compatible con los nuevos fragmentos y etiquetas de renderizado de Svelte 5. Además, hemos implementado la compatibilidad con el protocolo de servidor de idiomas (LSP) para Astro y Vue Language Service v2, lo que mejora la finalización del código y la experiencia general del desarrollador.

Otras mejoras

Reenvío inverso de puertos para el desarrollo remoto

PRO

Hemos añadido el reenvío inverso de puertos para los flujos de trabajo de desarrollo remoto. Esta nueva funcionalidad permite al IDE remoto conectarse a los puertos disponibles en la máquina cliente. Es especialmente útil para el desarrollo móvil y la conexión a bases de datos locales.

JetBrains Runtime: Cambio a JBR 21

Estamos pasando de JetBrains Runtime 17 (JBR17) a JetBrains Runtime 21 (JBR21). A partir de PyCharm 2024.2, todas las actualizaciones de IDE incorporarán JBR21, que ofrece mayor seguridad y rendimiento, así como compatibilidad con renderizado Wayland para Linux.

Descargar