DataGrip 2024.2의 새로운 기능

DataGrip 2024.2가 출시되었습니다!

2024년 두 번째 주요 업데이트인 이번 릴리스에는 다양한 향상된 기능이 포함되어 있습니다. 지금부터 새로운 기능과 개선 사항을 자세히 살펴보겠습니다.

다운로드

새로운 UI를 기본 환경으로 적용

다른 무엇보다 우선, 새로운 UI가 이제 모든 사용자에게 기본적으로 적용됩니다.

JetBrains IDE의 새로운 UI는 2년 전에 도입하여 지속적으로 개선해 왔습니다. 원활하고 점진적인 전환을 위해 사용자 피드백을 부지런히 수집하며 IDE의 모양과 느낌을 개선했고, 몇 번의 릴리스를 거치며 새로운 UI의 채택률이 높아진 것을 확인했으며, 사용자 피드백에 따라 주요 문제를 해결했습니다.

이제 새 UI가 모든 사용자가 사용할 수 있는 수준이라고 판단되므로, JetBrains IDE 2024.2 버전부터 디폴트 옵션으로 적용됩니다.

기존 UI를 계속 사용하고 싶다면 JetBrains Marketplace에서 제공되는 해당 플러그인을 설치하면 됩니다.

AI Assistant 기능

DataGrip용 AI Assistant 플러그인을 개발하고 개선하는 데 많은 노력을 기울였습니다. 이번 릴리스에서는 데이터베이스 작업을 위한 다양한 기능을 도입했습니다.

텍스트에서 SQL로 변환

에디터에서 바로 AI Assistant에게 SQL 코드를 생성하도록 요청하세요. 에디터 툴바에서 Generate Code with AI(AI로 코드 생성) 버튼을 클릭하고 프롬프트를 입력하면 됩니다. 예를 들어, "Add queries that will create a books table and populate it with three sample rows"(books 테이블을 만들고 세 개의 샘플 행으로 채우는 쿼리를 추가해 줘)라고 프롬프트를 작성할 수 있습니다.

AI Assistant가 코드를 생성해 주면, 사용자는 제안 패널 하단에 있는 해당 버튼을 클릭하여 결과를 수락하거나, 코드를 다시 생성하거나, 프롬프트를 지정할 수 있습니다. 또한 생성된 코드를 AI 채팅으로 가져가 AI Assistant에게 코드에 대해 질문을 할 수도 있습니다.

AI Assistant 채팅에서 데이터베이스 객체 및 파일 멘션

프롬프트에서 데이터베이스 스키마를 멘션하여 AI Assistant 채팅에 이를 첨부할 수 있습니다. # 뒤에 데이터베이스 스키마 이름을 붙여 프롬프트를 입력하면 됩니다. 예를 들면, "Give me the query to get all actor names from #public"(#public에서 모든 액터 이름을 가져오는 쿼리를 작성해 줘)라고 입력할 수 있습니다.

그러면 AI Assistant가 스키마를 분석하고 쿼리를 생성합니다.

이 기능은 AI 채팅에 데이터베이스 스키마를 첨부할 수 있는 방법이 없는 다른 JetBrains IDE에서 특히 중요합니다.

또한 첨부된 폴더의 파일을 멘션할 수도 있습니다. 이는 AI Assistant에 특정 스크립트를 컨텍스트로 제공하고 싶을 때 유용합니다.

인텐션 액션을 사용하여 SQL 문제를 설명하고 해결

이제 AI Assistant를 사용하여 SQL 문제를 더 효과적으로 파악하고 해결할 수 있습니다. Weak warning(약한 경고)보다 심각도가 높은 문제의 경우 AI Assistant가 설명과 함께 해결책을 제시합니다.

설명을 보려면 강조 표시된 코드를 선택하고 ⌥⏎ / Alt+Enter를 누른 다음, AI Actions(AI 액션)Explain SQL problem under caret(캐럿 위치의 SQL 문제 설명)을 차례로 선택하여 인텐션 액션을 호출하면 됩니다. 그러면 AI Assistant가 채팅에서 설명을 제공합니다.

문제를 해결하려면 AI Actions 팝업 창에서 Fix SQL problem under caret(캐럿 위치의 SQL 문제 해결)을 선택합니다. 그러면 AI Assistant가 SQL 코드를 수정된 코드로 바꿔줍니다.

이 기능을 사용하여 적절한 설명과 수정 제안을 받으려면 데이터베이스 스키마를 첨부해야 할 수도 있습니다.

테이블 수정

AI Assistant가 이제 테이블 수정에 도움을 줄 수 있습니다. Modify(수정) 대화상자에서 AI Assistant 버튼을 클릭하여 AI Assistant 대화상자를 불러옵니다. 여기서 자신에게 필요한 작업, 예를 들어 "Switch all the VARCHAR data types to CHAR"(모든 VARCHAR 데이터 타입을 CHAR로 전환해 줘)과 같은 작업을 AI Assistant에게 요청할 수 있습니다.

