Novedades en DataGrip 2019.1

Nueva compatibilidad del DBMS

En este ciclo de lanzamiento, nos hemos centrado mucho en la compatibilidad con las nuevas bases de datos.

Greenplum es una base de datos analítica basada en PostgreSQL. Actualmente, la desarrolla Pivotal y la comunidad de código abierto.

Vertica es almacenamiento orientado en columnas diseñado para manipular grandes volúmenes de datos.

Apache Hive es un almacén de datos integrado en Apache Hadoop para proporcionar análisis y consultas de datos.

Snowflake es un almacén de datos en la nube. En 2019.1, DataGrip solo es compatible con el dialecto SQL; la compatibilidad de la introspección llegará más tarde.

Diálogo de conexión

General

Hemos reordenado los campos para hacer el proceso de conexión más fácil de usar.

El campo Connection type (Tipo de conexión) es lo que anteriormente era URL type (Tipo de URL). Determina la IU de este cuadro de diálogo, que es la razón por la que ahora está arriba junto con el seleccionador de controladores.

El campo Database (Base de datos) va después de las credenciales porque a veces estas son necesarias para proporcionar la lista de bases de datos. La lista debe invocarse mediante Ctrl+Espacio

Guardar contraseña ahora se ha implementado mediante un menú desplegable. Tiene cuatro opciones: Never (Nunca), Until restart (Hasta reiniciar), For session (Por sesión) y Forever (Para siempre). Seguramente For Session (Por sesión) sea la única opción que necesite explicación: guardará su contraseña hasta que se desconecte de la fuente de datos.

Además, la contraseña vacía ahora se puede establecer con la IU; utilice el menú contextual para ello.

Los resultados de la conexión de prueba ahora están integrados y se pueden copiar al portapapeles con un pequeño botón específico. También se ha añadido el enlace a la página de resolución de problemas.

A partir de 2019.1, el botón de la conexión de prueba no se deshabilitará si no hay controladores descargados. Al hacer clic en Test Connection (Conexión de prueba), DataGrip le ofrecerá descargar controladores JDBC.

Opciones

Hemos trasladado las opciones 0>Read-only (Solo lectura), Auto-Sync (Sincronización automática) y Transaction control (Control de transacciones) hasta aquí, desde la pestaña General (General).

Opciones introducidas recientemente:
Run keep-alive query each N seconds (Ejecutar la consulta keep-alive cada N segundos) le ayudará a mantener la conexión activa. Puede definir la consulta personalizada en la configuración de los controladores para bases de datos no compatibles.
Auto-disconnect after N seconds (Desconectarse automáticamente tras N segundos). No necesita más explicaciones.
Startup script (Script de arranque) es una consulta de SQL que se ejecutará cada vez que establezca una conexión. Recuerde que si Single connection mode (Modo de conexión único) está desmarcado, cada nueva consola crea una nueva conexión.

Renamed setting:
Warn if editing an outdated DDL (Advertir si se edita un DLL obsoleto) es el nuevo nombre de lo que solía ser Notify when the outdated object is opened (Notificar si el objeto obsoleto se abre).

Esquemas

Object filter (Filtro de objeto) se ha transferido hasta aquí desde la pestaña de Options (Opciones).

Lista de fuentes de datos

Una pequeña mejora: DDL data sources (Fuentes de datos DLL) ahora tienen su propio grupo en la lista de fuentes de datos dentro del cuadro de diálogo de conexión.

Búsqueda y navegación

Ubicaciones recientes

Hay una nueva ventana emergente de Recent Locations (Ubicaciones recientes) que muestra una lista con las últimas ubicaciones visitadas/con cambios de código. Las presenta como fragmentos de código con un par de líneas antes y después de la ubicación.

Esta ventana emergente está inspirada en la de Recent Files (Archivos recientes), pero aquí se puede buscar por ubicaciones visitadas con código. Esto debería ser muy práctico cuando recuerde de qué iba el código, pero no recuerde su ubicación. En especial si trabaja con varias consolas de consultas, ya que suelen tener nombres parecidos.

Pulse Suprimir/Retroceso para eliminar ubicaciones de la ventana emergente.

El acceso directo por defecto para esta ventana emergente es Ctrl+Shift+E.

Si suele utilizar Ctrl+Shift+E para llamar a Recently changed files (Archivos cambiados recientemente), utilice doble Ctrl+E para ello en su lugar.

Buscar en ruta

DataGrip puede buscar en los códigos fuente de los objetos. Esto solo estaba disponible si elegía el ámbito All Places (Todos los sitios). Hemos limpiado esta IU un poco y eliminado las pestañas Module (Módulo) y Project (Proyecto).

Hay disponible un nuevo ámbito: Attached Directories (Directorios adjuntos). Úselo si quiere buscar en los archivos desde la ventana Files (Archivos) de la herramienta.

Ventana emergente «Go to» (Ir a)

Ahora, todas las acciones de navegación funcionan desde aquí.

For instance, if you’re searching for a table, see what you can open from right here:
Table’s DDL: Ctrl+B.
Table’s data: F4 (Enter does the same for tables).
Modify Table dialog: Ctrl+F6.
Locate in… popup: Alt+F1 (Use it to see the object in the database tree view).
Quick doc popup: Ctrl+Q.
SQL generator: Ctrl+Alt+G.

