GoLand 2021.1 le permite crear y ejecutar su programa de forma remota mediante Docker, SSH y WSL 2, utilizar las nuevas funcionalidades admitidas de Go 1.16, incluido //go:embed
, generar código rápidamente desde JSON y gestionar los errores fácilmente con los nuevos arreglos rápidos.
GoLand es mucho más que un IDE de Go; además de las funcionalidades para trabajar con código de Go, obtendrá nuevas funcionalidades para JavaScript, TypeScript y bases de datos.
¿Prefiere aprender interactivamente en lugar de leer? Complete el tutorial What's New in GoLand 2021.1 dentro del IDE en la pantalla de bienvenida.
En GoLand 2021.1 puede desarrollar en su máquina, con todo el código fuente a su disposición de forma local, y ejecutándose en equipos remotos de destino. Actualmente, el IDE admite Docker, SSH y WSL 2 (Subsistema de Windows para Linux).
En la configuración, seleccione Run | Manage Targets…, haga clic en el icono Add (+) y seleccione los destinos con los que quiere trabajar. Después de completar la configuración, tiene que especificar la Run Configuration (configuración de ejecución) en Run | Edit Configurations… y seleccionar el destino con el que quiere trabajar.
A partir de Go 1.16, podrá insertar archivos y directorios en un binario de Go en el momento de la compilación.
Embedding works on a few types of variables: string
, []byte
, and embed.FS. Necesita declarar estas variables en el nivel superior de su paquete. Finalmente, necesita añadir la directiva //go:embed
para que funcione la inserción.
GoLand proporciona el resaltado de código, la navegación desde las referencias dentro de la directiva de inserción a los archivos y carpetas en su proyecto, la refactorización Rename, Find Usages, la finalización de código y algunas inspecciones de código. Por ejemplo, GoLand le notificará si intenta insertar archivos en una variable del tipo equivocado.
GoLand le advierte de las llamadas no válidas al método testing.T
Fatal
dentro de una goroutine creada durante la prueba.
El arreglo rápido dedicado reescribirá el código que llama a t.Fatal
(o un método similar) para que señale el fallo de la prueba utilizando t.Error
y salga de la goroutine pronto con una declaración de retorno.
En Go 1.16, go vet detecta las utilizaciones incorrectas de asn1.Unmarshal
, para garantizar que el valor en el que se extrae un segmento de bytes no sea nulo.
GoLand 2021.1 proporciona una comprobación similar con un arreglo rápido para resolver este problema.
Genere un struct con campos y etiquetas desde JSON en un momento simplemente copiando y pegando los datos de JSON en el editor.
Si quiere ajustar el JSON antes de generar un struct, pulse Alt+Intro para invocar la intención Generate type from JSON. GoLand abrirá la ventana Generate type from JSON con el JSON copiado. Lo puede ajustar como desee en la ventana y, a continuación, pulsar el botón Generate para que su struct esté listo. Por supuesto, también es posible pegar el JSON en la ventana de forma manual.
Además, es posible convertir el JSON dentro de un struct vacío que ya exista. Para ello, simplemente haga clic en este struct vacío y llame a la acción de intención Generate struct fields from JSON pulsando Alt+Intro o utilizando el menú Generate.
Aparte de eso, GoLand le notificará si utiliza un código JSON no válido en la ventana Generate type from JSON.
Ahora es mucho más sencillo crear etiquetas JSON y XML para todos los campos exportados en el struct.
Cuando utiliza Alt+Intro para invocar Add key to tags en el struct o en cualquier campo en el struct, GoLand añade una etiqueta a todos los campos en el struct con nombres de campo. Si quiere cambiar el estilo del nombre de campo para todas las etiquetas, pulse Alt+Intro de nuevo en cualquier tecla y seleccione Change field name style in tags. Los estilos admitidos son fieldName
, FieldName
, field-name
y field_name
.
Puede actualizar todos los valores de las etiquetas a la vez con la acción de intención Update key value in tags. Pulse Alt+Intro en cualquier valor de etiqueta en su struct y GoLand añadirá símbolos de intercalación al final de los valores de las etiquetas en cada campo.
Además, el IDE ofrece la finalización de tokens conocidos dentro de los valores de las etiquetas proporcionados por SDK para el código JSON, XML y ASN.1.
Por último, pero no menos importante, GoLand 2021.1 admite el formato JSON Lines delimitado por línea nueva que se emplea para trabajar con registros y datos estructurados. El IDE reconocerá los tipos de archivo .jsonl
, .jslines
, .ldjson
y .ndjson
.
En este formato, los archivos contienen varias líneas, y cada línea nueva es un objeto JSON separado por un carácter de línea nueva. Ya no son necesarias las comas al principio o al final de las líneas, y no hay que incluir todo el contenido del archivo entre corchetes ni entre llaves.
La inspección de código Unhandled Error ha recibido toda una serie de arreglos rápidos:
if error not nil
. defer
y go
, produce código similar a Handle error, pero lo ajusta todo en una clausura. defer
y go
. El arreglo rápido asigna los resultados de las llamadas a variables en blanco y lo ajusta todo en una clausura. Hemos ampliado la zona de la aplicación del arreglo rápido que aborda la incompatibilidad de tipo. Ahora también sugiere implementar una interfaz y convertirla al tipo esperado dentro de los literales compuestos.
El arreglo rápido Create Type le ofrece no solo crear un tipo cuando GoLand descubre que usted está utilizando uno que aún no se ha definido, sino que también creará los campos por usted.
Generar métodos get
y set
para cada campo en structs grandes puede ser una tarea tediosa. Ahora puede generar getters y setters para todo el struct a la vez.
Pulse Alt+Intro en el nombre de cualquier campo del struct y, a continuación, seleccione Generate getter and setters en el menú desplegable. GoLand abrirá la ventana Select Fields, donde podrá generar los métodos get
y set
para todos los campos o solo para los campos que necesita.
La refactorización Extract Type le permite extraer un tipo de uno existente o convertir un tipo de una estructura anónima en un tipo con nombre. Pulse Ctrl+Alt+Mayús+T para invocarla.
A veces necesita cambiar el nombre de un módulo cuando ha experimentado lo suficiente con el proyecto y ya ha hecho todo el trabajo inicial. Hemos añadido la refactorización Rename al archivo go.mod. Le permite cambiar el nombre del módulo por uno nuevo de manera segura, sin tener que buscar y reemplazar en el árbol del proyecto para cambiar el nombre antiguo del módulo.
Invoque la refactorización Rename en el nombre del módulo con Mayús+F6. GoLand abrirá la ventana Rename, donde podrá cambiar el nombre actual, elegir si quiere modificarlo en los comentarios y en las cadenas, y abrir una vista previa de la refactorización. Desde la pestaña Refactoring Preview, puede desplazarse a todas las utilizaciones de este nombre del módulo. Puede utilizar la opción de deshacer para revertir rápidamente todos los cambios implementados con la refactorización.
Escriba .varCheckError
después de un identificador que devuelve un error, y el IDE añadirá de forma automática los nombres de variable predeterminados y devolverá el error de la función.
El formateador integrado ahora puede agrupar las importaciones del mismo modo que lo hace goimports -local.
Para habilitarlo, vaya a Settings | Editor | Code Style | Go | Imports y habilite la agrupación de importaciones. A continuación, puede especificar qué importaciones deben agruparse en bloques separados.
GoLand 2021.1 le permite ejecutar una sesión sudo ampliada. En la primera ejecución, GoLand le preguntará si quiere mantener sudo en ejecución o si prefiere finalizarlo de inmediato. Si desea cambiar su respuesta, vaya a Settings | Appearance & Behavior | System Settings | Process Elevation.
Tenga en cuenta que al habilitar esta opción otorga acceso a su sistema a GoLand y a todos los complementos de terceros.
Hemos habilitado la finalización asistida por aprendizaje automático. Este cambio introduce las etapas iniciales de la finalización de código basada en el aprendizaje automático, que es una alternativa al mecanismo de clasificación estándar.
Marque Mark position changes in the completion popup en Settings | Editor | General | Code Completion para marcar las opciones reclasificadas por la finalización asistida por aprendizaje automático con los iconos de flechas arriba/abajo en la lista de finalización.
El widget Configuration, que previamente estaba disponible en la esquina inferior izquierda del IDE, se ha sustituido por un menú de acceso rápido. Este nuevo menú aparece en la esquina superior derecha. Pulse el icono de rueda dentada para cambiar temas o mapa de teclas, acceder a complementos o dirigirse a la configuración.
Ahora puede acceder a sus proyectos recientes haciendo clic con el botón derecho en el icono de GoLand en la barra de tareas o en el menú Inicio de Windows.
Las descripciones emergentes ahora se muestran una tras otra para evitar que se solapen.
Ahora puede seleccionar las variantes de fuente en el panel Settings | Editor | Font.
Hemos añadido una nueva vista previa del navegador integrada que le ayuda a previsualizar los archivos HTML rápidamente. Cualquier cambio que haga en los archivos HTML en el IDE, así como en los archivos CSS y JavaScript enlazados, se guardará de inmediato y la vista previa se actualizará sobre la marcha.
Para abrir la vista previa, haga clic en el icono del logotipo de GoLand en el widget ubicado en la esquina superior derecha del editor.
¿Necesita más espacio cuando trabaja en varios archivos al mismo tiempo en un editor dividido? Haga clic en la pestaña en la que está trabajando para maximizar su ventana del editor. Para devolver la pestaña a su tamaño original, simplemente haga doble clic en ella de nuevo.
El complemento Makefile Language (previamente de terceros), que ofrece la compatibilidad con el lenguaje GNU Make, ahora está integrado de forma predeterminada. A partir de GoLand 2021.1, obtendrá el resaltado de sintaxis, documentación rápida, Find Usages para destinos y algunas acciones de navegación y finalización de código para Makefile desde el primer momento.
Code With Me, un nuevo servicio de JetBrains para el desarrollo colaborativo y la programación en pares, ahora está incluido en GoLand.
Defina el nivel de acceso requerido para su proyecto y comparta el enlace con sus invitados. Sus compañeros ni siquiera necesitan tener su propio IDE instalado para poder colaborar con usted. Las llamadas de audio y vídeo integradas, junto con el servicio de mensajería instantánea, ayudarán a los equipos a hablar sobre el código, compartir sus conocimientos y cooperar de un modo más eficaz.
Para los negocios que necesiten seguridad adicional, Code With Me local se puede instalar y ejecutar de forma segura en la red privada de su propia empresa.
Para obtener más información sobre la disponibilidad de Code With Me con su licencia actual de JetBrains, consulte la página de precios.
Hemos mejorado el cuadro de diálogo Run/Debug Configuration de varias maneras:
Hemos añadido una compatibilidad experimental con BuildKit, que agiliza considerablemente la creación de proyectos. Puede activar esta opción en Run/Debug Configurations haciendo clic en Modify options y seleccionando Enable BuildKit (experimental).
Solo tiene que hacer clic en el icono del martillo situado junto al nombre de la etapa y el IDE creará la imagen utilizando BuildKit. Si añade la sección Run en Run/Debug Configurations, el icono cambiará. Cuando haga clic en él, no solo creará una imagen, sino que ejecutará un contenedor.
Si utiliza varias declaraciones FROM
en su Dockerfile, cada instrucción FROM
comienza una nueva etapa. En GoLand 2021.1, ahora puede plegar las etapas y ver una línea de separación entre ellas.
Si decide detener un Dockerfile en ejecución, puede hacerlo fácilmente en la ventana de herramientas Services. Seleccione el elemento en ejecución, invoque el menú contextual y haga clic en Stop Deploy.
Cuando utiliza montajes bind, ahora puede introducir una ruta a un directorio en la máquina host más rápidamente. El mecanismo de finalización le permite seleccionar macros y variables de entorno en la opción Bind mount en Run/Debug Configurations.
Por último, pero no menos importante, hemos añadido la finalización para los nombres de las imágenes.
La documentación de MDN ahora está incluida con GoLand. Esto le ayudará a evitar problemas de conectividad con el sitio web MDN y hará que la documentación integrada en el editor en sus archivos HTML, CSS y JavaScript se muestre más rápidamente. La documentación integrada en el editor también será más informativa. Por ejemplo, ahora verá información sobre las versiones compatibles del navegador para las API JavaScript.
La inspección de su código CSS con Stylelint ahora es más sencilla. Ahora puede corregir los problemas con este linter popular en solo unos clics. Pase el ratón sobre un problema en su archivo o coloque el signo de intercalación en él y pulse Alt+Intro. A continuación, seleccione Stylelint: Fix current file.
Además, ahora puede especificar una ruta al archivo de configuración debajo del campo correspondiente en Settings | Languages & Frameworks | Style Sheets | Stylelint.
When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Si lo prefiere, puede hacer clic en un selector y pulsar Ctrl+Q para ver esta información en la ventana emergente Documentation.
Hemos mejorado la clasificación de los datos:
Esta es nuestra solución para todo el que quiera generar declaraciones sencillas directamente desde el explorador de la base de datos. Las plantillas activas generales cubren muchos casos en los que necesita escribir una consulta sencilla rápidamente. Pero también comprendemos que, en ocasiones, cuando está en el contexto del explorador de la base de datos y ya está centrado en el objeto que necesita, hay un modo mejor de obtener una consulta sencilla utilizando ese objeto.
Select first N rows from a table parece una plantilla general (y se puede usar como tal). Como esta sintaxis concreta no puede utilizarse en todas las bases de datos, los dialectos correspondientes se definen para la plantilla. La principal diferencia que hace que se pueda aplicar esta plantilla en el explorador de la base de datos es la expresión especial dbObjectName
, que se utiliza para la variable $table$
.
Hemos añadido una interfaz de usuario para la edición de permisos al modificar objetos.
La ventana Modify user, que puede invocar en un usuario en el explorador de la base de datos con Ctrl+F6, ahora tiene una interfaz de usuario para añadir permisos a los objetos.
Esto está disponible para PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server y Sybase.