AI Assistant가 요청한 코드를 생성하면 대화상자의 미리보기 패널에서 해당 코드를 볼 수 있습니다.

데이터 작업

스크립트형 로더: 사용자 지정 가능한 가져오기

이제 테이블 형식 데이터 파일에서 데이터를 가져올 수 있습니다. 다음 파일 형식의 데이터를 가져올 수 있도록 스크립트형 로더를 구현했습니다.

  • Excel
  • JSON
  • Parquet
  • Shapefile

데이터를 가져오려면 Files(파일) 도구 창에서 데이터베이스 탐색기의 스키마로 파일을 끌어다 놓고 Import(가져오기) 대화상자에서 가져오기 설정을 구성합니다.

또한, DataGrip에서는 이제 데이터 에디터에 테이블 형식 데이터 파일의 내용을 표시할 수 있습니다. 파일을 열려면 Files(파일) 도구 창에서 해당 파일을 클릭하기만 하면 됩니다. 이 기능을 비활성화하려면 Settings(설정) | Advanced Settings(고급 설정)으로 이동하여 Open file as table if detected by scripted loader(스크립트형 로더에서 탐지된 경우 파일을 테이블로 열기) 설정을 찾은 다음 None(사용 안 함)을 선택합니다.

중요 사항! 로더가 스크립트형이므로 사용자 지정 로더를 직접 작성하여 사용할 수 있습니다. 사용자 지정된 스크립트형 로더를 추가하려면 Scratches and Consoles(스크래치 및 콘솔) | Extensions(확장) | Database Tools and SQL(데이터베이스 도구 및 SQL) | data(데이터) | loaders(로더)에서 해당 디렉터리에 로더를 배치하세요.

테이블 형식 데이터 파일에 사용 가능한 지리적 데이터 뷰어

Geo 뷰어를 사용하면 CSV 및 XLSX 파일뿐만 아니라, 다른 지원 형식의 파일에 저장된 지리적 데이터도 탐색할 수 있습니다.

플로팅 툴바에서 Related Rows(관련 행)로 이동

이제 테이블 셀의 플로팅 툴바를 사용하여 관련 행으로 훨씬 더 쉽게 이동할 수 있습니다. 간단히 셀을 클릭한 다음, 플로팅 팝업 툴바에서 Related Rows(관련 행) 아이콘을 클릭하면 됩니다.

플로팅 툴바에서 이 액션을 제거하려면 툴바를 열고 More(더보기)를 클릭한 다음 Customize This Toolbar(이 툴바 사용자 지정)를 선택합니다. Customize Grid Floating Toolbar(그리드 플로팅 툴바 사용자 지정) 대화상자에서 해당 액션을 선택하고 Remove(제거)를 클릭합니다. Settings(설정) | Appearance & Behavior(모양 및 동작) | Menus and Toolbars(메뉴 및 툴바)로 이동하여 Grid Floating Toolbar(그리드 플로팅 툴바)를 선택한 다음 Add(추가)를 클릭하면 액션을 복원할 수 있습니다.

또한 이 액션의 흐름도 단순화시켰습니다. 이전에는 셀의 컨텍스트 메뉴에서 액션을 선택하면 팝업 창에 해당 동작 옵션이 나타났습니다. 이제 이 동작 옵션을 Related Rows action behavior(관련 행 액션 동작) 선택자로 옮겼습니다. 이 선택자는 Settings(설정) | Advanced Settings(고급 설정)에서 찾을 수 있습니다. Navigate And Select First(탐색 및 첫 번째 행 선택) 옵션은 처음 참조된 행을 선택하고 테이블의 모든 행을 표시합니다. 반면, Navigate And Filter All(탐색 및 모두 필터링) 옵션을 선택하면 참조된 행만 표시됩니다.

플로팅 툴바를 통해 웹 링크 열기

이제 새로운 플로팅 툴바로 웹 링크를 열 수도 있습니다.

보안상의 이유로 이 기능은 기본적으로 꺼져 있습니다. Settings(설정)/Preferences(환경 설정) | Database(데이터베이스) | Data Editor and Viewer(데이터 에디터 및 뷰어)URL Click Settings(URL 클릭 설정)을 통해 이 기능을 활성화할 수 있습니다.

자동 값 완성

이제 DataGrip의 오랜 기능인 값 완성을 자동화하기로 결정했습니다. 이 기능의 성능을 테스트해 본 결과, 그 효과가 기대할 만한 것 같습니다. 이 기능은 100% 로컬로 작동하므로 완성 형태는 이미 로드된 현재 열의 다른 값을 기초로 한다는 점에 유의하세요.

열 선택

이전에는 열의 모든 값을 선택하는 유일한 방법이 Expand Selection(선택 영역 확장) 단축키(⌥↑ / Ctrl+W)를 사용하는 것뿐이었습니다. 이제 열 헤더를 클릭하여 열의 모든 값을 선택할 수 있습니다.

