GoLand 2023.3 incorpora varias importantes novedades:
returns
y panics
de una línea, y otros elementos de código. slice
, información del código para funciones personalizadas tipo printf
y mejoras del depurador. GoLand 2023.3 también ofrece actualizaciones para las integraciones de Docker y Kubernetes, VCS y algunos retoques para el desarrollo web. ¡Sumérjase de lleno!
Las últimas actualizaciones incluyen una generación de código mejorada directamente dentro del editor, un chat de IA consciente del contexto que responde a las consultas relacionadas con el proyecto sin necesidad de copiar el código, y acciones de IA conscientes del proyecto que utilizan el contexto ampliado para ofrecer resultados más completos. Un nuevo visor diff facilita la identificación de los cambios que las acciones de la IA han realizado en su código.
Utilice AI Assistant en GoLand como función complementaria con una suscripción a JetBrains AI Service.
¡Poner nombres es difícil! Por eso, AI Assistant de GoLand le sugerirá algunas ideas de nombres para las funciones con el fin de mejorar la legibilidad.
Documentar su código es una rutina tediosa, aunque necesaria. La acción Write documentation facilita un código bien comentado en solo un par de clics.
AI Assistant puede ayudarle a crear una prueba para una función o método específico y le sugerirá que añada más casos de prueba una vez creada la clase de prueba inicial.
Este arreglo rápido le permite escribir un nombre de función que no exista y, a continuación, generar su implementación en un paquete de su elección.
La versión 2023.3 incorpora la primera parte de la muy esperada refactorización Extract Parameter. El arreglo rápido Create Parameter para referencias sin resolver le permite seleccionar una referencia sin resolver y utilizar la opción de arreglo rápido para crear un parámetro. También permite cambiar su tipo si no es lo suficientemente preciso, indicar un valor predeterminado y cambiar las llamadas con el valor predeterminado.
GoLand es ahora compatible con los Dev Containers, lo que le permite utilizar contenedores como un entorno de desarrollo completo para editar, compilar y ejecutar sus proyectos. Los Dev Containers pueden ejecutarse de forma remota a través de una conexión SSH o de forma local utilizando Docker.
GoLand 2023.3 ofrece compatibilidad con Dev Container Features, y proporciona una forma cómoda y rápida de integrar herramientas adicionales, tiempos de ejecución y bibliotecas esenciales para el desarrollo.
También hemos introducido la compatibilidad con Docker Compose dentro de los Dev Containers, lo que permite lanzar sin problemas tanto el contenedor principal con el IDE como cualquier contenedor dependiente, como los que contienen bases de datos o colas de mensajes, que resultan útiles durante el proceso de desarrollo.
returns
y panics
de una línea Los returns
y panics
de una línea ahora disponen de una opción para utilizar el nuevo estilo de plegado de código conciso, que se parecerá mucho más al código original.
La nueva sintaxis de plegado está activada de forma predeterminada.
Utilizamos un enfoque similar para las cláusulas case
: se elimina la flecha hacia arriba y solo se pliegan los dos puntos dobles.
returns
únicos Al igual que hemos hecho para los returns
y panics
de una línea, también hemos habilitado el plegado para funciones con una única declaración return
.
Para mejorar la legibilidad del código de gestión de errores, GoLand pliega automáticamente los bloques if
de gestión de errores.
En el caso de los bloques if
con código de gestión de errores, GoLand pliega también todas las declaraciones individuales, por ejemplo, con llamadas al registro.
string
Hemos desactivado el plegado de código para el formato string
para que la sintaxis relevante sea más visible. Además, el nuevo enfoque del plegado de código le permite editar bloques de código sin tener que expandirlos.
switch
para enums GoLand ahora puede ayudar a escribir declaraciones switch
para enums. Sugiere generar casos para todos los valores en la finalización del código.
iota
La inspección le ayuda a realizar un seguimiento de las expresiones switch
para las constantes iota
. La inspección le advierte de los casos no cubiertos por switch
y le ofrece dos soluciones: añadir las cláusulas que faltan o añadir una cláusula predeterminada.
Esta función le permite ver exactamente qué código se ha alcanzado en una o varias ejecuciones. También ayuda a detectar código muerto.
Anteriormente, solo funcionaba para ejecuciones de prueba; ahora, también puede ejecutar la función main
con Coverage.
slice
Las expresiones slice
pueden resultar confusas, especialmente las que tienen tres índices. GoLand le mostrará ahora sugerencias mientras compila segmentos.
printf
GoLand añade un gran número de funcionalidades útiles para funciones estándar tipo printf
: resaltado de marcadores de posición, detección de errores, plegado de código, etc. Ahora, todas estas funcionalidades están disponibles para funciones similares a printf
definidas por el usuario.
GoLand 2023.3 introduce un analizador de flujo de datos refinado basado en el motor utilizado en CLion. Esta funcionalidad detecta en mayor medida problemas de código como una posible desreferencia nil
, una gestión de errores incorrecta o inexistente y condiciones siempre true/false
.
Tenga en cuenta que esta función se encuentra actualmente en fase de acceso anticipado y está desactivada de forma predeterminada. ¡Puede activarla en Settings | Editor | Inspections | Go | Data Flow Analysis (experimental) y enviarnos sus comentarios!
asdf es una herramienta de CLI que le permite gestionar las versiones de tiempo de ejecución de varios lenguajes. En respuesta a los comentarios de la comunidad, hemos decidido incluir la compatibilidad con asdf en esta nueva versión. Con esta versión, GoLand comprobará la versión de Go en el archivo .tool-versions
y utilizará la versión de Go adecuada para el proyecto seleccionado.
Go 1.21 y sus versiones posteriores permiten evitar errores de compilación de código que requiere una versión todavía más actual de Go. Específicamente, la línea go
en go.mod
ahora especifica una versión mínima requerida de la cadena de herramientas Go, mientras que en versiones anteriores, era una sugerencia casi sin aplicación.
Ahora, GoLand es totalmente compatible con este flujo y descarga automáticamente la versión del SDK especificada en un archivo go.mod
mediante la línea go
o toolchain
. La versión especificada también se establece de forma automática en los ajustes de Go project.
GoLand 2023.3 ha migrado a la moderna API de IntelliJ Platform, por lo que no ejecuta go list -m
por segunda vez si el proyecto contiene directorios de proveedores. Una utilización más eficaz de las cachés mejora el rendimiento de los proyectos que contienen muchos módulos Go.
Una nueva opción de inserción Run to Cursor que ofrece una forma rápida de navegar hasta una línea específica de código mientras se depura. Una vez suspendido su programa, puede pasar el ratón por encima de la línea de código en la que desee continuar la ejecución. A continuación, puede utilizar la ventana emergente Run to Cursor para ejecutar su código hasta llegar a la línea en la que se encuentra el cursor.
Para ampliar la integración con GitLab, hemos añadido la compatibilidad con los fragmentos de GitLab. Ahora puede crear fragmentos públicos o privados directamente dentro del IDE.
Ya puede añadir fácilmente contextos kubeconfig
desde clústeres ubicados en directorios fuera del sistema requerido. El proyecto incluirá enlaces a los archivos kubeconfig
, para que estos clústeres estén disponibles mientras usted trabaja en su proyecto. El contenido de kubeconfig
añadido de esta forma no se copiará ni modificará en el sistema (~/.kube/config)
. Esta funcionalidad resulta especialmente útil cuando se añaden y eliminan con frecuencia clústeres Kubernetes de entornos en la nube o locales. Más información.
Cuando empiece a utilizar el complemento de Kubernetes, es posible que necesite instalar kubectl o Helm. Si aún no los tiene en su máquina, el IDE le ofrecerá instalarlos automáticamente.
Telepresence le permite depurar los microservicios de una aplicación Kubernetes localmente, como si su estación de trabajo formara parte del clúster. En esta versión, hemos hecho más accesible el flujo de trabajo de Telepresence trasladándolo al menú contextual del clúster. También hemos racionalizado la gestión de la interceptación para una experiencia de depuración más fluida.
import
en Terraform GoLand admite bloques import
de nivel superior de la versión 1.5 del lenguaje de configuración Terraform. Los bloques import
le permiten poner la infraestructura actual bajo la gestión de Terraform. Cuando se utiliza import
dentro de un bloque de código, pasa a formar parte del ciclo estándar de planificación y aplicación, y deja de ser una operación de estado. Terraform realiza la generación automática de código para los recursos importados, lo que le ahorra tiempo a la hora de desarrollar la infraestructura como código.
GoLand 2023.3 resuelve algunas de las incoherencias encontradas al añadir declaraciones import type
. Hemos añadido la opción de configurar el uso de la declaración de tipo de importación de TypeScript o el especificador de tipo al importar un tipo. También hemos mejorado el comportamiento del campo exports
de package.json para los archivos TypeScript.
Hemos mejorado la vista Structure para una mejor navegación dentro de archivos .http
de gran tamaño. Esta actualización también presenta etiquetas codificadas por colores para los tipos de solicitud y proporciona un listado más claro de su contenido. Además, hemos añadido la compatibilidad con la declaración de variables utilizando @
y la autenticación con contraseña OAuth 2.0 y los tipos de concesión de credenciales de cliente.
GoLand detectará automáticamente sus pruebas de Cypress y Playwright y le permitirá ejecutarlas y depurarlas con un solo clic del ratón. La compatibilidad también incluye la posibilidad de explorar los resultados y detectar problemas navegando por el Test Tree.
Se trata de una forma renovada de revisar los cambios en el código. Ahora, en lugar de recorrer cada archivo uno por uno, puede ver todos los archivos modificados a partir de un conjunto de cambios en un único marco por el que puede desplazarse. Más información.