PyCharm 2024.2의 새로운 기능

개선된 Jupyter Notebook 인터페이스에서 직접 AI Assistant를 사용하여 데이터를 분석하고 Hugging Face 모델을 활용하여 더욱 효율적으로 작업하세요

다운로드

AI Assistant

JetBrains AI Assistant 2024.2에서는 클라우드 코드 완성 기능이 크게 향상되어 더욱 정확하고 빠른 제안이 제공됩니다. 제안된 코드의 구문 강조 표시 및 코드 제안의 점진적 수락과 같은 개선을 통해 AI 코드 완성 기능을 IDE 워크플로에 더 효과적으로 통합하는 방향으로 UX가 개편되었습니다. AI 채팅도 최신 GPT-4o 모델, 채팅 참조 및 의미 검색이 지원되어 더 스마트해졌습니다.

새로운 기능에는 효율적인 명령어 생성과 AI 지원 VCS 충돌 해결을 위한 Terminal(터미널) 도구 창 내 AI 통합이 포함되어 있습니다. 또한, 문서 및 유닛 테스트 생성에 사용되는 프롬프트를 사용자 지정할 수 있어 특정 코딩 표준 및 언어에 맞출 수 있습니다.

블로그 글에서 이러한 기능과 기타 개선 사항에 대해 알아보세요.

Jupyter Notebook 내의 AI 셀

AI Assistant가 PyCharm에서 Jupyter Notebook과 더 긴밀하게 통합됩니다. 이제 Notebook 내에서 프롬프트를 추가하여 거기에서 바로 AI Assistant로 작업을 처리할 수 있습니다. 셀의 위 혹은 아래에 표시되는 AI 셀 옵션을 선택하면 프롬프트에 맞는 필드를 가진 셀이 표시됩니다.

데이터 분석을 수행하다가 막혀서 데이터 분석가가 해당 단계에서 일반적으로 수행하는 절차가 무엇인지 알고 싶은 경우 AI 셀의 오른쪽에 있는 전구를 클릭하세요. AI Assistant가 Notebook의 현재 컨텍스트를 기반으로 가장 관련성이 높은 제안을 제시해 주므로 사용자가 데이터를 더 빠르고 효율적으로 정리할 수 있습니다.

특정 셀의 코드를 반복 처리할 때 AI Assistant의 도움을 받고 싶은 경우, 컨텍스트 메뉴에서 AI Edit Cell(AI 셀 편집) 옵션을 사용하세요. 이렇게 하면 선택된 셀에서 프롬프트 필드가 바로 열립니다. AI Assistant가 제시하는 변경 사항이 diff 뷰에서 표시되어 코드가 어떻게 변경될지 확인할 수 있습니다.

한 번 클릭으로 데이터프레임 시각화

이제 컨텍스트에 가장 적합한 그래프와 플롯을 제안할 수 있는 AI Assistant를 사용하여 데이터프레임을 시각화하세요.

데이터프레임의 우측 상단 모서리에 있는 AI 아이콘을 누른 다음 Suggest Visualization(시각화 제안)을 선택하세요. 그러면 제안을 받을 수 있는 AI 채팅 창이 PyCharm에서 열립니다. 가장 마음에 드는 제안을 선택하면, AI Assistant가 Notebook 내에 적절한 코드 스니펫이 포함된 새로운 셀을 생성합니다. 셀을 실행하면, 짜잔! 그래프가 Notebook에 표시됩니다.

Databricks 통합

PRO

PyCharm이 이제 Databricks와 직접 통합됩니다. IDE에서 편리하게 Databricks 클러스터와 연결하고, 스크립트와 Notebook을 워크플로로서 실행하고, 클러스터상의 Spark 셸에서 바로 파일을 실행하고 진행 상황을 모니터링할 수 있습니다.

PyCharm이 디스크에서 Databricks 구성 파일을 탐지하고 이를 사용하여 Databricks 클러스터와 연결합니다. Databricks에서 코드는 Run on Cluster(클러스터에서 실행) 혹은 Run as a Workflow(워크플로로서 실행)라는 두 가지 모드로 실행할 수 있습니다.

Databricks 통합을 이용하려면 이 전용 플러그인을 설치해야 합니다.

