DataGrip 2019.1의 새로운 기능

새로운 데이터베이스 관리 시스템 지원

이번 릴리스에서는 여러 개의 새로운 데이터베이스를 지원하는 데 초점을 두었습니다.

GreenplumPostgreSQL에 기반한 분석 데이터베이스입니다. 현재 Pivotal과 오픈 소스 커뮤니티에서 개발되고 있습니다.

Vertica는 대규모 데이터를 처리하도록 설계된 열 기반 저장소입니다.

Apache Hive는 데이터 쿼리 및 분석을 제공하기 위해 Apache Hadoop를 기반으로 설계된 데이터 웨어하우스입니다.

Snowflake는 클라우드 기반 데이터 웨어하우스입니다. 2019.1 버전에서 DataGrip은 SQL 파생 언어만 지원하며, 내부 검사에 대한 지원은 향후 진행됩니다.

연결 대화상자

일반

더 사용하기 쉬운 연결 프로세스를 구현하기 위해 다음 필드들이 다시 정렬되었습니다.

Connection type(연결 유형) 필드는 예전의 URL type(URL 유형) 필드입니다. 이 필드는 이 대화상자의 전체 UI를 결정합니다. 그래서, 드라이버 선택기와 함께 이제 맨 위에 위치합니다.

Database(데이터베이스) 필드는 자격 증명 뒤에 배치됩니다. 데이터베이스 목록을 제공하기 위해 때때로 자격 증명이 필요할 때가 있기 때문입니다. 이 목록은 Ctrl+Space를 사용해 호출됩니다

비밀번호 저장은 이제 드롭다운 메뉴를 통해 구현됩니다. Never(안 함), Until restart(재시작까지), For session(세션에 대해), Forever(영구적으로)의 네 가지 옵션이 있습니다. 설명이 필요한 유일한 옵션은 For Session(세션 동안)일 것입니다. 이 옵션은 데이터 소스와의 연결이 해제될 때까지 비밀번호를 저장합니다.

또한, 이제 비어 있는 비밀번호를 UI를 통해 설정할 수 있습니다. 이 작업을 수행하려면 컨텍스트 메뉴를 사용하세요.

Test connection(연결 테스트) 결과가 이제 인라인에 표시되며 작은 전용 버튼을 사용해 클립보드로 복사할 수 있습니다. 문제 해결 페이지의 링크도 추가되었습니다.

2019.1 버전부터, 다운로드된 드라이버가 없을 경우 Test Connection(연결 테스트) 버튼이 비활성화되지 않습니다. Test Connection을 클릭하면 DataGrip이 JDBC 드라이버를 다운로드하도록 제안합니다.

옵션

Read-only(읽기 전용), Auto-Sync(자동 동기화)Transaction control(트랜잭션 제어) 설정이 General(일반) 탭에서 여기로 이동되었습니다.

새로 도입된 설정:
Run keep-alive query each N seconds(N초마다 연결 유지 쿼리 실행)는 연결을 유지하도록 도와줍니다. 지원되지 않는 데이터베이스의 경우 드라이버 설정에서 사용자 지정 쿼리를 정의할 수 있습니다.
Auto-disconnect after N seconds(N초 후 자동 연결 해제). 별도의 설명이 필요하지 않습니다.
Startup script(시작 스크립트)는 연결할 때마다 실행되는 SQL 쿼리입니다. Single connection mode(단일 연결 모드)가 선택되지 않으면, 각 콘솔은 새로운 연결을 생성함에 유의하세요.

이름 변경된 설정:
Warn if editing an outdated DDL(만료된 DDL을 편집할 경우 경고)은 이전의 Notify when the outdated object is opened(만료된 객체를 열 경우 알림)의 새로운 이름입니다.

스키마

Object filter(객체 필터)Options(옵션) 탭에서 여기로 이전되었습니다.

데이터 소스 목록

작은 개선 사항: DDL 데이터 소스가 이제 연결 대화상자에서 데이터 소스 목록에 자신의 그룹을 보유합니다.