Hay muchas más acciones relacionadas con los objetos que ve aquí.

No olvide la Navigation settings (Configuración de la navegación) en Database | General (Base de datos | General). Si quiere, puede crear su propio flujo, ya que seguramente DataGrip ahora cubra todos los casos de uso posibles.

Información del código

Elementos combinados en la finalización

Hemos añadido algunas opciones combinadas a la lista de finalización para las declaraciones CREATE y DROP. Por ejemplo, cuando empiece a escribir CREATE, puede seleccionar CREATE TABLE.

Otra ventaja más es que puede usar abreviaciones.

Nuevas inspecciones

Las inspecciones Usages of GOTO statements (Usos de las declaraciones Ir a) y Named arguments should be used (Deben usarse argumentos nombrados) están deshabilitadas por defecto, ya que no todos los desarrolladores quieren que se informe de este tipo de cosas.

La inspección Usages of GOTO statements (Usos de las declaraciones Ir a) tiene tres opciones:
- Informar de todas las declaraciones GOTO;
- Informar de usos de las declaraciones GOTO para salir de un bucle;
- Informar de las declaraciones GOTO anteriores;

Named arguments should be used (Deben usarse argumentos nombrados). Algunos desarrolladores lo prefieren porque hace que el código sea más legible.

DataGrip también le alertará si el cursor que utiliza no está abierto dentro de un procedimiento o una función.

Trabajo con archivos

Ahora hay una opción de Default Directory (Directorio predeterminado) en Settings/Preferences | Appearance & Behavior | System Settings (Configuración/Preferencias | Apariencia y comportamiento | Configuración del sistema). Definirá dónde se creará el nuevo proyecto de forma predeterminada.

La acción Save as… (Guardar como) para el archivo de consola:
1. Ofrece el directorio del proyecto de forma predeterminada.
2. Conserva la última carpeta seleccionada.

Una nueva acción, Detach directory (Desasociar directorio), está disponible para las carpetas en la ventana de la herramienta de Files (Archivos). Úselo desde el menú contextual o asígnele un acceso directo.

Puede formatear archivos desde el menú contextual sin abrirlos.

Vista del árbol de la base de datos

Hemos mejorado la introspección de la base de datos para IBM DB2. Ahora debería ver estos nuevos elementos en el árbol de la base de datos: desencadenador, método, módulo, tipo de datos, variable, condición, secuencia, comprobación de restricción, función y tabla global temporal.

Ahora el propio árbol guarda el contexto, de manera que siempre verá el nombre de la fuente de datos en la parte superior.

También hemos añadido iconos para algunas bases de datos que todavía no son compatibles. Antes, si tenía muchas fuentes de datos de bases de datos no compatibles, podían mezclarse todas en la ventana de herramientas de la base de datos. Esperamos que ahora se vea un poco mejor.

Puede utilizar cualquiera de los nuevos iconos personalizables para el resto. Elija el icono en la pestaña Options (Opciones) de la configuración de los controladores.

Otros

Temas personalizables

Esta versión añade la posibilidad de personalizar por completo el aspecto del IDE y a partir de ahora podrá diseñar sus propios temas desde cero. Hemos creado unos cuantos temas nuevos para que pueda empezar. Puede descargarlos como complementos.

Puede cambiar literalmente el color de todo. Cree su propio complemento de tema con el DevKit y modifique el aspecto del IDE con un archivo JSON. Aquí tiene algunos enlaces que le pueden ser de utilidad:

Tutorial detallado sobre cómo crear su propio tema personalizado.

Entrada de blog sobre la creación de temas personalizados para IntelliJ Platform.

Tema cian

Tema morado oscuro

Editor de datos

Ahora el filtro es un poco más agradable, ya que ofrece la posibilidad de utilizar los valores del portapapeles.

Compatibilidad de Definer

Hemos añadido compatibilidad para el atributo DEFINER en MySQL y MariaDB.

En primer lugar, puede decidir si SQL Generator añade un atributo DEFINER al código generado.

Después, puede ignorar los atributos DEFINER durante la migración.

Solución de errores

  • Los esquemas no seleccionados para la introspección no se han utilizado ahora para la comparación. DBE-7604
  • El calificador de esquema ya no falta al crear la clave externa. DBE-4993
  • La columna de referencia de la clave externa ya no se omite en el cuadro de diálogo Modify Table (Modificar tabla). DBE-7560
  • Se han resuelto los falsos positivos en la detección del código no alcanzable. DBE-7554
  • [MySQL] Por fin hemos solucionado el problema con NULL en lugar de la fecha vacía para todos los conectores. DBE-69
  • [MariaDB] Solucionado el error durante la introspección. DBE-7743
  • [SQL Server] Ya no hay más resultados COUNT() incorrectos. El problema con los controladores todavía no se ha resuelto, de manera que hemos hecho cambios por nuestra parte. DBE-2114
  • [SQL Server] A veces se duplicaban las tablas. Ya no. DBE-7297
  • [Oracle] El botón Enable DBMS_OUTPUT ha vuelto. DBE-4702
  • [Oracle] Solucionado el problema con los segmentos temporales en. DBE-7443
  • [Oracle] Se ha realizado la introspección del código fuente de los paquetes y las funciones correctamente. DBE-6768