Hugging Face 통합

PRO

모델 제안

PyCharm이 사용자의 요구 사항에 가장 부합하고 관련성 있는 Hugging Face 모델을 제안합니다. 따라서 IDE를 나가지 않고도 어떤 모델을 사용할지 선택하고 설치할 수 있습니다. 에디터 탭을 마우스 오른쪽 버튼으로 클릭하여 컨텍스트 메뉴를 호출하고, Insert HF Model(HF 모델 삽입)을 선택한 다음, 모델로 하려는 작업을 찾으세요. 그러면 PyCharm이 제안 목록을 제공합니다! 모델을 선택하면 PyCharm이 삽입할 코드 스니펫을 제안해 주기 때문에 열린 파일에서 모델을 바로 사용할 수 있으며, 모델에 필요한 패키지가 누락되어 있으면 자동으로 다운로드되고 설치됩니다.

Hugging Face 데이터세트 라이브러리용 대화형 데이터프레임

이제 Hugging Face Datasets 라이브러리 데이터를 대화형 데이터프레임으로서 검사할 수 있습니다. 이를 통해 pandas, Polars, PyTorch 및 TensorFlow 데이터프레임에서 이미 사용 중인 차트 뷰, 페이지 지정, 테이블 정렬 및 내보내기 등의 기능을 활용할 수 있습니다.

사용되지 않는 모델을 찾고 삭제

새로운 Hugging Face 전용 도구 창에서 시스템에 저장된 Hugging Face 모델을 모니터링하고 관리할 수 있습니다. 이를 통해 사용되지 않는 모델을 찾고 삭제하여 디스크 공간을 확보할 수 있을 뿐만 아니라 손쉽게 모델의 경로를 복사하거나 모델이 저장된 폴더를 열 수 있습니다.

Jupyter Notebook

PRO

인라인 변수 미리보기

이제 단순히 변숫값을 확인하고 싶을 때 디버거를 시작하거나 print 문을 사용할 필요가 없습니다. 커서를 변수가 있는 줄에 두기만 하면 선택한 변숫값의 미리보기가 즉시 표시됩니다.

Jupyter Notebook UX

간소화된 셀 실행

이제 Run(실행) 버튼이 각 셀의 옆에 배치되어 상단의 메뉴로 이동할 필요가 없어졌습니다. 또한, Go To(다음으로 이동) 버튼을 사용하여 최근에 실행된 셀로 이동할 수 있습니다.

그리고 셀이 성공적으로 실행되었는지, 실행 중 오류가 발생했거나 실행이 취소되었는지를 보여주는 상태가 각 셀에 표시됩니다. Notebook의 메인 툴바에 있는 Go To 버튼을 마우스로 가리키면 실행 상태를 확인할 수 있습니다. 셀의 실행이 끝나면 Notebook이 닫혔더라도 PyCharm이 알림을 표시합니다.

태그

각 셀에 할당된 태그를 이제 에디터에서 볼 수 있습니다. 컨텍스트 메뉴를 통해 새로운 태그를 추가할 수 있습니다.

접거나 펼칠 수 있는 코드 및 Markdown 셀

코드 및 Markdown 셀을 펼치거나 접어 Notebook의 작업 공간을 최대한 활용할 수 있습니다. 포커스가 놓인 셀은 파란색 선으로 강조 표시되며, 이 선을 클릭하면 셀의 콘텐츠 및 출력이 접히거나 펼쳐집니다. 포커스 밖의 셀도 접힙니다. 접힌 셀을 마우스로 가리키면 클릭할 수 있는 회색 선이 표시됩니다.

Endpoints(엔드포인트) 도구 창: Django REST Framework 뷰세트에서 @action 지원

PRO

Endpoints(엔드포인트) 도구 창이 뷰세트의 @action 데코레이터를 통해 지정된 경로를 인식합니다. 이 창에서 methods 매개변수에 지정된 경로와 HTTP 메서드가 표시됩니다. 또한, PyCharm이 뷰세트에 할당된 초기 경로에 더해서 detailurl_path 매개변수를 기반으로 경로를 생성합니다. HTTP 클라이언트는 경로별로 관련성이 있는 메서드를 포함한 요청을 제안합니다.

사용자 경험