열의 값을 정렬하는 기능은 계속해서 사용할 수 있지만 이제 열의 값을 정렬하려면 해당 아이콘을 클릭해야 합니다.

Search Everywhere(전체 검색) 팝업

필터링

Search Everywhere(전체 검색) 팝업에서 Database(데이터베이스)탭을 개선했습니다! 이제 데이터베이스 객체 타입별로 검색 결과를 필터링할 수 있습니다. 이를 수행하는 방법에는 두 가지가 있습니다.

우선, 오른쪽 상단 모서리에 있는 필터 아이콘을 사용할 수 있습니다. 결과를 필터링할 수 있는 객체 타입의 이름에는 다음이 포함됩니다.

  • 데이터베이스 및 스키마: 데이터베이스, 외부 데이터베이스, 외부 스키마, 스키마
  • 테이블: 테이블, 뷰, 구체화된 뷰, 가상 테이블, 외부 테이블 등
  • 스크립팅: 함수, 저장된 프로시저, 집계, 패키지, 파티션 함수 등
  • 타입: 별칭 타입, 컬렉션 타입, 객체 타입, 테이블 타입

객체 타입별로 검색 결과를 필터링하는 또 다른 방법은 명령어를 사용하는 것입니다. /를 입력한 다음 객체 타입, 그리고 객체 이름을 입력합니다. 예를 들어, /tables를 입력하면 내부 검사된 데이터베이스 테이블 목록이 나오고, /tables film을 입력하면 이름에 'film'이 포함된 테이블이 검색됩니다.

미리보기

이제 Search Everywhere(전체 검색) 대화상자에 검색 중인 코드 베이스 요소를 미리 볼 수 있는 옵션이 포함됩니다. 대화상자 툴바의 Preview(미리보기) 아이콘으로 이 기능을 활성화하면, 검색 결과 아래에 미리보기 패널이 나타나 추가적인 컨텍스트를 제공하여 프로젝트 탐색이 수월해집니다.

범위 개선

이제 데이터 소스가 맨 위에 표시되도록 범위 드롭다운 목록을 변경했습니다.

또한 Text(텍스트) 탭에 새로운 Cached Database Sources(캐시 처리된 데이터베이스 소스) 범위를 추가하여 데이터베이스 함수, 뷰 등의 소스 코드 내부를 검색할 수 있도록 했습니다.

연결

스마트 새로고침

SQL ServerOracle

DataGrip은 DDL 구문이 실행될 때마다 데이터베이스 탐색기에서 스키마를 자동으로 새로 고칩니다. 이는 데이터 소스 프로퍼티에서 Auto sync(자동 동기화) 옵션이 켜져 있는 경우에 적용됩니다.

시스템 카탈로그가 매우 느린 Oracle 데이터베이스의 경우와 같이 데이터베이스에 많은 객체가 포함되어 있는 경우 이 프로세스에 상당한 시간이 걸릴 수 있습니다.

2024.2 버전부터 이 새로고침 메커니즘이 이전보다 더 효율적으로 작동합니다. 이제 DataGrip은 쿼리에 의해 잠재적으로 수정될 수 있는 객체를 분석하고 해당 객체만 새로 고칩니다.

중요 사항! DataGrip이 대부분의 경우에 수정된 객체를 성공적으로 찾아내도록 최대한 개선되고 있지만, 해당 구문이 다른 객체를 간접적으로 수정하는 경우 DataGrip이 이러한 수정 사항을 탐지하지 못할 수도 있습니다. 예를 들어, 캐스케이드 옵션이 있는 객체를 삭제하거나 프로시저나 함수에 사용된 테이블을 수정하는 경우에 그렇습니다. 이런 상황에서는 Refresh(새로고침) 액션을 호출하여 DataGrip이 데이터베이스를 완전히 새로 고치게 할 수 있습니다.

연결 시작 스크립트에 IDE 매크로 사용

이제 연결 시작 스크립트에서 내장된 매크로를 사용할 수 있습니다. 스크립트에 매크로를 추가하려면 File(파일) | Data Sources(데이터 소스)로 이동하여 데이터 소스를 선택하고 Options(옵션) 탭을 엽니다. 그런 다음 Startup script(시작 스크립트)로 이동하고 Insert Macros(매크로 삽입)를 클릭합니다.

예를 들어, 연결을 시작하는 사용자의 OS 사용자 이름이 필요한 경우, 스크립트에서 ALTER SESSION SET QUERY_TAG = '$OSUser$'라는 OSUser 매크로를 사용할 수 있습니다.

비 RSA 인증서 지원

SSL 연결에 이제 비 RSA 인증서가 지원됩니다.

Iceberg, 동적 및 하이브리드 테이블 지원

Snowflake

Iceberg, 동적 및 하이브리드 Snowflake 테이블이 이제 내부 검사되고 데이터베이스 탐색기에 표시됩니다.

다운로드