검색 및 탐색

최근 위치

최근 방문/변경한 코드 위치를 나열하는 새로운 Recent Locations(최근 위치) 팝업이 추가되었습니다. 이 창은 위치 목록을 해당 위치 전후의 줄과 함께 코드 조각으로 표시합니다.

이 팝업은 Recent Files(최근 파일)에서 영감을 얻은 것으로, 여기에서 방문한 코드 위치별로 검색할 수 있습니다. 이 기능은 코드의 내용은 기억하는데 어디에 있는지 기억이 나지 않을 때 유용합니다. 특히 이름이 비슷한 여러 개의 쿼리 콘솔을 사용해 작업할 때 도움이 됩니다.

팝업에서 위치를 제거하려면 Delete/Backspace를 누르세요.

이 팝업의 기본 단축키는 Ctrl+Shift+E입니다.

Ctrl+Shift+E를 눌러서 Recently changed files(최근 변경된 파일)를 호출하는 데 익숙했던 사용자는 Ctrl+E를 두 번 눌러주세요.

경로에서 찾기

DataGrip은 객체의 소스 코드 안에서 검색할 수 있습니다. 이 기능은 All Places(모든 위치) 스코프를 선택한 경우에만 사용할 수 있습니다. 이 UI를 약간 정리하여 ModuleProject 탭을 제거하였습니다.

새로운 스코프 Attached Directories(연결된 디렉터리)를 사용할 수 있습니다. Files(파일) 도구 창에서 파일을 검색하고 싶으면 이 기능을 사용하세요.

이동 팝업

이제 모든 탐색 액션을 여기서 실행할 수 있습니다.

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.

이 외에도 여기에 표시되는 객체와 관련된 액션은 다양합니다.

또한, Database(데이터베이스) | General(일반)에 있는 Navigation settings(탐색 설정)도 잊지 마세요. DataGrip이 이제 가능한 사용 사례를 모두 다룰 수 있으므로, 마음껏 자신만의 워크플로를 만들어 보세요.

코드 인사이트

자동 완성 중 결합 항목

CREATEDROP 문의 자동 완성 목록에 결합 옵션이 추가되었습니다. 예를 들어, CREATE를 입력할 때 CREATE TABLE을 선택할 수 있습니다.

또 하나의 이점은 약어도 사용할 수 있다는 것입니다.

새로운 검사 기능

Usages of GOTO statements(GOTO 문 사용 위치)Named arguments should be used(이름 지정된 인수 사용) 검사는 이 보고를 받기를 원하는 개발자가 일부에 지나지 않아 기본적으로 비활성화됩니다.

Usages of GOTO statements 검사는 다음 세 개의 옵션을 제공합니다.
- Report all GOTO statements(모든 GOTO 문 보고)
- Report uses of GOTO statements to exit a loop(루프에서 빠져나오기 위한 GOTO 문의 사용 사례 보고)
- Report backward GOTO statements(역방향 GOTO 문 보고)

Named arguments should be used. 일부 개발자들은 코드의 가독성을 향상시킨다는 이유로 이 검사를 선호합니다.

또한, DataGrip은 프로시저나 함수 안에서 사용자가 사용하는 커서가 열리지 않은 경우 경고를 보냅니다.

파일 작업

이제 Settings(설정)/Preferences(환경 설정) | Appearance & Behavior(모양 및 동작) | System Settings(시스템 설정)Default Directory(기본 디렉터리) 옵션이 생겼습니다. 이 옵션은 새로운 프로젝트가 기본적으로 생성되는 위치를 정의합니다.

콘솔 파일에 대한 Save as... 액션:
1. 기본 프로젝트 디렉터리를 제공합니다.
2. 마지막으로 선택된 폴더를 유지합니다.

새로운 액션 Detach directory(디렉터리 분리)Files(파일) 도구 창의 폴더에서 사용할 수 있습니다. 컨텍스트 메뉴에서 사용하거나 단축키를 지정하세요.