Search Everywhere(전체 검색)의 미리보기 옵션

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

전체 줄 코드 완성 기능 개선

PRO

버전 2024.2에서는 전체 줄 코드 완성 제안을 수락하는 프로세스를 더욱 직관적이고 정확하게 만들었습니다. 인라인 코드 완성 제안에 이제 코드 강조 표시가 포함되며, 새로운 단축키를 사용하면 긴 제안에서 개별 단어나 전체 줄을 수락할 수 있습니다. 또한 수락된 변경 사항이 코드에 통합되는 방식을 개선하여 서식 지정 및 관련 문제를 없앴습니다.

기타 개선 사항

  • 새로운 UI가 모든 사용자에게 기본 환경으로 적용됩니다. PyCharm 2024.2에서는 이제 새 UI가 모든 사용자의 기본 환경으로 적용되며 기존 UI는 플러그인으로 사용할 수 있습니다. 새로운 UI에 대해 자세히 알아보기
  • PyCharm이 이제 시스템에 구성된 시스템 프록시 설정을 자동으로 탐지하여 디폴트 값으로 사용합니다.

코드 에디터

Markdown 파일의 수학 구문 지원

PyCharm에서 이제 Markdown 파일의 수식을 기본적으로 렌더링할 수 있습니다. Markdown으로 작업할 때 $을 사용하여 인라인 수학 표현식을 삽입하고 $$를 사용하여 수학 콘텐츠가 포함된 코드 블록을 삽입할 수 있습니다.

언어 인식 고정된 줄

이제 고정된 줄 표시에 사용할 언어를 선택할 수 있습니다. Settings(설정)/Preferences(환경 설정) | Editor(에디터) | General(일반) | Sticky Lines(고정된 줄)에서, 또는 에디터의 고정된 줄을 마우스 오른쪽 버튼으로 클릭하여 나타나는 컨텍스트 메뉴에서 원하는 대로 기능을 조정할 수 있습니다.

실행/디버그

JSON, XML 및 기타 형식을 위한 문자열 변수 비주얼라이저

이제 복잡한 데이터 형식의 긴 문자열 변수를 디버그하고 찾아보기가 훨씬 쉬워졌습니다. 업데이트된 디버거는 문자열을 JSON, XML, HTML, JWT 및 URL로 인코딩하여 문자열 변수를 적절히 서식 지정된 형태로 시각화합니다. 변수 옆의 View(보기) 하이퍼링크를 클릭하여 버그의 근본 원인을 빠르게 식별하세요. 변수의 내용에 따라 적절한 비주얼라이저가 자동으로 선택됩니다.

현재 피처 브랜치의 변경 사항에 대한 테스트 커버리지 확인

PyCharm 2024.2에서는 CI/CD 파이프라인을 사용하는 느린 과정을 거치지 않고도 로컬에서 테스트 커버리지를 신속하게 확인하고 개선하는 기능이 더욱 향상되었습니다. 이제 Coverage(커버리지) 도구 창에는 현재 피처 브랜치에서 변경된 클래스만 표시되므로 전체 프로젝트 상태를 탐색하지 않고도 최근 변경 사항에 대한 테스트 커버리지를 확인할 수 있습니다. 전체 프로젝트의 테스트 커버리지를 검토하고 모든 클래스를 보려면 Show Only Modified Classes(수정된 클래스만 표시) 옵션을 비활성화하세요.

버전 관리 시스템

Version Control(버전 관리) 위젯의 태그

Version Control(버전 관리) 위젯에 태그 전용 노드를 제공하여 태그를 더 쉽게 확인할 수 있도록 했습니다. 노드는 기본적으로 표시되지만 숨기려면 톱니바퀴 아이콘을 클릭하고 Show Tags(태그 표시) 옵션을 선택 해제하면 됩니다.

기타 개선 사항

  • Git 도구 창의 Graph Options(그래프 옵션) 아이콘에 새로운 두 가지 옵션이 추가됩니다(--first-parent--no-merges). 병합에서 개별 커밋을 숨겨 주요 변경 사항에만 집중하려면 First Parent(첫 번째 상위 항목) 옵션을 사용하세요. 또는 No Merges(병합 없음) 옵션을 사용하여 병합 커밋을 완전히 제외시킬 수 있습니다.
  • 이제 Local History(로컬 기록) 액션을 여러 파일이나 디렉터리에 동시에 사용할 수 있도록 하여 복잡한 프로젝트에서 변경 사항을 검토하기가 보다 수월해졌습니다. Project(프로젝트) 도구 창에서 여러 파일이나 폴더를 선택하고 Local History(로컬 기록) | Show History(기록 보기)를 선택하면 선택 사항에 대한 변경 기록이 포함된 팝업이 나타납니다.
  • 이제 에디터에서 Git 로그를 탭으로 열 수 있어 작업 공간이 더 넓어지고 커밋 목록과 관련 세부 정보를 탐색하기가 쉬워졌습니다. 이 액션은 Log(로그) 도구 창 툴바의 드롭다운 메뉴를 통해서도 사용할 수 있습니다.
  • Git 도구 창의 Log(로그) 탭에서 커밋 그래프의 색상 인코딩과 브랜치 라인 레이아웃을 개선했습니다. 이제 중요한 브랜치 라인이 그래프 왼쪽에 그대로 있으면서 지정된 색상을 유지하므로 식별하고 추적하기가 더 쉽습니다.

프레임워크 및 기술

PRO

HTTP 클라이언트용 실행 엔진으로 GraalJS 사용

HTTP 클라이언트에서 사용되는 JavaScript 실행 엔진을 GraalJS로 업그레이드했습니다. 이를 통해 PyCharm의 HTTP 클라이언트로 엔드포인트를 테스트하고 .http 파일에서 JavaScript를 사용하여 결과를 처리할 때 ECMAScript 2023 사양에 대한 전체 지원을 포함한 모든 GraalJS 기능을 사용할 수 있습니다.

HTTP 클라이언트 개선 사항

HTTP 클라이언트에 중요한 업데이트를 도입했습니다. 새로운 XPath 함수를 사용하면 XML 및 HTML 문서에서 직접 요소를 쿼리할 수 있습니다. 또한, XML 및 HTML 문서를 조작하기 위한 수많은 메서드를 추가하여 XML을 수동으로 구문 분석할 필요성을 없앴습니다.

HTTP 클라이언트는 이제 변수 컬렉션을 반복하는 기능도 지원하므로 JSONPath 컬렉션으로 단일 HTTP 요청을 구성하고 컬렉션의 각 요소에 대한 요청을 자동으로 보낼 수 있습니다. 또한 JSONPath 구문을 사용하여 후처리 스크립트에서 특정 컬렉션 항목에 액세스할 수 있습니다.

추가적으로 특정 메서드를 제공하는 API로 작업할 때 사용자 지정 메서드를 생성하는 기능이 구현되었습니다. 이제 사용자 지정 메서드를 즉시 추가하거나 Settings(설정) | Tools(도구) | HTTP Client(HTTP 클라이언트)에서 쉼표로 구분된 목록으로 메서드를 입력할 수 있습니다.

Terraform 지원 개선

Terraform에 대한 PyCharm의 코딩 지원을 크게 확장하여 전체 줄 코드 완성을 사용할 수 있게 했습니다. 또한, Terraform에서는 컨텍스트 인식 코드 완성, 개선된 구문 강조 표시, 빠른 수정 제안이 포함된 오류 탐지 시스템과 같은 필수적인 코드 분석 기능도 개선되었습니다. 이와 함께, 요소 위로 마우스를 가져가면 툴팁을 표시하는 빠른 문서 기능도 추가했습니다. 이를 통해 워크플로를 중단시키지 않고 Terraform 리소스를 보다 효과적으로 사용할 수 있도록 즉각적인 정보를 제공합니다.

데이터베이스 도구

PRO

새로운 AI Assistant 기능

이번 릴리스에서는 데이터베이스에 새로운 AI Assistant 기능을 도입했습니다. 텍스트-SQL 변환 기능을 사용하면 Generate Code with AI(AI로 코드 생성)를 클릭하고 프롬프트를 입력하여 에디터에서 직접 SQL 코드를 생성할 수 있습니다. 코드를 수락, 재생성 또는 개선할 수 있으며, 더 질문하고 싶으면 AI 채팅으로 가져갈 수 있습니다.