컨텍스트 메뉴에서 파일을 열지 않고 서식 지정할 수 있습니다.

데이터베이스 트리 뷰

IBM DB2에 대한 데이터베이스 내부 검사 기능이 개선되었습니다. 이제 데이터베이스 트리에서 새로운 객체(트리거, 메서드, 모듈, 데이터 유형, 변수, 조건, 시퀀스, 검사 제약 조건, 역할 및 전역 임시 테이블)를 확인할 수 있습니다.

이 트리는 이제 자동으로 컨텍스트를 저장하므로, 언제든 맨 위에서 데이터 소스 이름을 확인할 수 있습니다.

또한, 아직 지원되지 않는 일부 데이터베이스에 대한 아이콘이 추가되었습니다. 이전에는 지원되지 않는 데이터베이스의 데이터 소스가 많이 있을 경우 Database(데이터베이스) 도구 창이 엉망이 될 때가 있었습니다. 이제는 조금이라도 더 좋게 보이길 바랍니다.

나머지에는 새로운 사용자 지정 아이콘을 사용할 수 있습니다. 드라이버 설정의 Options 탭에서 아이콘을 선택하세요.

기타

사용자 지정 가능한 테마

이번 릴리스에는 IDE의 외관을 완전히 사용자 지정할 수 있는 기능이 추가되어, 자신만의 테마로 전체를 디자인할 수 있게 되었습니다. 사용자가 바로 사용해 볼 수 있는 새로운 테마도 몇 가지 준비했습니다. 이 테마들은 플러그인으로 다운로드할 수 있습니다.

말 그대로 모든 요소의 색상을 변경할 수 있습니다. DevKit를 사용해 자신만의 테마 플러그인을 생성하고 JSON 파일을 통해서 IDE의 외관을 수정하세요. 다음은 유용한 정보를 얻을 수 있는 링크입니다.

사용자 지정 테마를 생성하는 방법에 대한 자세한 튜토리얼

IntelliJ 플랫폼에서 사용자 지정 테마를 생성하는 방법을 소개한 블로그 게시글

시안 테마

다크 퍼플 테마

데이터 에디터

이 필터는 이제 클립보드의 값을 사용하도록 제안하므로 약간 더 좋아졌습니다.

Definer 지원

MySQLMariaDBDEFINER 속성에 대한 지원이 추가되었습니다.

우선 SQL 생성기가 생성된 코드에 DEFINER 속성을 추가해야 하는지 여부를 선택할 수 있습니다.

그리고, 마이그레이션 중 DEFINER 속성을 무시할 수 있습니다.

버그 수정

  • 내부 검사를 위해 선택되지 않은 스키마는 이제 비교에서 사용되지 않습니다. DBE-7604
  • 외부 키를 생성할 때 스키마 한정자가 더 이상 누락되지 않습니다. DBE-4993
  • 외부 키의 참조 열이 Modify Table 대화상자에서 더 이상 생략되지 않습니다. DBE-7560
  • 도달할 수 없는 코드 검색 시 발생하는 거짓 양성 오류가 수정되었습니다. DBE-7554
  • [MySQL] 모든 연결자에 대해 빈 날짜 대신 NULL이 발생하던 문제가 마침내 수정되었습니다. DBE-69
  • [MariaDB] 내부 검사 중 발생하던 오류가 수정되었습니다. DBE-7743
  • [SQL Server] 더 이상 잘못된 COUNT() 결과는 없습니다. 드라이버 문제는 아직 수정되지 않았습니다. 그래서, 저희 측에서 변경했습니다. DBE-2114
  • [SQL Server] 테이블이 가끔 중복되었습니다. 더 이상 그렇지 않습니다. DBE-7297
  • [Oracle] Enable DBMS_OUTPUT 버튼이 돌아왔습니다. DBE-4702
  • [Oracle] 일시적인 세그먼트 문제가 해결되었습니다. DBE-7443
  • [Oracle] 패키지 및 함수의 소스 코드에 대한 내부 검사가 제대로 수행됩니다. DBE-6768