또한 AI Assistant에게 모든 VARCHAR 데이터 타입을 CHAR로 전환하는 등의 변경을 요청하여 테이블 수정에 도움을 얻을 수 있습니다. 또한 설명과 수정을 제안 받아 SQL 문제를 이해하고 해결할 수도 있습니다. 또한, 프롬프트에서 데이터베이스 스키마를 멘션하여 AI 채팅에 첨부할 수 있습니다.

스크립트형 로더를 통해 사용자 지정 가능한 데이터 가져오기

이제 Excel, JSON, Parquet 및 Shapefile 형식에 대해 사용자 지정 가능한 스크립트형 로더를 사용하여 테이블 형식 파일에서 데이터를 가져올 수 있습니다. Project(프로젝트) 도구 창에서 데이터베이스 탐색기의 스키마로 파일을 드래그하고 Import(가져오기) 대화상자에서 설정을 구성합니다.

또한 Project(프로젝트) 도구 창에서 한 번의 클릭으로 데이터 에디터에서 이러한 파일을 볼 수 있습니다. 이 동작을 비활성화하려면 Settings(설정)/Preferences(환경 설정) | Advanced Settings(고급 설정) | Open file as table if detected by scripted loader(스크립트형 로더에서 탐지된 경우 파일을 테이블로 열기)로 이동하세요.

Scratches and Consoles(스크래치 및 콘솔) | Extensions(확장) | Database Tools and SQL(데이터베이스 도구 및 SQL) | data(데이터) | loaders(로더)에 배치하여 사용자 지정 로더를 만들 수도 있습니다.

기타 개선 사항

  • 이제 셀을 선택한 다음 Related Rows(관련 행) 아이콘을 클릭하여 특정 셀과 관련된 행에 액세스할 수 있습니다. Navigate And Select First(탐색 및 첫 번째 행 선택) 옵션은 모든 행을 표시하고 참조된 첫 번째 행을 강조 표시하는 반면, Navigate and filter all(탐색 및 모두 필터링) 옵션은 참조된 행만 표시합니다.
  • 자동 값 완성이 구현되었습니다. 이 기능은 전적으로 로컬에서 작동하므로 현재 열에 이미 로드된 다른 값에 따라 완성 형태가 결정된다는 점에 유의하세요.

프런트엔드

PRO

TypeScript 파일을 바로 실행 및 디버그

이제 추가 설정 없이 TypeScript 파일을 실행하고 디버그할 수 있습니다. 파일 컨텍스트 메뉴, Run(실행) 위젯, Current File(현재 파일) 구성 등 다양한 진입점에서 이를 실행할 수 있습니다.

주요 웹 프레임워크에 대한 지원 개선

PyCharm 2024.2는 파일 시스템 기반 라우팅을 사용하는 프레임워크의 경로를 확인할 수 있습니다. 프로젝트의 파일 시스템을 기반으로 링크 경로를 확인할 수 있으며 Next.js, Nuxt, SvelteKit 및 Astro에 대한 자동 완성 및 탐색 기능을 제공합니다. 새로운 Svelte 5 스니펫 및 렌더링 태그에 대한 지원도 제공됩니다. 또한 Astro 및 Vue Language Service v2에 대한 언어 서버 프로토콜(LSP) 지원을 구현하여 코드 완성 및 전반적인 개발자 경험을 향상했습니다.

기타 개선 사항

원격 개발을 위한 역방향 포트 포워딩

PRO

원격 개발 워크플로를 위해 역방향 포트 포워딩 기능을 추가했습니다. 이 새로운 기능을 사용하면 원격 IDE가 클라이언트 시스템에서 사용 가능한 포트에 연결할 수 있습니다. 특히 모바일 개발과 로컬 데이터베이스 연결에 유용합니다.

JetBrains Runtime: JBR 21로 전환

현재, JetBrains Runtime 17(JBR17)에서 JetBrains Runtime 21(JBR21)로 전환하는 중에 있습니다.PyCharm 2024.2부터 모든 IDE 업데이트에 JBR21이 함께 제공되어 향상된 보안 및 성능은 물론 Linux용 Wayland 렌더링 지원도 제공합니다.

다운로드